Browse Source

Merge branch 'master' of 192.168.1.3:p_chinagoldgroup_hand_acid/hand_acid_app_protocols

master
zhaohe 11 months ago
parent
commit
e1d5a53ee9
  1. 31
      ble_through/ble_proto_utils.c
  2. 2
      ble_through/ble_proto_utils.h

31
ble_through/ble_proto_utils.c

@ -3,6 +3,12 @@
#include <stdio.h>
#include <string.h>
static zble_proto_role_t m_from;
void zble_proto_utils_init(zble_proto_role_t from) { //
m_from = from;
}
bool ble_through_proto_check_packet(zble_proto_packet_t *packet) {
uint8_t *pu8 = (uint8_t *)packet;
@ -42,17 +48,18 @@ void zble_proto_utils_create_cmd_packet(zble_proto_packet_t *packet, uint16_t cm
packet->frameType = kzble_proto_cmd;
packet->frameIndex = index;
packet->cmd = cmd;
packet->from = kzble_upper;
packet->from = m_from;
packet->to = kzble_slave;
memcpy((void *)packet->data, data, datalen);
BLE_THROUGH_PACKET_SET_CHECKSUM(packet);
BLE_THROUGH_PACKET_SET_TAIL(packet);
}
void zble_proto_utils_create_cmd_packet_int32(zble_proto_packet_t *packet, uint16_t cmd, uint8_t index, int32_t *data, int32_t ndata) { zble_proto_utils_create_cmd_packet(packet, cmd, index, (uint8_t *)data, ndata * 4); }
void zble_proto_utils_create_cmd_packet_int32(zble_proto_packet_t *packet, uint16_t cmd, uint8_t index, int32_t *data, int32_t ndata) {
zble_proto_utils_create_cmd_packet(packet, cmd, index, (uint8_t *)data, ndata * 4);
}
void zble_proto_utils_create_error_receipt(zble_proto_packet_t* packet, zble_proto_packet_t* rxpacket, int32_t errorcode) {
void zble_proto_utils_create_error_receipt(zble_proto_packet_t *packet, zble_proto_packet_t *rxpacket, int32_t errorcode) {
int32_t packetlen = BLE_THROUGH_PACKET_BASE_SIZE() + sizeof(errorcode);
packet->h1 = PACKET_H1;
packet->h2 = PACKET_H2;
@ -60,15 +67,15 @@ void zble_proto_utils_create_error_receipt(zble_proto_packet_t* packet, zble_pro
packet->frameType = kzble_proto_error_receipt;
packet->frameIndex = rxpacket->frameIndex;
packet->cmd = rxpacket->cmd;
packet->from = kzble_slave;
packet->from = m_from;
packet->to = kzble_upper;
memcpy((void*)packet->data, (void*)&errorcode, 4);
memcpy((void *)packet->data, (void *)&errorcode, 4);
BLE_THROUGH_PACKET_SET_CHECKSUM(packet);
BLE_THROUGH_PACKET_SET_TAIL(packet);
//
}
void zble_proto_utils_create_receipt(zble_proto_packet_t* packet, zble_proto_packet_t* rxpacket, uint8_t* data, int32_t len) {
void zble_proto_utils_create_receipt(zble_proto_packet_t *packet, zble_proto_packet_t *rxpacket, uint8_t *data, int32_t len) {
int32_t packetlen = BLE_THROUGH_PACKET_BASE_SIZE() + len;
packet->h1 = PACKET_H1;
packet->h2 = PACKET_H2;
@ -76,17 +83,17 @@ void zble_proto_utils_create_receipt(zble_proto_packet_t* packet, zble_proto_pac
packet->frameType = kzble_proto_cmd_receipt;
packet->frameIndex = rxpacket->frameIndex;
packet->cmd = rxpacket->cmd;
packet->from = kzble_slave;
packet->from = m_from;
packet->to = kzble_upper;
// memcpy((void*)packet->data, (void*)&errorcode, 4);
memcpy((void*)packet->data, (void*)data, len);
memcpy((void *)packet->data, (void *)data, len);
BLE_THROUGH_PACKET_SET_CHECKSUM(packet);
BLE_THROUGH_PACKET_SET_TAIL(packet);
//
}
void zble_proto_utils_create_report(zble_proto_packet_t* packet, uint16_t index, uint16_t cmd, uint8_t* data, int32_t len) {
void zble_proto_utils_create_report(zble_proto_packet_t *packet, uint16_t index, uint16_t cmd, uint8_t *data, int32_t len) {
int32_t packetlen = BLE_THROUGH_PACKET_BASE_SIZE() + len;
packet->h1 = PACKET_H1;
packet->h2 = PACKET_H2;
@ -94,11 +101,11 @@ void zble_proto_utils_create_report(zble_proto_packet_t* packet, uint16_t index,
packet->frameType = kzble_proto_report;
packet->frameIndex = index;
packet->cmd = cmd;
packet->from = kzble_slave;
packet->from = m_from;
packet->to = kzble_upper;
// memcpy((void*)packet->data, (void*)&errorcode, 4);
memcpy((void*)packet->data, (void*)data, len);
memcpy((void *)packet->data, (void *)data, len);
BLE_THROUGH_PACKET_SET_CHECKSUM(packet);
BLE_THROUGH_PACKET_SET_TAIL(packet);
//

2
ble_through/ble_proto_utils.h

@ -23,6 +23,8 @@ extern "C" {
bool ble_through_proto_check_packet(zble_proto_packet_t *packet);
uint8_t ble_through_proto_sum(zble_proto_packet_t *packet);
void zble_proto_utils_init(zble_proto_role_t from);
void zble_proto_utils_create_cmd_packet(zble_proto_packet_t *packet, uint16_t cmd, uint8_t index, uint8_t *data, int32_t datalen);
void zble_proto_utils_create_cmd_packet_int32(zble_proto_packet_t *packet, uint16_t cmd, uint8_t index, int32_t *data, int32_t ndata);

Loading…
Cancel
Save