/* * bsp_pv_setting.c * * Created on: Jan 8, 2025 * Author: akeguo */ #include #include "BHBF_ROBOT.h" #include "bsp_decode_command.h" #include "gpio.h" #include "bsp_UART.h" void UpdateIV(); void decode_received_data_from_client(uint8_t *buffer, uint16_t length); struct UARTHandler *client_setting_Handler; //相当于当前行及下一行这两个结构体与绑定的共享地址 DispacherController *client_setting_dispacher; int LastCount; void client_setting_intialize(struct UARTHandler *Handler) { client_setting_Handler = Handler; client_setting_Handler->Wait_time = 30; // 最低不要低于4; client_setting_dispacher=Handler->dispacherController; client_setting_dispacher->Add_Dispatcher_List(client_setting_dispacher,UpdateIV); client_setting_dispacher->DispacherCallTime=1000; client_setting_dispacher->Dispacher_Enable = 1; LOG("client_setting_intialize"); client_setting_Handler->UART_Decode = decode_received_data_from_client; //indicate that there is no need to listen } void UpdateIV()//往安卓发的 { if(GV.Robot_PaintThickness_Count > LastCount) { } else { return; } client_setting_Handler->Tx_Buf[0] = 0x01; client_setting_Handler->Tx_Buf[1] = 0x03; client_setting_Handler->Tx_Buf[2] = 0x02; client_setting_Handler->TxCount = 7; client_setting_Handler->Tx_Buf[3] = (GV.Robot_PaintThickness>>8) &0xff; client_setting_Handler->Tx_Buf[4] = GV.Robot_PaintThickness & 0xff; uint16_t crc=MB_CRC16(&(client_setting_Handler->Tx_Buf[0]), 5); client_setting_Handler->Tx_Buf[6] = (crc>>8) &0xff; client_setting_Handler->Tx_Buf[5] = crc & 0xff; client_setting_Handler->UART_Tx(client_setting_Handler); LastCount = GV.Robot_PaintThickness_Count; } void decode_received_data_from_client(uint8_t *buffer, uint16_t length) { uint8_t data[2000]; memcpy(data,buffer,length); } // client_setting_Handler->Tx_Buf[0]='1'; // client_setting_Handler->Tx_Buf[1]=','; // //wh_LTE_7S0_Handler->Tx_Buf[2]='1'; // client_setting_Handler->TxCount = 2; // client_setting_Handler->UART_Tx(client_setting_Handler);