Compare commits

...

3 Commits

4 changed files with 14 additions and 4 deletions

View File

@ -121,6 +121,7 @@ typedef struct crypto_zdata_frame
{ {
u16 head; u16 head;
u16 length; u16 length;
u16 crc;
u8 data[100]; u8 data[100];
}crypto_zdata_frame; }crypto_zdata_frame;

View File

@ -125,7 +125,7 @@ Item {
bottomRightRadius: topRightRadius bottomRightRadius: topRightRadius
implicitHeight: object_width implicitHeight: object_width
implicitWidth: object_width implicitWidth: object_width
color: bg.selected || mouse.containsMouse ? "#506BBD" : RibbonTheme.dark_mode ? '#3A4045' : "white" color: bg.selected || mouse.containsMouse ? RibbonTheme.dark_mode ? "#8AAAEB" : "#506BBD" : RibbonTheme.dark_mode ? '#3A4045' : "white"
property bool selected: false property bool selected: false
property bool is_focused: frame.currentIndex === index property bool is_focused: frame.currentIndex === index
onIs_focusedChanged: { onIs_focusedChanged: {
@ -149,11 +149,11 @@ Item {
if(!RibbonTheme.dark_mode) if(!RibbonTheme.dark_mode)
{ {
if(mouse.containsMouse&&!bg.selected) if(mouse.containsMouse&&!bg.selected)
return 'black'
else if(mouse.containsMouse&&bg.selected)
return 'white' return 'white'
else if(!mouse.containsMouse&&bg.selected) else if(mouse.containsMouse&&bg.selected)
return 'black' return 'black'
else if(!mouse.containsMouse&&bg.selected)
return 'white'
else else
return 'black' return 'black'
} }

View File

@ -166,6 +166,7 @@ void Protocol::zigbee_data_encrypt(uint8_t *data, uint8_t data_len, crypto_zdata
QByteArray key = QByteArray::fromHex(en_key == "" ? hmac_verify_key.toLatin1() : en_key.toLatin1()); QByteArray key = QByteArray::fromHex(en_key == "" ? hmac_verify_key.toLatin1() : en_key.toLatin1());
SM4_encrypt((u8 *)key.data(), 16, data, data_len, zdata->data,&len,false); SM4_encrypt((u8 *)key.data(), 16, data, data_len, zdata->data,&len,false);
zdata->length = len + CRYPTO_ZDATA_FRAME_PREFIX_LEN; zdata->length = len + CRYPTO_ZDATA_FRAME_PREFIX_LEN;
zdata->crc = crc16_xmodem(data, data_len);
} }
bool Protocol::zigbee_data_dectypt(uint8_t *data, uint8_t *data_len, crypto_zdata_frame *zdata, bool Protocol::zigbee_data_dectypt(uint8_t *data, uint8_t *data_len, crypto_zdata_frame *zdata,
@ -179,6 +180,9 @@ bool Protocol::zigbee_data_dectypt(uint8_t *data, uint8_t *data_len, crypto_zdat
QByteArray key = QByteArray::fromHex(en_key == "" ? hmac_verify_key.toLatin1() : en_key.toLatin1()); QByteArray key = QByteArray::fromHex(en_key == "" ? hmac_verify_key.toLatin1() : en_key.toLatin1());
SM4_decrypt((u8 *)key.data(), 16, zdata->data, msglen, data, &len,false); SM4_decrypt((u8 *)key.data(), 16, zdata->data, msglen, data, &len,false);
*data_len = len; *data_len = len;
u16 crc = crc16_xmodem(data, *data_len);
if (crc != zdata->crc)
return false;
return true; return true;
} }

View File

@ -251,6 +251,7 @@ void ZigBeeDataResolver::des_port_parser(zigbee_protocol::ZigbeeFrame &zframe, b
object.insert("note_text",QJsonValue(note_text)); object.insert("note_text",QJsonValue(note_text));
emit data_send("zigbee_recv_data_view",object); emit data_send("zigbee_recv_data_view",object);
node->second.id=0; node->second.id=0;
node->second.verified=0;
new_data_frame(5) dframe; new_data_frame(5) dframe;
memset(&dframe,0,sizeof (dframe)); memset(&dframe,0,sizeof (dframe));
_protocol->protocal_wrapper((data_frame *)&dframe, 0, 5, (u8 *)"RESET", false); _protocol->protocal_wrapper((data_frame *)&dframe, 0, 5, (u8 *)"RESET", false);
@ -266,6 +267,7 @@ void ZigBeeDataResolver::des_port_parser(zigbee_protocol::ZigbeeFrame &zframe, b
object.insert("recieved", false); object.insert("recieved", false);
object.insert("type","zigbee_recv_data"); object.insert("type","zigbee_recv_data");
emit data_send("zigbee_recv_data_view",object); emit data_send("zigbee_recv_data_view",object);
emit data_send("serial_port",object);
return; return;
} }
else else
@ -323,6 +325,7 @@ void ZigBeeDataResolver::des_port_parser(zigbee_protocol::ZigbeeFrame &zframe, b
object.insert("type","zigbee_recv_data"); object.insert("type","zigbee_recv_data");
emit data_send("zigbee_recv_data_view",object); emit data_send("zigbee_recv_data_view",object);
node->second.id=0; node->second.id=0;
node->second.verified=0;
new_data_frame(5) dframe; new_data_frame(5) dframe;
memset(&dframe,0,sizeof (dframe)); memset(&dframe,0,sizeof (dframe));
_protocol->protocal_wrapper((data_frame *)&dframe, 0, 5, (u8 *)"RESET", false); _protocol->protocal_wrapper((data_frame *)&dframe, 0, 5, (u8 *)"RESET", false);
@ -338,6 +341,8 @@ void ZigBeeDataResolver::des_port_parser(zigbee_protocol::ZigbeeFrame &zframe, b
object.insert("recieved", false); object.insert("recieved", false);
object.insert("type","zigbee_recv_data"); object.insert("type","zigbee_recv_data");
emit data_send("zigbee_recv_data_view",object); emit data_send("zigbee_recv_data_view",object);
if(!is_demo)
emit data_send("serial_port",object);
} }
break; break;
} }