이 문장이 어떤걸 의미하는지 모르겠습니다. (영어입니다)
If in the NoAddress state, the secondary station masks the min(PL,2) left-most octets of its own unique ID with the min(PL,2) left-most octets of the bit mask in the XID command and compares the result with the min(PL,2) left-most octets the unique ID supplied in the XID command.
If they match, the secondary device masks the max(0,PL-2) rightmost octets of its own unique ID with the max(0,PL-2) right-most octets of the bit mask in the XID command and compares the result with the max(0,PL-2) right-most octets of the unique ID supplied in the XID command.
If they also match, the secondary station transmits an XID response message with its own identification data in the fields PI=1 (complete unique ID), PI=4 (device type) and PI=6 (vendor code).
AISG2.0 통신 관련 프로토콜을 만들고 있는데
저 위 3문장만큼은 도저희 머리로 해석도 안되고 무슨말을 하는건지 모르겠습니다.
ㅠㅠ 혹시 영어 잘하시는분 직역이라도 부탁드립니다!
If in the NoAddress state,
If in the NoAddress state, the secondary station masks
만약 (그것이) NoAddress 상태라면, the secondary station은 (다음의 octets을) 마스크합니다.
주: 여기서 octet은 8bit를 의미합니다.
the min(PL,2) left-most octets of its own unique ID with the min(PL,2) left-most octets of the bit mask in the XID command
(그 NoAddress state에 있는것)의 unique ID의 왼쪽부터 8 * min(PL, 2)만큼의 비트들을, 왼쪽부터 8 * min(PL, 2)만큼의 XID command로 비트 마스크를 합니다.
주: 예를들어, 주어진 데이터가 다음과 같을때,
uniqueID: 00001010 11110000 ....
XID command: 10101000 00000000 ....
PL: 1
min(PL, 2)는 1이 될것입니다.
따라서, uniqueID의 좌측에서부터 1개의 octet(8 bit)을 XID command의 좌측에서부터의 1개의 octet(8bit)으로 비트 마스킹을 하면 됩니다.
여기서, 어떤 bit mask operator를 사용하라고 나와있지 않기에, AND 연산으로 해봤습니다.
비트 마스크 결과는 다음과 같겠죠.
00001000 11110000 ....
> and compares the result with the min(PL,2) left-most octets the unique ID supplied in the XID command.
그리고, 그 결과를 XID command에 주어진 unique ID의 왼쪽에서부터 8 * min(PL, 2)만큼의 비트와 비교합니다.
댓글 달기