VOID_T air_mcu_DP_report_cmd_send(UINT8_T *data,
UINT8_T data_len,
TAL_SEND_RESULT_CB result)
{
TAL_ZG_SEND_DATA_T send_data;
Code: Select all
if ((NULL == data) || (data_len > MAX_ZIGBEE_PAYLOAD_SIZE))
{
if (data_len > MAX_ZIGBEE_PAYLOAD_SIZE)
{
UINT16_T sn = tts_get_sn();
TAL_PR_HEXDUMP_NOTICE("multiple_packet", data, data_len);
// stop_send_stop_block_respond();
tal_zigbee_start_send_multiple_packet_handle(0x0000, CLUSTER_PRIVATE_TUYA_CLUSTER_ID, 1, 0, data_len, data, data_len, &tts_file);
// data[MAX_ZIGBEE_PAYLOAD_SIZE - 2] = sn >> 8;
// data[MAX_ZIGBEE_PAYLOAD_SIZE - 1] = sn;
// tal_zigbee_start_send_multiple_packet_handle(0x0000, CLUSTER_PRIVATE_TUYA_CLUSTER_ID, 1, 0, data_len, data + MAX_ZIGBEE_PAYLOAD_SIZE, data_len - MAX_ZIGBEE_PAYLOAD_SIZE, &tts_file);
TAL_PR_NOTICE("tts_file %d", tts_file);
tts_file++;
}
return;
}
TAL_PR_NOTICE("send %d", tts_file);
tal_system_memset(&send_data, 0, sizeof(TAL_ZG_SEND_DATA_T));
insert_private_command_send_buffer(SERIAL_PROTOCOL_DATA_REPORT, &send_data);
send_data.zcl_id = data[2];
// (UINT8_T) ZCL_ID_DP_REPORT;
tal_system_memcpy(send_data.data.private.data, data, data_len);
send_data.data.private.len = data_len;
tal_zg_clear_send_data(ZG_CLEAR_ALL_ZCL_ID, &send_data.zcl_id);
if (NULL != result)
{
tal_zg_send_data(&send_data, result, TAL_SEND_DATA_TIMEOUT);
}
else
{
tal_zg_send_data(&send_data, NULL, TAL_SEND_DATA_TIMEOUT);
}
TAL_PR_NOTICE("send %d", tts_file);
}