// Led_Key_Switch_Profile(0);
// Led_Tele_Switch_Profile(0);
// Led_Enc_Switch_Profile(0);
- Led_Key_Ble_Connected_Blink();
+// Led_Key_Ble_Connected_Blink();
Base_Uart_Init();
#if (IOT_ENABLE)
uint16_t encoder_bcd_cooldown[ABS_ENC_NUM] = {0};
ENCODER_BCD_T encoder_bcd[ABS_ENC_NUM] = {{.data = 0}, {.data = 0}, {.data = 0}};
ENCODER_BCD_T encoder_bcd_last[ABS_ENC_NUM] = {{.data = 0xFF}, {.data = 0xFF}, {.data = 0xFF}};
-uint8_t abs_enc_mode[ABS_ENC_NUM] = {0, 0, 0};
uint16_t abs_enc_pos_bit[ABS_ENC_NUM] = {0};
#endif
#endif
if(app_command->key_remap.mode == 0)
{
app_reply.key_remap.mode1.sub_packet = app_command->key_remap.mode1.sub_packet;
+ app_reply.cmd.status = REPLY_STATUS_OK;
+#if (W_GTL)
if(app_command->key_remap.mode1.sub_packet == 0)
{
-#if (W_GTL)
- memcpy(&app_reply.key_remap.mode1.remapable_key.key1, &io_input_remap[DINPUT_MODE].key1, 40);
- memcpy(&app_reply.key_remap.mode1.remapable_key.paddle_ld, &io_input_remap[DINPUT_MODE].paddle_ld, 2);
+ memcpy(&app_reply.key_remap.mode1.remapable_key_0.key1, &io_input_remap[DINPUT_MODE].key1, 40);
+ memcpy(&app_reply.key_remap.mode1.remapable_key_0.paddle_ld, &io_input_remap[DINPUT_MODE].paddle_ld, 2);
+ }
+ else if(app_command->key_remap.mode1.sub_packet == 1)
+ {
+ memcpy(&app_reply.key_remap.mode1.remapable_key_1.abs_enc1_cnt1, &io_input_remap[DINPUT_MODE].abs_enc1_cnt1, sizeof(IO_REMAPABLE_KEY_1_T));
+ }
#elif (W_TS)
- memcpy(&app_reply.key_remap.mode1.remapable_key.key1, &io_input_remap[DINPUT_MODE].key1, sizeof(IO_REMAPABLE_KEY_T));
+ if(app_command->key_remap.mode1.sub_packet == 0)
+ {
+ memcpy(&app_reply.key_remap.mode1.remapable_key_0.key1, &io_input_remap[DINPUT_MODE].key1, sizeof(IO_REMAPABLE_KEY_0_T));
+ }
#endif
+ else
+ {
+ app_reply.cmd.status = REPLY_STATUS_NO_CMD;
}
- app_reply.cmd.status = REPLY_STATUS_OK;
+
}
else if(app_command->key_remap.mode == 1)
{
app_reply.key_remap.mode2.remap_src = app_command->key_remap.mode2.remap_src;
- if(app_command->key_remap.mode2.remap_src >= 40 && app_command->key_remap.mode2.remap_src <= 75)
- {
- app_reply.key_remap.mode2.remap_dst = 0;
- app_reply.cmd.status = REPLY_STATUS_FAIL;
- }
- else
- {
- app_reply.key_remap.mode2.remap_dst = io_input_remap[DINPUT_MODE].data[app_command->key_remap.mode2.remap_src];
- app_reply.cmd.status = REPLY_STATUS_OK;
- }
+// if(app_command->key_remap.mode2.remap_src >= 40 && app_command->key_remap.mode2.remap_src <= 75)
+// {
+// app_reply.key_remap.mode2.remap_dst = 0;
+// app_reply.cmd.status = REPLY_STATUS_FAIL;
+// }
+// else
+// {
+// app_reply.key_remap.mode2.remap_dst = io_input_remap[DINPUT_MODE].data[app_command->key_remap.mode2.remap_src];
+// app_reply.cmd.status = REPLY_STATUS_OK;
+// }
+ app_reply.key_remap.mode2.remap_dst = io_input_remap[DINPUT_MODE].data[app_command->key_remap.mode2.remap_src];
+ app_reply.cmd.status = REPLY_STATUS_OK;
}
}
else if(app_command->key_remap.read_write == USB_COMM_WRITE)
if(app_command->key_remap.mode == 0)
{
app_reply.key_remap.mode1.sub_packet = app_command->key_remap.mode1.sub_packet;
+ app_reply.cmd.status = REPLY_STATUS_OK;
if(app_command->key_remap.mode1.sub_packet == 0)
{
for(uint8_t i=0;i<40;i++)
{
- if(app_command->key_remap.mode1.remapable_key.remap_dst[i] != 0)
+ if(app_command->key_remap.mode1.remapable_key_0.remap_dst[i] != 0)
{
- io_input_remap[DINPUT_MODE].data[i] = app_command->key_remap.mode1.remapable_key.remap_dst[i];
+ io_input_remap[DINPUT_MODE].data[i] = app_command->key_remap.mode1.remapable_key_0.remap_dst[i];
}
- app_reply.key_remap.mode1.remapable_key.remap_dst[i] = io_input_remap[DINPUT_MODE].data[i];
+ app_reply.key_remap.mode1.remapable_key_0.remap_dst[i] = io_input_remap[DINPUT_MODE].data[i];
}
for(uint8_t i=40;i<42;i++)
{
- if(app_command->key_remap.mode1.remapable_key.remap_dst[i] != 0)
+ if(app_command->key_remap.mode1.remapable_key_0.remap_dst[i] != 0)
{
- io_input_remap[DINPUT_MODE].data[i+36] = app_command->key_remap.mode1.remapable_key.remap_dst[i];
+ io_input_remap[DINPUT_MODE].data[i+36] = app_command->key_remap.mode1.remapable_key_0.remap_dst[i];
}
- app_reply.key_remap.mode1.remapable_key.remap_dst[i] = io_input_remap[DINPUT_MODE].data[i+36];
+ app_reply.key_remap.mode1.remapable_key_0.remap_dst[i] = io_input_remap[DINPUT_MODE].data[i+36];
}
- app_reply.cmd.status = REPLY_STATUS_OK;
+ Flash_Write_Query_Add(FLASH_INPUT_REMAP_ADDR, FLASH_INPUT_REMAP_FLAG, (uint8_t*)&io_input_remap, sizeof(IO_INPUT_REMAP_T)*3, 1);
+
+ }
+ else if(app_command->key_remap.mode1.sub_packet == 1)
+ {
+ for(uint8_t i=0;i<sizeof(IO_REMAPABLE_KEY_1_T);i++)
+ {
+ if(app_command->key_remap.mode1.remapable_key_1.remap_dst[i] != 0)
+ {
+ io_input_remap[DINPUT_MODE].data[offsetofstruct(IO_INPUT_REMAP_T, abs_enc1_cnt1) + i] = app_command->key_remap.mode1.remapable_key_1.remap_dst[i];
+ }
+ app_reply.key_remap.mode1.remapable_key_1.remap_dst[i] = io_input_remap[DINPUT_MODE].data[offsetofstruct(IO_INPUT_REMAP_T, abs_enc1_cnt1) + i];
+ }
+ Flash_Write_Query_Add(FLASH_INPUT_REMAP_ADDR, FLASH_INPUT_REMAP_FLAG, (uint8_t*)&io_input_remap, sizeof(IO_INPUT_REMAP_T)*3, 1);
+ }
+ else
+ {
+ app_reply.cmd.status = REPLY_STATUS_NO_CMD;
}
+
}
else if(app_command->key_remap.mode == 1)
{
- if(app_command->key_remap.mode2.remap_src >= 40 && app_command->key_remap.mode2.remap_src <= 75)
- {
- app_reply.cmd.status = REPLY_STATUS_FAIL;
- }
- else if(app_command->key_remap.mode2.remap_src && app_command->key_remap.mode2.remap_dst != 0)
+// if(app_command->key_remap.mode2.remap_src >= 40 && app_command->key_remap.mode2.remap_src <= 75)
+// {
+// app_reply.cmd.status = REPLY_STATUS_FAIL;
+// }
+// else
+ if(app_command->key_remap.mode2.remap_src < sizeof(IO_INPUT_REMAP_T) && app_command->key_remap.mode2.remap_dst != 0)
{
io_input_remap[DINPUT_MODE].data[app_command->key_remap.mode2.remap_src] = app_command->key_remap.mode2.remap_dst;
app_reply.cmd.status = REPLY_STATUS_OK;
+ Flash_Write_Query_Add(FLASH_INPUT_REMAP_ADDR, FLASH_INPUT_REMAP_FLAG, (uint8_t*)&io_input_remap, sizeof(IO_INPUT_REMAP_T)*3, 1);
+ }
+ else
+ {
+ app_reply.cmd.status = REPLY_STATUS_FAIL;
}
app_reply.key_remap.mode2.remap_src = app_command->key_remap.mode2.remap_src;
app_reply.key_remap.mode2.remap_dst = app_command->key_remap.mode2.remap_dst;
+
+
}
else
{
void Iot_Uart_Rx_Handle(uint8_t *data ,uint8_t len)
{
- if(data[1] != 0xE0)
+ if(data[1] != 0xE0 && data[1] != 0xB7)
{
DUG_PRINTF("IOT: ");
for(uint8_t i=0;i<10;i++)
}
if(len >= 4 && len <= IOT_UART_BUFFER_MAX && data[0] == FRAMEHEAD_IOT_TO_PANEL && Crc8_ROHC_Cal(&data[1], len-2) == data[len-1])
{
- DUG_PRINTF("recv:%02x\n", data[1]);
+// DUG_PRINTF("recv:%02x\n", data[1]);
switch (data[1])
{
case 0x00:
if(systicks - timerSecond >= ONE_TIMER_SECOND)
{
timerSecond= systicks;
- if(powerOn_count <= 10)
+ if(powerOn_count <= 15)
{
powerOn_count++;
// DUG_PRINTF("iot got_heartbeat_flag:%d",got_heartbeat_flag);
- if(powerOn_count == 10 && got_heartbeat_flag >= 3) //¿ª»ú10¼ì²éÒ»´ÎÊÇ·ñÐèÒª·¢ËÍmcuÐÅÏ¢
+ if(powerOn_count % 5 == 0 && got_heartbeat_flag >= 3) //¿ª»ú10¼ì²éÒ»´ÎÊÇ·ñÐèÒª·¢ËÍmcuÐÅÏ¢
{
Iot_Send_Mcu_Info();
Iot_Uart_Tx_Query_Add(0x0A, NULL, 0);
// DUG_PRINTF("iot_uart_tx_query[0].size %d\n",iot_uart_tx_query[0].size);
#if (1)
// DUG_PRINTF("iot iot_uart_tx_query[0].size£º%d\n",iot_uart_tx_query[0].size);
- if(iot_uart_tx_query[0].buffer[0] != 0xb7 || iot_uart_tx_query[0].buffer[0] != 0xe0 ){
+ if(iot_uart_tx_query[0].buffer[0] != 0xb7 && iot_uart_tx_query[0].buffer[0] != 0xe0 ){
DUG_PRINTF("iot send:\n");
// for(uint8_t i=0;i<iot_uart_tx_query[0].size;i++)
// {
// user_io_setting.race_telemetry_config.unit[i].key,user_io_setting.race_telemetry_config.unit[i].enc);
//
// }
- DUG_PRINTF("data %d dp_id:%d\n",*((uint8_t*)dp_object[dp_id].object),dp_id);
+ DUG_PRINTF("dp_id %d abs_enc1_cnt1:%d %d %d %d\n",*((uint8_t*)dp_object[dp_id].object),dp_id,io_input_remap[0].abs_enc1_cnt1,io_input_remap[0].abs_enc1_cnt2,io_input_remap[0].abs_enc1_cnt3,io_input_remap[0].abs_enc1_cnt4);
if(dp_id == 746)
{
*(uint8_t *)dp_object[747].object = (uint8_t)input;