一次支持30个tag同时点亮
This commit is contained in:
parent
0c8b097636
commit
f29779995f
180
main.c
180
main.c
@ -71,11 +71,36 @@ char *getDevRegisterStatusUrl="https://gaea-zt-express.com/device/modifyRegister
|
||||
//char *logUploadUrl="http://pda.pupumall.net:1180/open/api/device/log/upload";
|
||||
char *getDevRawPasswordUrl="https://gaea.zt-express.com/device/modifyRegisterInfo";
|
||||
char *hostDomain="tx-mqtt.zt-express.com";
|
||||
char lightsn1[9]={0};
|
||||
char lightsn2[9]={0};
|
||||
char lightsn3[9]={0};
|
||||
char lightsn4[9]={0};
|
||||
char lightsn5[9]={0};
|
||||
char lightsn1[32]={0};
|
||||
char lightsn2[32]={0};
|
||||
char lightsn3[32]={0};
|
||||
char lightsn4[32]={0};
|
||||
char lightsn5[32]={0};
|
||||
char lightsn6[32]={0};
|
||||
char lightsn7[32]={0};
|
||||
char lightsn8[32]={0};
|
||||
char lightsn9[32]={0};
|
||||
char lightsn10[32]={0};
|
||||
char lightsn11[32]={0};
|
||||
char lightsn12[32]={0};
|
||||
char lightsn13[32]={0};
|
||||
char lightsn14[32]={0};
|
||||
char lightsn15[32]={0};
|
||||
char lightsn16[32]={0};
|
||||
char lightsn17[32]={0};
|
||||
char lightsn18[32]={0};
|
||||
char lightsn19[32]={0};
|
||||
char lightsn20[32]={0};
|
||||
char lightsn21[32]={0};
|
||||
char lightsn22[32]={0};
|
||||
char lightsn23[32]={0};
|
||||
char lightsn24[32]={0};
|
||||
char lightsn25[32]={0};
|
||||
char lightsn26[32]={0};
|
||||
char lightsn27[32]={0};
|
||||
char lightsn28[32]={0};
|
||||
char lightsn29[32]={0};
|
||||
char lightsn30[32]={0};
|
||||
int searchTimeOut=0;
|
||||
int searchTimeOld=0;
|
||||
int searchTimeNew=0;
|
||||
@ -1293,6 +1318,31 @@ void *thread_uart_recv_ack(void *arg){
|
||||
uint32_t tag3=strtol(lightsn3,NULL,16);
|
||||
uint32_t tag4=strtol(lightsn4,NULL,16);
|
||||
uint32_t tag5=strtol(lightsn5,NULL,16);
|
||||
uint32_t tag6=strtol(lightsn6,NULL,16);
|
||||
uint32_t tag7=strtol(lightsn7,NULL,16);
|
||||
uint32_t tag8=strtol(lightsn8,NULL,16);
|
||||
uint32_t tag9=strtol(lightsn9,NULL,16);
|
||||
uint32_t tag10=strtol(lightsn10,NULL,16);
|
||||
uint32_t tag11=strtol(lightsn11,NULL,16);
|
||||
uint32_t tag12=strtol(lightsn12,NULL,16);
|
||||
uint32_t tag13=strtol(lightsn13,NULL,16);
|
||||
uint32_t tag14=strtol(lightsn14,NULL,16);
|
||||
uint32_t tag15=strtol(lightsn15,NULL,16);
|
||||
uint32_t tag16=strtol(lightsn16,NULL,16);
|
||||
uint32_t tag17=strtol(lightsn17,NULL,16);
|
||||
uint32_t tag18=strtol(lightsn18,NULL,16);
|
||||
uint32_t tag19=strtol(lightsn19,NULL,16);
|
||||
uint32_t tag20=strtol(lightsn20,NULL,16);
|
||||
uint32_t tag21=strtol(lightsn21,NULL,16);
|
||||
uint32_t tag22=strtol(lightsn22,NULL,16);
|
||||
uint32_t tag23=strtol(lightsn23,NULL,16);
|
||||
uint32_t tag24=strtol(lightsn24,NULL,16);
|
||||
uint32_t tag25=strtol(lightsn25,NULL,16);
|
||||
uint32_t tag26=strtol(lightsn26,NULL,16);
|
||||
uint32_t tag27=strtol(lightsn27,NULL,16);
|
||||
uint32_t tag28=strtol(lightsn28,NULL,16);
|
||||
uint32_t tag29=strtol(lightsn29,NULL,16);
|
||||
uint32_t tag30=strtol(lightsn30,NULL,16);
|
||||
uint8_t changecolor=0;
|
||||
//8灭 1红 2黄 3蓝 4绿 5青 6白 7紫 xitu
|
||||
//0灭 1蓝 2绿 3青 4红 5紫 6黄 7白 yitaile
|
||||
@ -1319,7 +1369,15 @@ void *thread_uart_recv_ack(void *arg){
|
||||
.s.sound=atoi(mqtt_parm.msg_sound),
|
||||
.s.flash=atoi(mqtt_parm.msg_flash),
|
||||
};
|
||||
uart_data_send_lighton(&uartSend,led_ctrl.ch,atoi(flash),atoi(light),tag1,tag2,tag3,tag4,tag5,lightsnNum);
|
||||
//uart_data_send_head_lighton(&uartSend, 5, lightsnNum);
|
||||
uart_data_send_lighton(&uartSend, led_ctrl.ch, atoi(flash), atoi(light),
|
||||
tag1, tag2, tag3, tag4, tag5,
|
||||
tag6, tag7, tag8, tag9, tag10,
|
||||
tag11, tag12, tag13, tag14, tag15,
|
||||
tag16, tag17, tag18, tag19, tag20,
|
||||
tag21, tag22, tag23, tag24, tag25,
|
||||
tag26, tag27, tag28, tag29, tag30,
|
||||
lightsnNum);
|
||||
isLightOn=false;
|
||||
}
|
||||
#if 0
|
||||
@ -1786,20 +1844,95 @@ void *thread_mqtt_recv(void *arg){
|
||||
get_string_from_json_string_by_key_unescape(msg_lightsn, "sn", mqtt_parm.msg_sn,sizeof(mqtt_parm.msg_sn));
|
||||
LOG_I("sn:%s\n",mqtt_parm.msg_sn);
|
||||
if(i==0){
|
||||
memset(lightsn1,0,9);
|
||||
memset(lightsn1,0,32);
|
||||
memcpy(lightsn1,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==1){
|
||||
memset(lightsn2,0,9);
|
||||
memset(lightsn2,0,32);
|
||||
memcpy(lightsn2,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==2){
|
||||
memset(lightsn3,0,9);
|
||||
memset(lightsn3,0,32);
|
||||
memcpy(lightsn3,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==3){
|
||||
memset(lightsn4,0,9);
|
||||
memset(lightsn4,0,32);
|
||||
memcpy(lightsn4,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==4){
|
||||
memset(lightsn5,0,9);
|
||||
memset(lightsn5,0,32);
|
||||
memcpy(lightsn5,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==5){
|
||||
memset(lightsn6,0,32);
|
||||
memcpy(lightsn6,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==6){
|
||||
memset(lightsn7,0,32);
|
||||
memcpy(lightsn7,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==7){
|
||||
memset(lightsn8,0,32);
|
||||
memcpy(lightsn8,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==8){
|
||||
memset(lightsn9,0,32);
|
||||
memcpy(lightsn9,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==9){
|
||||
memset(lightsn10,0,32);
|
||||
memcpy(lightsn10,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==10){
|
||||
memset(lightsn11,0,32);
|
||||
memcpy(lightsn11,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==11){
|
||||
memset(lightsn12,0,32);
|
||||
memcpy(lightsn12,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==12){
|
||||
memset(lightsn13,0,32);
|
||||
memcpy(lightsn13,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==13){
|
||||
memset(lightsn14,0,32);
|
||||
memcpy(lightsn14,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==14){
|
||||
memset(lightsn15,0,32);
|
||||
memcpy(lightsn15,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==15){
|
||||
memset(lightsn16,0,32);
|
||||
memcpy(lightsn16,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==16){
|
||||
memset(lightsn17,0,32);
|
||||
memcpy(lightsn17,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==17){
|
||||
memset(lightsn18,0,32);
|
||||
memcpy(lightsn18,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==18){
|
||||
memset(lightsn19,0,32);
|
||||
memcpy(lightsn19,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==19){
|
||||
memset(lightsn20,0,32);
|
||||
memcpy(lightsn20,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==20){
|
||||
memset(lightsn21,0,32);
|
||||
memcpy(lightsn21,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==21){
|
||||
memset(lightsn22,0,32);
|
||||
memcpy(lightsn22,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==22){
|
||||
memset(lightsn23,0,32);
|
||||
memcpy(lightsn23,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==23){
|
||||
memset(lightsn24,0,32);
|
||||
memcpy(lightsn24,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==24){
|
||||
memset(lightsn25,0,32);
|
||||
memcpy(lightsn25,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==25){
|
||||
memset(lightsn26,0,32);
|
||||
memcpy(lightsn26,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==26){
|
||||
memset(lightsn27,0,32);
|
||||
memcpy(lightsn27,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==27){
|
||||
memset(lightsn28,0,32);
|
||||
memcpy(lightsn28,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==28){
|
||||
memset(lightsn29,0,32);
|
||||
memcpy(lightsn29,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}else if(i==29){
|
||||
memset(lightsn30,0,32);
|
||||
memcpy(lightsn30,mqtt_parm.msg_sn,strlen(mqtt_parm.msg_sn));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1927,6 +2060,31 @@ void *thread_mqtt_recv(void *arg){
|
||||
memset(lightsn3, 0, sizeof(lightsn3));
|
||||
memset(lightsn4, 0, sizeof(lightsn4));
|
||||
memset(lightsn5, 0, sizeof(lightsn5));
|
||||
memset(lightsn6, 0, sizeof(lightsn6));
|
||||
memset(lightsn7, 0, sizeof(lightsn7));
|
||||
memset(lightsn8, 0, sizeof(lightsn8));
|
||||
memset(lightsn9, 0, sizeof(lightsn9));
|
||||
memset(lightsn10, 0, sizeof(lightsn10));
|
||||
memset(lightsn11, 0, sizeof(lightsn11));
|
||||
memset(lightsn12, 0, sizeof(lightsn12));
|
||||
memset(lightsn13, 0, sizeof(lightsn13));
|
||||
memset(lightsn14, 0, sizeof(lightsn14));
|
||||
memset(lightsn15, 0, sizeof(lightsn15));
|
||||
memset(lightsn16, 0, sizeof(lightsn16));
|
||||
memset(lightsn17, 0, sizeof(lightsn17));
|
||||
memset(lightsn18, 0, sizeof(lightsn18));
|
||||
memset(lightsn19, 0, sizeof(lightsn19));
|
||||
memset(lightsn20, 0, sizeof(lightsn20));
|
||||
memset(lightsn21, 0, sizeof(lightsn21));
|
||||
memset(lightsn22, 0, sizeof(lightsn22));
|
||||
memset(lightsn23, 0, sizeof(lightsn23));
|
||||
memset(lightsn24, 0, sizeof(lightsn24));
|
||||
memset(lightsn25, 0, sizeof(lightsn25));
|
||||
memset(lightsn26, 0, sizeof(lightsn26));
|
||||
memset(lightsn27, 0, sizeof(lightsn27));
|
||||
memset(lightsn28, 0, sizeof(lightsn28));
|
||||
memset(lightsn29, 0, sizeof(lightsn29));
|
||||
memset(lightsn30, 0, sizeof(lightsn30));
|
||||
|
||||
// 设置label1和label2不参与匹配
|
||||
strcpy(mqtt_parm.msg_label1Rule, "04"); // ∅ 不参与匹配
|
||||
|
||||
@ -199,6 +199,56 @@ int uart_data_send_head_lighton(uart_utils_t *uart,uint8_t wakeup_time,uint16_t
|
||||
data_len=26;
|
||||
}else if(tag_num==5){
|
||||
data_len=30;
|
||||
}else if(tag_num==6){
|
||||
data_len=34;
|
||||
}else if(tag_num==7){
|
||||
data_len=38;
|
||||
}else if(tag_num==8){
|
||||
data_len=42;
|
||||
}else if(tag_num==9){
|
||||
data_len=46;
|
||||
}else if(tag_num==10){
|
||||
data_len=50;
|
||||
}else if(tag_num==11){
|
||||
data_len=54;
|
||||
}else if(tag_num==12){
|
||||
data_len=58;
|
||||
}else if(tag_num==13){
|
||||
data_len=62;
|
||||
}else if(tag_num==14){
|
||||
data_len=66;
|
||||
}else if(tag_num==15){
|
||||
data_len=70;
|
||||
}else if(tag_num==16){
|
||||
data_len=74;
|
||||
}else if(tag_num==17){
|
||||
data_len=78;
|
||||
}else if(tag_num==18){
|
||||
data_len=82;
|
||||
}else if(tag_num==19){
|
||||
data_len=86;
|
||||
}else if(tag_num==20){
|
||||
data_len=90;
|
||||
}else if(tag_num==21){
|
||||
data_len=94;
|
||||
}else if(tag_num==22){
|
||||
data_len=98;
|
||||
}else if(tag_num==23){
|
||||
data_len=102;
|
||||
}else if(tag_num==24){
|
||||
data_len=106;
|
||||
}else if(tag_num==25){
|
||||
data_len=110;
|
||||
}else if(tag_num==26){
|
||||
data_len=114;
|
||||
}else if(tag_num==27){
|
||||
data_len=118;
|
||||
}else if(tag_num==28){
|
||||
data_len=122;
|
||||
}else if(tag_num==29){
|
||||
data_len=126;
|
||||
}else if(tag_num==30){
|
||||
data_len=130;
|
||||
}
|
||||
jt_head_package_t jt_head_package ={
|
||||
.pre=0x2323,//# 0x23 $ 0x24
|
||||
@ -705,7 +755,13 @@ error:
|
||||
}
|
||||
|
||||
int uart_data_send_lighton(uart_utils_t *uart,uint8_t ledctl,uint16_t flash_i,uint16_t light_d,
|
||||
uint32_t tag_1,uint32_t tag_2,uint32_t tag_3,uint32_t tag_4,uint32_t tag_5,uint32_t tag_num){
|
||||
uint32_t tag_1,uint32_t tag_2,uint32_t tag_3,uint32_t tag_4,uint32_t tag_5,
|
||||
uint32_t tag_6,uint32_t tag_7,uint32_t tag_8,uint32_t tag_9,uint32_t tag_10,
|
||||
uint32_t tag_11,uint32_t tag_12,uint32_t tag_13,uint32_t tag_14,uint32_t tag_15,
|
||||
uint32_t tag_16,uint32_t tag_17,uint32_t tag_18,uint32_t tag_19,uint32_t tag_20,
|
||||
uint32_t tag_21,uint32_t tag_22,uint32_t tag_23,uint32_t tag_24,uint32_t tag_25,
|
||||
uint32_t tag_26,uint32_t tag_27,uint32_t tag_28,uint32_t tag_29,uint32_t tag_30,
|
||||
uint32_t tag_num){
|
||||
int ret = 0;
|
||||
if (uart == NULL){
|
||||
LOG_I("uart NULL pointer\n");
|
||||
@ -715,212 +771,67 @@ int uart_data_send_lighton(uart_utils_t *uart,uint8_t ledctl,uint16_t flash_i,ui
|
||||
|
||||
uint8_t flash_i_h=(flash_i>>8)&0xFF;
|
||||
uint8_t flash_i_l=(flash_i)&0xFF;
|
||||
|
||||
uint8_t light_d_h=(light_d>>8)&0xFF;
|
||||
uint8_t light_d_l=(light_d)&0xFF;
|
||||
|
||||
uint8_t tag_1_1=(tag_1>>24)&0xFF;
|
||||
uint8_t tag_1_2=(tag_1>>16)&0xFF;
|
||||
uint8_t tag_1_3=(tag_1>>8)&0xFF;
|
||||
uint8_t tag_1_4=(tag_1)&0xFF;
|
||||
// 计算数据包长度:基础长度(8) + tag数量 * 4 + CRC(2)
|
||||
uint8_t data_len = 8 + tag_num * 4 + 2;
|
||||
uint8_t *buf = (uint8_t *)malloc(data_len);
|
||||
if (buf == NULL) {
|
||||
LOG_I("malloc failed\n");
|
||||
ret = -3;
|
||||
goto error;
|
||||
}
|
||||
memset(buf, 0, data_len);
|
||||
|
||||
uint8_t tag_2_1=(tag_2>>24)&0xFF;
|
||||
uint8_t tag_2_2=(tag_2>>16)&0xFF;
|
||||
uint8_t tag_2_3=(tag_2>>8)&0xFF;
|
||||
uint8_t tag_2_4=(tag_2)&0xFF;
|
||||
// 填充基础数据
|
||||
buf[0] = 0x00; buf[1] = 0x00; // len1
|
||||
buf[2] = data_len - 2; // len2 (修改:减去2而不是3,因为len2不包含CRC)
|
||||
buf[3] = ledctl; // ledCtr
|
||||
buf[4] = flash_i_h; // flashInterval
|
||||
buf[5] = flash_i_l;
|
||||
buf[6] = light_d_h; // lightDuration
|
||||
buf[7] = light_d_l;
|
||||
|
||||
uint8_t tag_3_1=(tag_3>>24)&0xFF;
|
||||
uint8_t tag_3_2=(tag_3>>16)&0xFF;
|
||||
uint8_t tag_3_3=(tag_3>>8)&0xFF;
|
||||
uint8_t tag_3_4=(tag_3)&0xFF;
|
||||
// 填充tag数据
|
||||
uint32_t tags[30] = {tag_1, tag_2, tag_3, tag_4, tag_5, tag_6, tag_7, tag_8, tag_9, tag_10,
|
||||
tag_11, tag_12, tag_13, tag_14, tag_15, tag_16, tag_17, tag_18, tag_19, tag_20,
|
||||
tag_21, tag_22, tag_23, tag_24, tag_25, tag_26, tag_27, tag_28, tag_29, tag_30};
|
||||
|
||||
for (int i = 0; i < tag_num; ++i) {
|
||||
buf[8 + i * 4] = (tags[i] >> 24) & 0xFF;
|
||||
buf[9 + i * 4] = (tags[i] >> 16) & 0xFF;
|
||||
buf[10 + i * 4] = (tags[i] >> 8) & 0xFF;
|
||||
buf[11 + i * 4] = tags[i] & 0xFF;
|
||||
}
|
||||
|
||||
uint8_t tag_4_1=(tag_4>>24)&0xFF;
|
||||
uint8_t tag_4_2=(tag_4>>16)&0xFF;
|
||||
uint8_t tag_4_3=(tag_4>>8)&0xFF;
|
||||
uint8_t tag_4_4=(tag_4)&0xFF;
|
||||
// 计算CRC
|
||||
uint16_t crc_c = CRC16_XMODEM(buf, data_len - 2);
|
||||
buf[data_len - 2] = (crc_c >> 8) & 0xFF;
|
||||
buf[data_len - 1] = crc_c & 0xFF;
|
||||
|
||||
uint8_t tag_5_1=(tag_5>>24)&0xFF;
|
||||
uint8_t tag_5_2=(tag_5>>16)&0xFF;
|
||||
uint8_t tag_5_3=(tag_5>>8)&0xFF;
|
||||
uint8_t tag_5_4=(tag_5)&0xFF;
|
||||
#if 0
|
||||
LOG_I("ledctl = %02x\r\n",ledctl);
|
||||
LOG_I("flash_i_h = %02x\r\n",flash_i_h);
|
||||
LOG_I("flash_i_l = %02x\r\n",flash_i_l);
|
||||
LOG_I("light_d_h = %02x\r\n",light_d_h);
|
||||
LOG_I("light_d_l = %02x\r\n",light_d_l);
|
||||
LOG_I("tag_1_1 = %02x\r\n",tag_1_1);
|
||||
LOG_I("tag_1_2 = %02x\r\n",tag_1_2);
|
||||
LOG_I("tag_1_3 = %02x\r\n",tag_1_3);
|
||||
LOG_I("tag_1_4 = %02x\r\n",tag_1_4);
|
||||
LOG_I("tag_2_1 = %02x\r\n",tag_2_1);
|
||||
LOG_I("tag_2_2 = %02x\r\n",tag_2_2);
|
||||
LOG_I("tag_2_3 = %02x\r\n",tag_2_3);
|
||||
LOG_I("tag_2_4 = %02x\r\n",tag_2_4);
|
||||
LOG_I("tag_3_1 = %02x\r\n",tag_3_1);
|
||||
LOG_I("tag_3_2 = %02x\r\n",tag_3_2);
|
||||
LOG_I("tag_3_3 = %02x\r\n",tag_3_3);
|
||||
LOG_I("tag_3_4 = %02x\r\n",tag_3_4);
|
||||
LOG_I("tag_4_1 = %02x\r\n",tag_4_1);
|
||||
LOG_I("tag_4_2 = %02x\r\n",tag_4_2);
|
||||
LOG_I("tag_4_3 = %02x\r\n",tag_4_3);
|
||||
LOG_I("tag_4_4 = %02x\r\n",tag_4_4);
|
||||
LOG_I("tag_5_1 = %02x\r\n",tag_5_1);
|
||||
LOG_I("tag_5_2 = %02x\r\n",tag_5_2);
|
||||
LOG_I("tag_5_3 = %02x\r\n",tag_5_3);
|
||||
LOG_I("tag_5_4 = %02x\r\n",tag_5_4);
|
||||
#endif
|
||||
if(tag_num==1){
|
||||
uint8_t test1[12] = {0x00,0x00,11,ledctl,flash_i_h,flash_i_l,light_d_h,light_d_l,
|
||||
tag_1_1,tag_1_2,tag_1_3,tag_1_4};
|
||||
uint16_t crc_c=CRC16_XMODEM(test1,sizeof(test1));
|
||||
for(int i=0;i<12;i++){
|
||||
printf("%02x ",test1[i]);
|
||||
}
|
||||
LOG_I("\r\n");
|
||||
LOG_I("%s XModem_CRC16 = %04x\r\n",__func__,crc_c);
|
||||
jt_light_led1_package_t jt_light_led1_package ={
|
||||
.len1=0x0000,
|
||||
.len2=11,
|
||||
.ledCtr=ledctl,
|
||||
.flashInterval=ntohs(flash_i),
|
||||
.lightDuration=ntohs(light_d),
|
||||
.tag1=ntohl(tag_1),
|
||||
.crc=ntohs(crc_c),
|
||||
};
|
||||
if(sizeof(jt_light_led1_package) == write(uart->uart_fd, &jt_light_led1_package, sizeof(jt_light_led1_package))){
|
||||
ret = 0;
|
||||
//LOG_I("%s success\n",__func__);
|
||||
}else{
|
||||
//LOG_I("%s fail\n", __func__);
|
||||
ret = -2;
|
||||
goto error;
|
||||
}
|
||||
}else if(tag_num==2){
|
||||
uint8_t test1[16] = {0x00,0x00,15,ledctl,flash_i_h,flash_i_l,light_d_h,light_d_l,
|
||||
tag_1_1,tag_1_2,tag_1_3,tag_1_4,tag_2_1,tag_2_2,tag_2_3,tag_2_4};
|
||||
uint16_t crc_c=CRC16_XMODEM(test1,sizeof(test1));
|
||||
for(int i=0;i<16;i++){
|
||||
printf("%02x ",test1[i]);
|
||||
}
|
||||
LOG_I("\r\n");
|
||||
LOG_I("%s XModem_CRC16 = %04x\r\n",__func__,crc_c);
|
||||
jt_light_led2_package_t jt_light_led2_package ={
|
||||
.len1=0x0000,
|
||||
.len2=15,
|
||||
.ledCtr=ledctl,
|
||||
.flashInterval=ntohs(flash_i),
|
||||
.lightDuration=ntohs(light_d),
|
||||
.tag1=ntohl(tag_1),
|
||||
.tag2=ntohl(tag_2),
|
||||
.crc=ntohs(crc_c),
|
||||
};
|
||||
|
||||
LOG_I("%04x,%02x,%02x,%04x,%04x,%08x,%08x,%04x\r\n",jt_light_led2_package.len1,jt_light_led2_package.len2,
|
||||
jt_light_led2_package.ledCtr,jt_light_led2_package.flashInterval,jt_light_led2_package.lightDuration,
|
||||
jt_light_led2_package.tag1,jt_light_led2_package.tag2,jt_light_led2_package.crc);
|
||||
if(sizeof(jt_light_led2_package) == write(uart->uart_fd, &jt_light_led2_package, sizeof(jt_light_led2_package))){
|
||||
ret = 0;
|
||||
//LOG_I("%s success\n",__func__);
|
||||
}else{
|
||||
//LOG_I("%s fail\n", __func__);
|
||||
ret = -2;
|
||||
goto error;
|
||||
}
|
||||
}else if(tag_num==3){
|
||||
uint8_t test1[20] = {0x00,0x00,19,ledctl,flash_i_h,flash_i_l,light_d_h,light_d_l,
|
||||
tag_1_1,tag_1_2,tag_1_3,tag_1_4,tag_2_1,tag_2_2,tag_2_3,tag_2_4,tag_3_1,tag_3_2,tag_3_3,tag_3_4};
|
||||
uint16_t crc_c=CRC16_XMODEM(test1,sizeof(test1));
|
||||
for(int i=0;i<20;i++){
|
||||
printf("%02x ",test1[i]);
|
||||
}
|
||||
LOG_I("\r\n");
|
||||
LOG_I("%s XModem_CRC16 = %04x\r\n",__func__,crc_c);
|
||||
jt_light_led3_package_t jt_light_led3_package ={
|
||||
.len1=0x0000,
|
||||
.len2=19,
|
||||
.ledCtr=ledctl,
|
||||
.flashInterval=ntohs(flash_i),
|
||||
.lightDuration=ntohs(light_d),
|
||||
.tag1=ntohl(tag_1),
|
||||
.tag2=ntohl(tag_2),
|
||||
.tag3=ntohl(tag_3),
|
||||
.crc=ntohs(crc_c),
|
||||
};
|
||||
if(sizeof(jt_light_led3_package) == write(uart->uart_fd, &jt_light_led3_package, sizeof(jt_light_led3_package))){
|
||||
ret = 0;
|
||||
//LOG_I("%s success\n",__func__);
|
||||
}else{
|
||||
//LOG_I("%s fail\n", __func__);
|
||||
ret = -2;
|
||||
goto error;
|
||||
}
|
||||
}else if(tag_num==4){
|
||||
uint8_t test1[24] = {0x00,0x00,23,ledctl,flash_i_h,flash_i_l,light_d_h,light_d_l,
|
||||
tag_1_1,tag_1_2,tag_1_3,tag_1_4,tag_2_1,tag_2_2,tag_2_3,tag_2_4,tag_3_1,tag_3_2,tag_3_3,tag_3_4,
|
||||
tag_4_1,tag_4_2,tag_4_3,tag_4_4};
|
||||
uint16_t crc_c=CRC16_XMODEM(test1,sizeof(test1));
|
||||
for(int i=0;i<24;i++){
|
||||
printf("%02x ",test1[i]);
|
||||
}
|
||||
LOG_I("\r\n");
|
||||
LOG_I("%s XModem_CRC16 = %04x\r\n",__func__,crc_c);
|
||||
jt_light_led4_package_t jt_light_led4_package ={
|
||||
.len1=0x0000,
|
||||
.len2=23,
|
||||
.ledCtr=ledctl,
|
||||
.flashInterval=ntohs(flash_i),
|
||||
.lightDuration=ntohs(light_d),
|
||||
.tag1=ntohl(tag_1),
|
||||
.tag2=ntohl(tag_2),
|
||||
.tag3=ntohl(tag_3),
|
||||
.tag4=ntohl(tag_4),
|
||||
.crc=ntohs(crc_c),
|
||||
};
|
||||
if(sizeof(jt_light_led4_package) == write(uart->uart_fd, &jt_light_led4_package, sizeof(jt_light_led4_package))){
|
||||
ret = 0;
|
||||
//LOG_I("%s success\n",__func__);
|
||||
}else{
|
||||
//LOG_I("%s fail\n", __func__);
|
||||
ret = -2;
|
||||
goto error;
|
||||
}
|
||||
}else if(tag_num==5){
|
||||
uint8_t test1[28] = {0x00,0x00,27,ledctl,flash_i_h,flash_i_l,light_d_h,light_d_l,
|
||||
tag_1_1,tag_1_2,tag_1_3,tag_1_4,tag_2_1,tag_2_2,tag_2_3,tag_2_4,tag_3_1,tag_3_2,tag_3_3,tag_3_4,
|
||||
tag_4_1,tag_4_2,tag_4_3,tag_4_4,tag_5_1,tag_5_2,tag_5_3,tag_5_4};
|
||||
uint16_t crc_c=CRC16_XMODEM(test1,sizeof(test1));
|
||||
for(int i=0;i<28;i++){
|
||||
printf("%02x ",test1[i]);
|
||||
}
|
||||
LOG_I("\r\n");
|
||||
LOG_I("%s XModem_CRC16 = %04x\r\n",__func__,crc_c);
|
||||
jt_light_led5_package_t jt_light_led5_package ={
|
||||
.len1=0x0000,
|
||||
.len2=27,
|
||||
.ledCtr=ledctl,
|
||||
.flashInterval=ntohs(flash_i),
|
||||
.lightDuration=ntohs(light_d),
|
||||
.tag1=ntohl(tag_1),
|
||||
.tag2=ntohl(tag_2),
|
||||
.tag3=ntohl(tag_3),
|
||||
.tag4=ntohl(tag_4),
|
||||
.tag5=ntohl(tag_5),
|
||||
.crc=ntohs(crc_c),
|
||||
};
|
||||
if(sizeof(jt_light_led5_package) == write(uart->uart_fd, &jt_light_led5_package, sizeof(jt_light_led5_package))){
|
||||
ret = 0;
|
||||
//LOG_I("%s success\n",__func__);
|
||||
}else{
|
||||
//LOG_I("%s fail\n", __func__);
|
||||
ret = -2;
|
||||
goto error;
|
||||
}
|
||||
// 打印调试信息
|
||||
for (int i = 0; i < data_len; i++) {
|
||||
printf("%02x ", buf[i]);
|
||||
}
|
||||
DEBUG_TX("\r\n");
|
||||
DEBUG_TX("%s XModem_CRC16 = %04x\r\n", __func__, crc_c);
|
||||
|
||||
// 发送数据
|
||||
if (data_len == write(uart->uart_fd, buf, data_len)) {
|
||||
ret = 0;
|
||||
} else {
|
||||
ret = -4;
|
||||
}
|
||||
free(buf);
|
||||
|
||||
DEBUG_TX("lightsnNum = %d\n", tag_num);
|
||||
for(int i=0;i<tag_num;i++) {
|
||||
DEBUG_TX("tag%d = %08X\n", i+1, tags[i]);
|
||||
}
|
||||
|
||||
error:
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int uart_data_receive_version(uart_utils_t *uart){
|
||||
|
||||
@ -300,8 +300,14 @@ int uart_data_send_head_lableup(uart_utils_t *uart,uint8_t wakeup_time,uint16_t
|
||||
int uart_data_send_head_lightonrule(uart_utils_t *uart,uint8_t wakeup_time);
|
||||
int uart_data_send_head_search(uart_utils_t *uart,uint8_t wakeup_time);
|
||||
|
||||
int uart_data_send_lighton(uart_utils_t *uart,uint8_t led_ctrl,uint16_t flash_i,uint16_t light_d,
|
||||
uint32_t tag_1,uint32_t tag_2,uint32_t tag_3,uint32_t tag_4,uint32_t tag_5,uint32_t tag_num);
|
||||
int uart_data_send_lighton(uart_utils_t *uart,uint8_t ledctl,uint16_t flash_i,uint16_t light_d,
|
||||
uint32_t tag_1,uint32_t tag_2,uint32_t tag_3,uint32_t tag_4,uint32_t tag_5,
|
||||
uint32_t tag_6,uint32_t tag_7,uint32_t tag_8,uint32_t tag_9,uint32_t tag_10,
|
||||
uint32_t tag_11,uint32_t tag_12,uint32_t tag_13,uint32_t tag_14,uint32_t tag_15,
|
||||
uint32_t tag_16,uint32_t tag_17,uint32_t tag_18,uint32_t tag_19,uint32_t tag_20,
|
||||
uint32_t tag_21,uint32_t tag_22,uint32_t tag_23,uint32_t tag_24,uint32_t tag_25,
|
||||
uint32_t tag_26,uint32_t tag_27,uint32_t tag_28,uint32_t tag_29,uint32_t tag_30,
|
||||
uint32_t tag_num);
|
||||
int uart_data_send_lable(uart_utils_t *uart,uint32_t tag_1,uint8_t tag_1_lable1,uint16_t tag_1_lable2,uint32_t tag_1_lable3,
|
||||
uint32_t tag_2,uint8_t tag_2_lable1,uint16_t tag_2_lable2,uint32_t tag_2_lable3,
|
||||
uint32_t tag_3,uint8_t tag_3_lable1,uint16_t tag_3_lable2,uint32_t tag_3_lable3,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user