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();
|
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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue