|
@@ -56,46 +56,43 @@ public class IntStatusDto implements Serializable {
|
|
|
@Getter
|
|
|
private byte[] kafkaData;
|
|
|
|
|
|
- // nodeid 4
|
|
|
- // status 1 //교차로 상태(0: 통신이상, 1: 정상, 2: 점멸, 3: 소등, 4: 수동진행, 5: 현시유지)
|
|
|
- // time 4
|
|
|
- // oper Mode 1 //제어기 운영모드 코드(0:SCU 고정주기 모드, 1:감응하지 않는 OFFLINE 제어모드, 2:감응되는 OFFLINE 제어모드, 4:감응되는 온라인 제어모드, 5:감응하지 않는 온라인 제어모드)
|
|
|
- // a ring phase 1 //RING A의 PHASE (0 ~ 7)
|
|
|
- // b ring phase 1 //RING B의 PHASE (0 ~ 7)
|
|
|
- // mapNodeId 1 //맵 번호( 0 : 일반제, 1~5: 시차제, 6 : 전용맵)
|
|
|
- // reserved 7 //reserved
|
|
|
-
|
|
|
-// nodeid 4
|
|
|
-// time 4
|
|
|
-// version 1 // 1, 2
|
|
|
-// COMM_ON_OFF_FLAG 1 N CHAR(1) Y 통신 ON/OFF 여부(0: 정상, 1: 통신 FAIL)
|
|
|
-// CONTRLR_OPER_MODE_CD 1 N CHAR(1) Y 제어기 운영모드 코드(0:SCU 고정주기 모드, 1:감응하지 않는 OFFLINE 제어모드, 2:감응되는 OFFLINE 제어모드, 4:감응되는 온라인 제어모드, 5:감응하지 않는 온라인 제어모드)
|
|
|
-// A_RING_PHASE_VAL 1 N NUMBER(3) Y A 링 현시값(0~7)
|
|
|
-// B_RING_PHASE_VAL 1 N NUMBER(3) Y B 링 현시값(0~7)
|
|
|
-// SIGLIGHT_TURNOFF_FLAG 1 N CHAR(1) Y 신호등 소등 여부(1: 소등, 0: 정상)
|
|
|
-// SIGLIGHT_BLINK_FLAG 1 N CHAR(1) Y 신호등 점멸 여부(1: 점멸, 0: 정상)
|
|
|
-// CONTRLR_MANUAL_FLAG 1 N CHAR(1) Y 제어기 수동 여부(1 : ON(수동), 0 : OFF(자동))
|
|
|
-// CONTRLR_TMDIFF_CONTRL_FLAG 1 N CHAR(1) Y 제어기 시차 제어 여부(시차제 좌회전 여부 1: 수행중, 0: 수행 안함)
|
|
|
-// MAP_NO 1 N NUMBER(1) Y 맵 번호( 0 : 일반제, 1~5: 시차제, 6 : 전용맵)
|
|
|
-// INT_SIG_CYCLE_CNT 1 N NUMBER(3) Y 교차로 신호 주기 카운트
|
|
|
-// INT_SIG_CYCLE_LEN 1 N NUMBER(3) Y 교차로 신호 주기 값
|
|
|
-// A_RING_1_PHASE_VAL 1 N NUMBER(3) Y A링 1현시값
|
|
|
-// A_RING_2_PHASE_VAL 1 N NUMBER(3) Y A링 2현시값
|
|
|
-// A_RING_3_PHASE_VAL 1 N NUMBER(3) Y A링 3현시값
|
|
|
-// A_RING_4_PHASE_VAL 1 N NUMBER(3) Y A링 4현시값
|
|
|
-// A_RING_5_PHASE_VAL 1 N NUMBER(3) Y A링 5현시값
|
|
|
-// A_RING_6_PHASE_VAL 1 N NUMBER(3) Y A링 6현시값
|
|
|
-// A_RING_7_PHASE_VAL 1 N NUMBER(3) Y A링 7현시값
|
|
|
-// A_RING_8_PHASE_VAL 1 N NUMBER(3) Y A링 8현시값
|
|
|
-// B_RING_1_PHASE_VAL 1 N NUMBER(3) Y B링 1현시값
|
|
|
-// B_RING_2_PHASE_VAL 1 N NUMBER(3) Y B링 2현시값
|
|
|
-// B_RING_3_PHASE_VAL 1 N NUMBER(3) Y B링 3현시값
|
|
|
-// B_RING_4_PHASE_VAL 1 N NUMBER(3) Y B링 4현시값
|
|
|
-// B_RING_5_PHASE_VAL 1 N NUMBER(3) Y B링 5현시값
|
|
|
-// B_RING_6_PHASE_VAL 1 N NUMBER(3) Y B링 6현시값
|
|
|
-// B_RING_7_PHASE_VAL 1 N NUMBER(3) Y B링 7현시값
|
|
|
-// B_RING_8_PHASE_VAL 1 N NUMBER(3) Y B링 8현시값
|
|
|
-// PPC_CONTRL_FLAG 1 N CHAR(1) Y PPC제어여부(0: PPC Disable 1: PPC Enabled)
|
|
|
+
|
|
|
+//노드 ID 제어기 번호(노드 ID) 4 BYTE
|
|
|
+//버전 버전정보 1 BYTE
|
|
|
+// 1-운영현시정보 사용, 시차제 좌회전 여부, 주기 주기길이 사용,
|
|
|
+// 2-운영현시정보 사용안함, 교차로 연등, 주기 주기길이 사용안함
|
|
|
+//
|
|
|
+//시각 UTC Time(1970년 1월 1일 0시 0분 0초 이후부터 현재까지 시간-초) 4 BYTE
|
|
|
+//제어기 운영 상태 1 BYTE
|
|
|
+// 7 센터와 통신 FAIL 상태 0 : 정상, 1 : 통신 FAIL
|
|
|
+// 6~4 현재 운영중인 맵 번호 ( 0 : 일반제, 1~5: 시차제, 6 : 전용맵)
|
|
|
+// 3 시차제 좌회전 여부(버전정보 1) 1: 수행중, 0: 수행 안함
|
|
|
+// 교차로 연등(버전정보 2) 1: 연등 교차로, 0: 일반교차로
|
|
|
+// 2~0 교통신호기 운영 모드
|
|
|
+// 0: SCU 고정주기 모드
|
|
|
+// 1: 감응하지 않는 OFFLINE 제어모드
|
|
|
+// 2: 감응되는 OFFLINE 제어모드
|
|
|
+// 4: 감응되는 온라인 제어모드
|
|
|
+// 5: 감응하지 않는 온라인 제어모드
|
|
|
+//A링 현시 1 BYTE
|
|
|
+// 7~5 RING A의 PHASE (0∼7)
|
|
|
+// 4~0 RING A의 STEP (0∼31)
|
|
|
+//B링 현시 1 BYTE
|
|
|
+// 7~5 RING B의 PHASE (0∼7)
|
|
|
+// 4~0 RING B의 STEP (0∼31)
|
|
|
+//제어기 상태 1 BYTE
|
|
|
+// 7 POLICE PANEL 수동진행S/W상태 (1: ON, 0: OFF)
|
|
|
+// 6 POLICE PANEL 수동 S/W 상태 (1: ON, 0: OFF)
|
|
|
+// 5 POLICE PANEL 점멸 S/W 상태 (1: ON, 0: OFF)
|
|
|
+// 4 POLICE PANEL 소등 S/W 상태 (1: ON, 0: OFF)
|
|
|
+// 3 모순 상태 (1: 모순, 0: 정상)
|
|
|
+// 2 소등 상태 (1: 소등, 0: 정상)
|
|
|
+// 1 점멸 상태 (1: 점멸, 0: 정상)
|
|
|
+// 0 PPC 제어 상태 (0: PPC Disable 1: PPC Enabled)
|
|
|
+//주기Count 주기 Count(초), 버전정보가 1인 경우 정보가 유효함 1 BYTE
|
|
|
+//주기 길이 현재 주기의 길이(초), 버전정보가 1인 경우 정보가 유효함 1 BYTE
|
|
|
+//운영 현시 운영현시(A Ring 8 BYTE + B Ring 8 BYTE), 버전정보가 1인 경우 정보가 유효함 16 BYTE
|
|
|
+
|
|
|
|
|
|
public IntStatusDto(String regionCd, int intNo, long nodeId) {
|
|
|
this.regionCd = regionCd;
|
|
@@ -103,10 +100,10 @@ public class IntStatusDto implements Serializable {
|
|
|
this.nodeId = nodeId;
|
|
|
this.kafkaData = new byte[MAX_KAFKA_DATA_SIZE];
|
|
|
|
|
|
- this.kafkaData[0] = (byte)((nodeId ) & 0x000000FF);
|
|
|
- this.kafkaData[1] = (byte)((nodeId >> 8 ) & 0x000000FF);
|
|
|
- this.kafkaData[2] = (byte)((nodeId >> 16) & 0x000000FF);
|
|
|
- this.kafkaData[3] = (byte)((nodeId >> 24) & 0x000000FF);
|
|
|
+ this.kafkaData[0] = (byte)((nodeId >> 24) & 0x000000FF);
|
|
|
+ this.kafkaData[1] = (byte)((nodeId >> 16) & 0x000000FF);
|
|
|
+ this.kafkaData[2] = (byte)((nodeId >> 8 ) & 0x000000FF);
|
|
|
+ this.kafkaData[3] = (byte)((nodeId ) & 0x000000FF);
|
|
|
this.kafkaData[4] = (byte)0x02;
|
|
|
|
|
|
initStatus(0);
|
|
@@ -147,10 +144,11 @@ public class IntStatusDto implements Serializable {
|
|
|
this.PPC_CONTRL_FLAG = "0"; // N CHAR(1) Y
|
|
|
|
|
|
int idx = 5;
|
|
|
- this.kafkaData[idx++] = (byte)((unixTimestamp ) & 0x000000FF);
|
|
|
- this.kafkaData[idx++] = (byte)((unixTimestamp >> 8 ) & 0x000000FF);
|
|
|
- this.kafkaData[idx++] = (byte)((unixTimestamp >> 16) & 0x000000FF);
|
|
|
this.kafkaData[idx++] = (byte)((unixTimestamp >> 24) & 0x000000FF);
|
|
|
+ this.kafkaData[idx++] = (byte)((unixTimestamp >> 16) & 0x000000FF);
|
|
|
+ this.kafkaData[idx++] = (byte)((unixTimestamp >> 8 ) & 0x000000FF);
|
|
|
+ this.kafkaData[idx++] = (byte)((unixTimestamp ) & 0x000000FF);
|
|
|
+
|
|
|
for (int ii = idx; ii < MAX_KAFKA_DATA_SIZE; ii++) {
|
|
|
this.kafkaData[ii] = (byte)0x00;
|
|
|
}
|