confgenerator for Balance: configurable speed/angle for each tiltback type

Signed-off-by: Dado Mista <dadomista@gmail.com>
This commit is contained in:
Dado Mista 2021-08-15 16:22:59 -07:00
parent 848cb3165d
commit 3f1c7872f4
2 changed files with 25 additions and 7 deletions

View File

@ -287,15 +287,21 @@ int32_t confgenerator_serialize_appconf(uint8_t *buffer, const app_configuration
buffer_append_uint16(buffer, conf->app_balance_conf.fault_delay_switch_half, &ind);
buffer_append_uint16(buffer, conf->app_balance_conf.fault_delay_switch_full, &ind);
buffer_append_uint16(buffer, conf->app_balance_conf.fault_adc_half_erpm, &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.tiltback_duty, &ind);
buffer_append_float16(buffer, conf->app_balance_conf.tiltback_angle, 100, &ind);
buffer_append_float16(buffer, conf->app_balance_conf.tiltback_speed, 100, &ind);
buffer_append_float16(buffer, conf->app_balance_conf.tiltback_duty, 1000, &ind);
buffer_append_float16(buffer, conf->app_balance_conf.tiltback_hv_angle, 100, &ind);
buffer_append_float16(buffer, conf->app_balance_conf.tiltback_hv_speed, 100, &ind);
buffer_append_float32_auto(buffer, conf->app_balance_conf.tiltback_high_voltage, &ind);
buffer_append_float16(buffer, conf->app_balance_conf.tiltback_lv_angle, 100, &ind);
buffer_append_float16(buffer, conf->app_balance_conf.tiltback_lv_speed, 100, &ind);
buffer_append_float32_auto(buffer, conf->app_balance_conf.tiltback_low_voltage, &ind);
buffer_append_float16(buffer, conf->app_balance_conf.tiltback_return_speed, 100, &ind);
buffer_append_float32_auto(buffer, conf->app_balance_conf.tiltback_constant, &ind);
buffer_append_uint16(buffer, conf->app_balance_conf.tiltback_constant_erpm, &ind);
buffer_append_float32_auto(buffer, conf->app_balance_conf.tiltback_variable, &ind);
buffer_append_float32_auto(buffer, conf->app_balance_conf.tiltback_variable_max, &ind);
buffer_append_float16(buffer, conf->app_balance_conf.noseangling_speed, 100, &ind);
buffer_append_float32_auto(buffer, conf->app_balance_conf.startup_pitch_tolerance, &ind);
buffer_append_float32_auto(buffer, conf->app_balance_conf.startup_roll_tolerance, &ind);
buffer_append_float32_auto(buffer, conf->app_balance_conf.startup_speed, &ind);
@ -653,15 +659,21 @@ bool confgenerator_deserialize_appconf(const uint8_t *buffer, app_configuration
conf->app_balance_conf.fault_delay_switch_half = buffer_get_uint16(buffer, &ind);
conf->app_balance_conf.fault_delay_switch_full = buffer_get_uint16(buffer, &ind);
conf->app_balance_conf.fault_adc_half_erpm = buffer_get_uint16(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.tiltback_duty = buffer_get_float32_auto(buffer, &ind);
conf->app_balance_conf.tiltback_angle = buffer_get_float16(buffer, 100, &ind);
conf->app_balance_conf.tiltback_speed = buffer_get_float16(buffer, 100, &ind);
conf->app_balance_conf.tiltback_duty = buffer_get_float16(buffer, 1000, &ind);
conf->app_balance_conf.tiltback_hv_angle = buffer_get_float16(buffer, 100, &ind);
conf->app_balance_conf.tiltback_hv_speed = buffer_get_float16(buffer, 100, &ind);
conf->app_balance_conf.tiltback_high_voltage = buffer_get_float32_auto(buffer, &ind);
conf->app_balance_conf.tiltback_lv_angle = buffer_get_float16(buffer, 100, &ind);
conf->app_balance_conf.tiltback_lv_speed = buffer_get_float16(buffer, 100, &ind);
conf->app_balance_conf.tiltback_low_voltage = buffer_get_float32_auto(buffer, &ind);
conf->app_balance_conf.tiltback_return_speed = buffer_get_float16(buffer, 100, &ind);
conf->app_balance_conf.tiltback_constant = buffer_get_float32_auto(buffer, &ind);
conf->app_balance_conf.tiltback_constant_erpm = buffer_get_uint16(buffer, &ind);
conf->app_balance_conf.tiltback_variable = buffer_get_float32_auto(buffer, &ind);
conf->app_balance_conf.tiltback_variable_max = buffer_get_float32_auto(buffer, &ind);
conf->app_balance_conf.noseangling_speed = buffer_get_float32_auto(buffer, &ind);
conf->app_balance_conf.startup_pitch_tolerance = buffer_get_float32_auto(buffer, &ind);
conf->app_balance_conf.startup_roll_tolerance = buffer_get_float32_auto(buffer, &ind);
conf->app_balance_conf.startup_speed = buffer_get_float32_auto(buffer, &ind);
@ -1006,12 +1018,18 @@ void confgenerator_set_defaults_appconf(app_configuration *conf) {
conf->app_balance_conf.tiltback_angle = APPCONF_BALANCE_TILTBACK_ANGLE;
conf->app_balance_conf.tiltback_speed = APPCONF_BALANCE_TILTBACK_SPEED;
conf->app_balance_conf.tiltback_duty = APPCONF_BALANCE_TILTBACK_DUTY;
conf->app_balance_conf.tiltback_hv_angle = APPCONF_BALANCE_TILTBACK_HV_ANGLE;
conf->app_balance_conf.tiltback_hv_speed = APPCONF_BALANCE_TILTBACK_HV_SPEED;
conf->app_balance_conf.tiltback_high_voltage = APPCONF_BALANCE_TILTBACK_HIGH_V;
conf->app_balance_conf.tiltback_lv_angle = APPCONF_BALANCE_TILTBACK_LV_ANGLE;
conf->app_balance_conf.tiltback_lv_speed = APPCONF_BALANCE_TILTBACK_LV_SPEED;
conf->app_balance_conf.tiltback_low_voltage = APPCONF_BALANCE_TILTBACK_LOW_V;
conf->app_balance_conf.tiltback_return_speed = APPCONF_BALANCE_TILTBACK_RETURN_SPEED;
conf->app_balance_conf.tiltback_constant = APPCONF_BALANCE_TILTBACK_CONSTANT;
conf->app_balance_conf.tiltback_constant_erpm = APPCONF_BALANCE_TILTBACK_CONSTANT_ERPM;
conf->app_balance_conf.tiltback_variable = APPCONF_BALANCE_TILTBACK_VARIABLE;
conf->app_balance_conf.tiltback_variable_max = APPCONF_BALANCE_TILTBACK_VARIABLE_MAX;
conf->app_balance_conf.noseangling_speed = APPCONF_BALANCE_NOSEANGLING_SPEED;
conf->app_balance_conf.startup_pitch_tolerance = APPCONF_BALANCE_STARTUP_PITCH_TOLERANCE;
conf->app_balance_conf.startup_roll_tolerance = APPCONF_BALANCE_STARTUP_ROLL_TOLERANCE;
conf->app_balance_conf.startup_speed = APPCONF_BALANCE_STARTUP_SPEED;

View File

@ -9,7 +9,7 @@
// Constants
#define MCCONF_SIGNATURE 3706516163
#define APPCONF_SIGNATURE 2302012416
#define APPCONF_SIGNATURE 2855199595
// Functions
int32_t confgenerator_serialize_mcconf(uint8_t *buffer, const mc_configuration *conf);