|
|
@@ -288,6 +288,7 @@ void mc_conf_init(void) {
|
|
|
mc_conf_default();
|
|
|
mc_conf_save();
|
|
|
}
|
|
|
+ sys_debug("mc size %d - %d\n", sizeof(conf), sizeof(conf.c));
|
|
|
sys_debug("mc conf band %d, pid: %f, %f, %f, %f, %d\n", conf.c.dq_loop_bandwith, conf.c.pid[PID_ID_ID].kp, conf.c.pid[PID_ID_ID].ki, conf.c.pid[PID_IQ_ID].kp, conf.c.pid[PID_IQ_ID].ki, mc_conf()->m.encoder_offset);
|
|
|
}
|
|
|
|
|
|
@@ -373,6 +374,7 @@ int mc_conf_decode_controler(u8 *buff) {
|
|
|
buff += mc_conf_decode_pid(&conf.c.pid[PID_Vel_ID], buff);
|
|
|
buff += mc_conf_decode_pid(&conf.c.pid[PID_AutoHold_ID], buff);
|
|
|
buff += mc_conf_decode_pid(&conf.c.pid[PID_IDCLim_ID], buff);
|
|
|
+ buff += mc_conf_decode_pid(&conf.c.epm_pid, buff);
|
|
|
|
|
|
conf.c.pid[PID_ID_ID].kp = (float)conf.c.dq_loop_bandwith * 2.0f * 3.14f * conf.m.ld;
|
|
|
conf.c.pid[PID_ID_ID].ki = conf.m.rs / conf.m.ld;
|
|
|
@@ -409,6 +411,7 @@ int mc_conf_encode_controler(u8 *buff) {
|
|
|
buff += mc_conf_encode_pid(&conf.c.pid[PID_Vel_ID], buff);
|
|
|
buff += mc_conf_encode_pid(&conf.c.pid[PID_AutoHold_ID], buff);
|
|
|
buff += mc_conf_encode_pid(&conf.c.pid[PID_IDCLim_ID], buff);
|
|
|
+ buff += mc_conf_encode_pid(&conf.c.epm_pid, buff);
|
|
|
return buff - ori;
|
|
|
}
|
|
|
|
|
|
@@ -559,11 +562,19 @@ int mc_conf_encode_configs(u8 *buff) {
|
|
|
}
|
|
|
|
|
|
void mc_conf_set_pid(u8 id, pid_t *pid) {
|
|
|
- conf.c.pid[id] = *pid;
|
|
|
+ if (id < PID_Max_ID) {
|
|
|
+ conf.c.pid[id] = *pid;
|
|
|
+ }else if (id == PID_EPM_ExtID){
|
|
|
+ conf.c.epm_pid = *pid;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void mc_conf_get_pid(u8 id, pid_t *pid) {
|
|
|
- *pid = conf.c.pid[id];
|
|
|
+ if (id < PID_Max_ID) {
|
|
|
+ *pid = conf.c.pid[id];
|
|
|
+ }else if (id == PID_EPM_ExtID){
|
|
|
+ *pid = conf.c.epm_pid;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
bool mc_conf_set_gear(u8 mode, u8 *data, int len) {
|