사용자 도구

사이트 도구

English

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

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
마지막 판 양쪽 다음 판
mdisplay:uif-8_프로토콜:index [2016/04/17 02:14]
Comfile Technology [텍스트 작성 방법]
mdisplay:uif-8_프로토콜:index [2016/04/17 03:47]
Comfile Technology
줄 1: 줄 1:
 +====== 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).예:​ 불투명 빨강 = 00FF0000|32 비트 부호없는 정수 \\ 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
 +
 +{{ :​mdisplay:​uif-8_프로토콜:​text1.png?​nolink |}}
 +
 +문자열이 공백을 포함하고 있다면 쌍따옴표로 감싸주어야 합니다.
 +
 +FillText 100 100 "Hello World"
 +
 +{{ :​mdisplay:​uif-8_프로토콜:​text2.png?​nolink |}}
 +
 +문자열중에 쌍따옴표를 표시하고 싶다면 다음과 같이 하십시오.
 +
 +FillText 100 100 "​Double Quotes (\") must be escaped"​
 +
 +{{ :​mdisplay:​uif-8_프로토콜:​text3.png?​nolink |}}
 +
 +문자열중에 역슬레쉬를 표시하고 싶다면 다음과 같이 하십시오.
 +
 +FillText 100 100 "​Backslashes (\\) must also be escaped"​
 +
 +{{ :​mdisplay:​uif-8_프로토콜:​text4.png?​nolink |}}
 +
 +
 +
 +----
 +
 +===== 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 |
mdisplay/uif-8_프로토콜/index.txt · 마지막으로 수정됨: 2023/06/21 04:04 저자 Comfile Technology