add pid
This commit is contained in:
parent
e65857ca6f
commit
7ef7228b31
1 changed files with 28 additions and 2 deletions
|
@ -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();
|
||||
if (flash_rec == nullptr) { // Проверка на NULL
|
||||
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;
|
||||
else if(param_pid == pid_i)param_pid = REG_MOTOR_POSPID_Ki;
|
||||
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) {
|
||||
|
@ -340,6 +340,18 @@ void listen_can(const CAN_message_t &msg) {
|
|||
setup_angle(motor_control_inputs.target_angle);
|
||||
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:
|
||||
if (msg.buf[1] == 1) {
|
||||
motor.enable();
|
||||
|
@ -378,6 +390,20 @@ void listen_can(const CAN_message_t &msg) {
|
|||
send_foc_state();
|
||||
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:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue