feature(command):添加M5停止命令,M5P0,M5P1

This commit is contained in:
2026-07-28 19:46:22 +08:00
parent 37232c617f
commit 15cf25a9e0
2 changed files with 15 additions and 9 deletions
+14 -2
View File
@@ -462,7 +462,7 @@ void handle_command(const uint8_t *frame, uint8_t len) {
send_response(RESP_TYPE_PARAM_ERR, s_report_status_err, sizeof(s_report_status_err)); send_response(RESP_TYPE_PARAM_ERR, s_report_status_err, sizeof(s_report_status_err));
return; return;
} }
COMMAND_DEBUG("M3 Command(PUSH): Actuator Channel=%u, Duty Cycle=%u", p_val, s_val); SEGGER_RTT_printf(0, "[COMMAND] M3 Command(PUSH): Actuator Channel=%u, Duty Cycle=%u \n", p_val, s_val);
actuator_output((actuator_channel_t)p_val, (uint16_t)s_val, DIRECTION_PUSH); actuator_output((actuator_channel_t)p_val, (uint16_t)s_val, DIRECTION_PUSH);
send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok)); send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok));
} }
@@ -484,12 +484,24 @@ void handle_command(const uint8_t *frame, uint8_t len) {
send_response(RESP_TYPE_PARAM_ERR, s_report_status_err, sizeof(s_report_status_err)); send_response(RESP_TYPE_PARAM_ERR, s_report_status_err, sizeof(s_report_status_err));
return; return;
} }
COMMAND_DEBUG("M4 Command(PULL): Actuator Channel=%u, Duty Cycle=%u", p_val, s_val); SEGGER_RTT_printf(0, "[COMMAND] M4 Command(PULL): Actuator Channel=%u, Duty Cycle=%u \n", p_val, s_val);
actuator_output((actuator_channel_t)p_val, (uint16_t)s_val, DIRECTION_PULL); actuator_output((actuator_channel_t)p_val, (uint16_t)s_val, DIRECTION_PULL);
send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok)); send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok));
} }
return; return;
case 5u: // M5 stop actuator output
uint32_t p_val = 0;
bool has_p = find_parameter_value(cmd, cmd_len, 'P', &p_val);
if (!has_p || p_val > (uint32_t)ACTUATOR_CH2) {
send_response(RESP_TYPE_PARAM_ERR, s_report_status_err, sizeof(s_report_status_err));
return;
}
SEGGER_RTT_printf(0, "[COMMAND] M5 Command(STOP): Actuator Channel=%u \n", p_val);
actuator_stop((actuator_channel_t)p_val);
send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok));
return;
/* ========================================== /* ==========================================
* M888 软件重启命令 * M888 软件重启命令
* ========================================== */ * ========================================== */
+1 -7
View File
@@ -53,9 +53,6 @@ int main(void)
{ {
led_init(); led_init();
mcu_detect_and_config(); mcu_detect_and_config();
// delay_ms(1000);
systick_config(); systick_config();
uart_ring_buffer_init(); uart_ring_buffer_init();
@@ -63,10 +60,6 @@ int main(void)
actuator_init(); actuator_init();
// actuator_output(ACTUATOR_CH1, 800, DIRECTION_PULL); // Set actuator channel 1 to high, channel 2 to low
// i2c_config();
#if DEBUG_MODE == CFG_ENABLE #if DEBUG_MODE == CFG_ENABLE
printf("Hello World!\r\n"); printf("Hello World!\r\n");
#endif #endif
@@ -82,6 +75,7 @@ int main(void)
#endif #endif
/* ========== Command Testing ========== */ /* ========== Command Testing ========== */
// command_execute("M3P0S999");
/* ========== */ /* ========== */