사용자 도구

사이트 도구

English

mdisplay:uif-8_프로토콜:index

UTF-8 프로토콜

UTF-8 프로토콜의 모든 명령어는 다음과 같은 포맷을 갖추고 있습니다.

<\n><본체><\r>

\n = 16 진수 0A
\r = 16 진수 0D

사용예)

\nDrawLine 0 0 100 100\r

명령어는 대소문자 구분을 하지않습니다. 인수(Arguments)는 다음과 같은 type이 사용됩니다.

Argument Type Format 설명
Real Number 실수 (3.4E +/- 38 ) 32-bit 실수 예) 10.3 10 0 320.5
UInt8 10 진수 (0 ~ 255) 8-bit 부호없는 정수
Int16 10 진수 (-32,768 ~ 32,767) 16-bit 부호있는 정수
UInt16 10 진수 (0 ~ 65,535) 16-bit 부호없는 정수
UInt32 10 진수 (0 ~ 4,294,967,295) 32-bit 부호없는 정수
Color 16 진수 (AARRGGBB).예: 불투명 빨강 = 00FF000032 비트 부호없는 정수
Alpha(AA, 00 = 불투명, FF = 투명), Red(RR), Green(GG), Blue(BB)
Text UTF-8 UTF-8 코드로된 문자열

COLOR 는 24 비트로 표현하지만, 내부적으로는 16 비트 (5,6,5 비트)로 처리됩니다.


응답 멧세지

M DISPLAY는 모든 명령어에 대해 Status code를 포함한 응답 멧세지를 보내줍니다.

Status Code (Hex) 설명
0000 Success
0001 Unknown command
0002 Wrong number of command arguments
0003 Invalid command argument
0004 Error reading from a file
0005 Memory allocation error
0006 Serial communication error
0007 Checksum error
FFFF Unspecified error

다음과 같은 포맷을 응답멧세지를 보내줍니다.

성공시 Ack 라는 문자를 포함하고 있습니다.

\nAck 0000\r

비정상적인 실행인 경우에는 Nak 라는 문자를 포함하고 있습니다. 알 수없는 코멘드 일 때 다음과 같이 응답합니다.

\nNak 0001\r

텍스트 작성 방법

UTF-8 프로토콜에서 텍스트 작성 방법은 다음과 같습니다.

다음 명령을 실행하면 결과가 다음과 같이 표시됩니다.

FillText 100 100 Hello World

문자열이 공백을 포함하고 있다면 쌍따옴표로 감싸주어야 합니다.

FillText 100 100 "Hello World"

문자열중에 쌍따옴표를 표시하고 싶다면 다음과 같이 하십시오.

FillText 100 100 "Double Quotes (\") must be escaped"

문자열중에 역슬레쉬를 표시하고 싶다면 다음과 같이 하십시오.

FillText 100 100 "Backslashes (\\) must also be escaped"


UTF-8 모드 체크섬 사용시

체크섬 On 모드에서는 다음과 같은 방법으로 모든 명령문 끝에 체크섬을 추가해서 보내주어야 합니다.

명령문안에 모든 문자의 UTF-8 (ASCII)코드값을 서로 더한뒤 맨뒤에 그 값을 적어줍니다.

(D + r + a + w+ L + I + n + e + space + 0 + space + 0 + space + 1 + 0 + 0 + space + 1 + 0 + 0 + space ) 모두 더한결과 = 16 진수 0538

DrawLine 0 0 100 100 0538

응답 멧세지도 체크섬을 포함하고 있습니다.

(A + c + k + space + 0 + 0 + 0 + 0 + space ) 모두 더한결과 = 16 진수 020F

Ack 0000 020F

M Display 시리얼 칼라 그래픽 디스플레이

mdisplay/uif-8_프로토콜/index.txt · 마지막으로 수정됨: 2023/06/21 04:04 저자 Comfile Technology