mirror of https://github.com/rusefi/bldc.git
Add confgenerator fix bugs
This commit is contained in:
parent
14faa2e593
commit
2c41dda638
|
@ -91,8 +91,8 @@ void app_balance_start(void) {
|
|||
setpoint = 0;
|
||||
setpoint_target = 0;
|
||||
setpointAdjustmentType = STARTUP;
|
||||
startup_step_size = (config.startup_speed / 1000) * config.loop_delay;
|
||||
tiltback_step_size = (config.tiltback_speed / 1000) * config.loop_delay;
|
||||
startup_step_size = 0;
|
||||
tiltback_step_size = 0;
|
||||
current_time = NULL;
|
||||
last_time = NULL;
|
||||
diff_time = NULL;
|
||||
|
@ -162,6 +162,13 @@ static THD_FUNCTION(example_thread, arg) {
|
|||
(void)arg;
|
||||
chRegSetThreadName("APP_BALANCE");
|
||||
|
||||
// Do one off config
|
||||
startup_step_size = (config.startup_speed / 1000) * config.loop_delay;
|
||||
tiltback_step_size = (config.tiltback_speed / 1000) * config.loop_delay;
|
||||
|
||||
state = CALIBRATING;
|
||||
setpointAdjustmentType = STARTUP;
|
||||
|
||||
while (!chThdShouldTerminateX()) {
|
||||
// Update times
|
||||
current_time = chVTGetSystemTimeX();
|
||||
|
@ -231,12 +238,12 @@ static THD_FUNCTION(example_thread, arg) {
|
|||
// Adjust setpoint
|
||||
if(setpoint != setpoint_target){
|
||||
// If we are less than one step size away, go all the way
|
||||
if(fabs(setpoint_target - setpoint) < get_setpoint_adjustment_step_size){
|
||||
if(fabs(setpoint_target - setpoint) < get_setpoint_adjustment_step_size()){
|
||||
setpoint = setpoint_target;
|
||||
}else if (setpoint_target - setpoint > 0){
|
||||
setpoint += get_setpoint_adjustment_step_size;
|
||||
setpoint += get_setpoint_adjustment_step_size();
|
||||
}else{
|
||||
setpoint -= get_setpoint_adjustment_step_size;
|
||||
setpoint -= get_setpoint_adjustment_step_size();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -230,6 +230,15 @@ int32_t confgenerator_serialize_appconf(uint8_t *buffer, const app_configuration
|
|||
buffer_append_float32_auto(buffer, conf->app_balance_conf.roll_offset, &ind);
|
||||
buffer_append_float32_auto(buffer, conf->app_balance_conf.pitch_fault, &ind);
|
||||
buffer_append_float32_auto(buffer, conf->app_balance_conf.roll_fault, &ind);
|
||||
buffer_append_float32_auto(buffer, conf->app_balance_conf.overspeed_duty, &ind);
|
||||
buffer_append_float32_auto(buffer, conf->app_balance_conf.tiltback_duty, &ind);
|
||||
buffer_append_float32_auto(buffer, conf->app_balance_conf.tiltback_angle, &ind);
|
||||
buffer_append_float32_auto(buffer, conf->app_balance_conf.tiltback_speed, &ind);
|
||||
buffer_append_float32_auto(buffer, conf->app_balance_conf.startup_pitch, &ind);
|
||||
buffer_append_float32_auto(buffer, conf->app_balance_conf.startup_roll, &ind);
|
||||
buffer_append_float32_auto(buffer, conf->app_balance_conf.startup_speed, &ind);
|
||||
buffer_append_float32_auto(buffer, conf->app_balance_conf.deadzone, &ind);
|
||||
buffer_append_float32_auto(buffer, conf->app_balance_conf.current_boost, &ind);
|
||||
|
||||
return ind;
|
||||
}
|
||||
|
@ -466,6 +475,15 @@ bool confgenerator_deserialize_appconf(const uint8_t *buffer, app_configuration
|
|||
conf->app_balance_conf.roll_offset = buffer_get_float32_auto(buffer, &ind);
|
||||
conf->app_balance_conf.pitch_fault = buffer_get_float32_auto(buffer, &ind);
|
||||
conf->app_balance_conf.roll_fault = buffer_get_float32_auto(buffer, &ind);
|
||||
conf->app_balance_conf.overspeed_duty = buffer_get_float32_auto(buffer, &ind);
|
||||
conf->app_balance_conf.tiltback_duty = buffer_get_float32_auto(buffer, &ind);
|
||||
conf->app_balance_conf.tiltback_angle = buffer_get_float32_auto(buffer, &ind);
|
||||
conf->app_balance_conf.tiltback_speed = buffer_get_float32_auto(buffer, &ind);
|
||||
conf->app_balance_conf.startup_pitch = buffer_get_float32_auto(buffer, &ind);
|
||||
conf->app_balance_conf.startup_roll = buffer_get_float32_auto(buffer, &ind);
|
||||
conf->app_balance_conf.startup_speed = buffer_get_float32_auto(buffer, &ind);
|
||||
conf->app_balance_conf.deadzone = buffer_get_float32_auto(buffer, &ind);
|
||||
conf->app_balance_conf.current_boost = buffer_get_float32_auto(buffer, &ind);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -686,4 +704,13 @@ void confgenerator_set_defaults_appconf(app_configuration *conf) {
|
|||
conf->app_balance_conf.roll_offset = APPCONF_BALANCE_ROLL_OFFSET;
|
||||
conf->app_balance_conf.pitch_fault = APPCONF_BALANCE_PITCH_FAULT;
|
||||
conf->app_balance_conf.roll_fault = APPCONF_BALANCE_ROLL_FAULT;
|
||||
conf->app_balance_conf.overspeed_duty = APPCONF_BALANCE_OVERSPEED_DUTY;
|
||||
conf->app_balance_conf.tiltback_duty = APPCONF_BALANCE_TILTBACK_DUTY;
|
||||
conf->app_balance_conf.tiltback_angle = APPCONF_BALANCE_TILTBACK_ANGLE;
|
||||
conf->app_balance_conf.tiltback_speed = APPCONF_BALANCE_TILTBACK_SPEED;
|
||||
conf->app_balance_conf.startup_pitch = APPCONF_BALANCE_STARTUP_PITCH;
|
||||
conf->app_balance_conf.startup_roll = APPCONF_BALANCE_STARTUP_ROLL;
|
||||
conf->app_balance_conf.startup_speed = APPCONF_BALANCE_STARTUP_SPEED;
|
||||
conf->app_balance_conf.deadzone = APPCONF_BALANCE_DEADZONE;
|
||||
conf->app_balance_conf.current_boost = APPCONF_BALANCE_CURRENT_BOOST;
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
// Constants
|
||||
#define MCCONF_SIGNATURE 503309878
|
||||
#define APPCONF_SIGNATURE 384122670
|
||||
#define APPCONF_SIGNATURE 2685639154
|
||||
|
||||
// Functions
|
||||
int32_t confgenerator_serialize_mcconf(uint8_t *buffer, const mc_configuration *conf);
|
||||
|
|
Loading…
Reference in New Issue