This commit is contained in:
lulko 2025-04-17 16:55:48 +03:00
parent e65857ca6f
commit 7ef7228b31

View file

@ -216,7 +216,7 @@ void send_motor_torque() {
} }
void send_pid(uint8_t param_pid, float data){ void send_pid(uint8_t param_pid){
flash_rec = load_params(); flash_rec = load_params();
if (flash_rec == nullptr) { // Проверка на NULL if (flash_rec == nullptr) { // Проверка на NULL
return; return;
@ -238,7 +238,7 @@ void send_pid(uint8_t param_pid, float data){
if(param_pid == pid_p)param_pid = REG_MOTOR_POSPID_Kp; if(param_pid == pid_p)param_pid = REG_MOTOR_POSPID_Kp;
else if(param_pid == pid_i)param_pid = REG_MOTOR_POSPID_Ki; else if(param_pid == pid_i)param_pid = REG_MOTOR_POSPID_Ki;
else if(param_pid == pid_d)param_pid = REG_MOTOR_POSPID_Kd; else if(param_pid == pid_d)param_pid = REG_MOTOR_POSPID_Kd;
send_can_with_id_crc(id,param_pid,&data,sizeof(data)); send_can_with_id_crc(id,param_pid,&data_send,sizeof(data_send));
} }
void setup_id(uint8_t my_id) { void setup_id(uint8_t my_id) {
@ -340,6 +340,18 @@ void listen_can(const CAN_message_t &msg) {
setup_angle(motor_control_inputs.target_angle); setup_angle(motor_control_inputs.target_angle);
break; break;
case REG_MOTOR_POSPID_Kp:
setup_pid_angle(pid_p,msg.buf[1]);
break;
case REG_MOTOR_POSPID_Ki:
setup_pid_angle(pid_i,msg.buf[1]);
break;
case REG_MOTOR_POSPID_Kd:
setup_pid_angle(pid_d,msg.buf[1]);
break;
case MOTOR_ENABLED: case MOTOR_ENABLED:
if (msg.buf[1] == 1) { if (msg.buf[1] == 1) {
motor.enable(); motor.enable();
@ -378,6 +390,20 @@ void listen_can(const CAN_message_t &msg) {
send_foc_state(); send_foc_state();
break; break;
case REG_MOTOR_POSPID_Kp:
send_pid(pid_p);
break;
case REG_MOTOR_POSPID_Ki:
send_pid(pid_i);
break;
case REG_MOTOR_POSPID_Kd:
send_pid(pid_d);
break;
default: default:
break; break;
} }