mirror of https://github.com/rusefi/bldc.git
Added more settings
This commit is contained in:
parent
9e6a9648df
commit
fd47441472
|
@ -2792,6 +2792,8 @@ The following selection of app and motor parameters can be read and set from Lis
|
||||||
'si-motor-poles ; Number of motor poles, must be multiple of 2
|
'si-motor-poles ; Number of motor poles, must be multiple of 2
|
||||||
'si-gear-ratio ; Gear ratio (Added in FW 6.05)
|
'si-gear-ratio ; Gear ratio (Added in FW 6.05)
|
||||||
'si-wheel-diameter ; Wheel diameter in meters (Added in FW 6.05)
|
'si-wheel-diameter ; Wheel diameter in meters (Added in FW 6.05)
|
||||||
|
'si-battery-cells ; Number of battery cells in series (Added in FW 6.05)
|
||||||
|
'si-battery-ah ; Battery amp hours (Added in FW 6.05)
|
||||||
'foc-current-kp ; FOC current controller KP
|
'foc-current-kp ; FOC current controller KP
|
||||||
'foc-current-ki ; FOC current controller KI
|
'foc-current-ki ; FOC current controller KI
|
||||||
'foc-motor-l ; Motor inductance in microHenry
|
'foc-motor-l ; Motor inductance in microHenry
|
||||||
|
@ -2820,6 +2822,8 @@ The following selection of app and motor parameters can be read and set from Lis
|
||||||
'foc-sl-openloop-time ; Stay in openloop for this amount of time
|
'foc-sl-openloop-time ; Stay in openloop for this amount of time
|
||||||
'foc-temp-comp ; Use observer temperature compensation
|
'foc-temp-comp ; Use observer temperature compensation
|
||||||
'foc-temp-comp-base-temp ; Temperature at which parameters were measured
|
'foc-temp-comp-base-temp ; Temperature at which parameters were measured
|
||||||
|
'foc-fw-current-max ; Maximum field weakening current (Added in FW 6.05)
|
||||||
|
'foc-fw-duty-start ; Duty where field weakening starts (Added in FW 6.05)
|
||||||
'min-speed ; Minimum speed in meters per second (a negative value)
|
'min-speed ; Minimum speed in meters per second (a negative value)
|
||||||
'max-speed ; Maximum speed in meters per second
|
'max-speed ; Maximum speed in meters per second
|
||||||
'app-to-use ; App to use
|
'app-to-use ; App to use
|
||||||
|
|
|
@ -154,12 +154,16 @@ typedef struct {
|
||||||
lbm_uint foc_sl_openloop_time;
|
lbm_uint foc_sl_openloop_time;
|
||||||
lbm_uint foc_temp_comp;
|
lbm_uint foc_temp_comp;
|
||||||
lbm_uint foc_temp_comp_base_temp;
|
lbm_uint foc_temp_comp_base_temp;
|
||||||
|
lbm_uint foc_fw_current_max;
|
||||||
|
lbm_uint foc_fw_duty_start;
|
||||||
lbm_uint m_invert_direction;
|
lbm_uint m_invert_direction;
|
||||||
lbm_uint m_out_aux_mode;
|
lbm_uint m_out_aux_mode;
|
||||||
lbm_uint m_ntc_motor_beta;
|
lbm_uint m_ntc_motor_beta;
|
||||||
lbm_uint si_motor_poles;
|
lbm_uint si_motor_poles;
|
||||||
lbm_uint si_gear_ratio;
|
lbm_uint si_gear_ratio;
|
||||||
lbm_uint si_wheel_diameter;
|
lbm_uint si_wheel_diameter;
|
||||||
|
lbm_uint si_battery_cells;
|
||||||
|
lbm_uint si_battery_ah;
|
||||||
lbm_uint min_speed;
|
lbm_uint min_speed;
|
||||||
lbm_uint max_speed;
|
lbm_uint max_speed;
|
||||||
lbm_uint controller_id;
|
lbm_uint controller_id;
|
||||||
|
@ -418,6 +422,10 @@ static bool compare_symbol(lbm_uint sym, lbm_uint *comp) {
|
||||||
get_add_symbol("foc-temp-comp", comp);
|
get_add_symbol("foc-temp-comp", comp);
|
||||||
} else if (comp == &syms_vesc.foc_temp_comp_base_temp) {
|
} else if (comp == &syms_vesc.foc_temp_comp_base_temp) {
|
||||||
get_add_symbol("foc-temp-comp-base-temp", comp);
|
get_add_symbol("foc-temp-comp-base-temp", comp);
|
||||||
|
} else if (comp == &syms_vesc.foc_fw_current_max) {
|
||||||
|
get_add_symbol("foc-fw-current-max", comp);
|
||||||
|
} else if (comp == &syms_vesc.foc_fw_duty_start) {
|
||||||
|
get_add_symbol("foc-fw-duty-start", comp);
|
||||||
} else if (comp == &syms_vesc.m_invert_direction) {
|
} else if (comp == &syms_vesc.m_invert_direction) {
|
||||||
get_add_symbol("m-invert-direction", comp);
|
get_add_symbol("m-invert-direction", comp);
|
||||||
} else if (comp == &syms_vesc.m_out_aux_mode) {
|
} else if (comp == &syms_vesc.m_out_aux_mode) {
|
||||||
|
@ -430,6 +438,10 @@ static bool compare_symbol(lbm_uint sym, lbm_uint *comp) {
|
||||||
get_add_symbol("si-gear-ratio", comp);
|
get_add_symbol("si-gear-ratio", comp);
|
||||||
} else if (comp == &syms_vesc.si_wheel_diameter) {
|
} else if (comp == &syms_vesc.si_wheel_diameter) {
|
||||||
get_add_symbol("si-wheel-diameter", comp);
|
get_add_symbol("si-wheel-diameter", comp);
|
||||||
|
} else if (comp == &syms_vesc.si_battery_cells) {
|
||||||
|
get_add_symbol("si-battery-cells", comp);
|
||||||
|
} else if (comp == &syms_vesc.si_battery_ah) {
|
||||||
|
get_add_symbol("si-battery-ah", comp);
|
||||||
} else if (comp == &syms_vesc.min_speed) {
|
} else if (comp == &syms_vesc.min_speed) {
|
||||||
get_add_symbol("min-speed", comp);
|
get_add_symbol("min-speed", comp);
|
||||||
} else if (comp == &syms_vesc.max_speed) {
|
} else if (comp == &syms_vesc.max_speed) {
|
||||||
|
@ -2860,6 +2872,12 @@ static lbm_value ext_conf_set(lbm_value *args, lbm_uint argn) {
|
||||||
} else if (compare_symbol(name, &syms_vesc.si_wheel_diameter)) {
|
} else if (compare_symbol(name, &syms_vesc.si_wheel_diameter)) {
|
||||||
mcconf->si_wheel_diameter = lbm_dec_as_float(args[1]);
|
mcconf->si_wheel_diameter = lbm_dec_as_float(args[1]);
|
||||||
changed_mc = 1;
|
changed_mc = 1;
|
||||||
|
} else if (compare_symbol(name, &syms_vesc.si_battery_cells)) {
|
||||||
|
mcconf->si_battery_cells = lbm_dec_as_i32(args[1]);
|
||||||
|
changed_mc = 1;
|
||||||
|
} else if (compare_symbol(name, &syms_vesc.si_battery_ah)) {
|
||||||
|
mcconf->si_battery_ah = lbm_dec_as_float(args[1]);
|
||||||
|
changed_mc = 1;
|
||||||
} else if (compare_symbol(name, &syms_vesc.controller_id)) {
|
} else if (compare_symbol(name, &syms_vesc.controller_id)) {
|
||||||
appconf->controller_id = lbm_dec_as_i32(args[1]);
|
appconf->controller_id = lbm_dec_as_i32(args[1]);
|
||||||
changed_app = 1;
|
changed_app = 1;
|
||||||
|
@ -2963,6 +2981,12 @@ static lbm_value ext_conf_set(lbm_value *args, lbm_uint argn) {
|
||||||
} else if (compare_symbol(name, &syms_vesc.foc_temp_comp_base_temp)) {
|
} else if (compare_symbol(name, &syms_vesc.foc_temp_comp_base_temp)) {
|
||||||
mcconf->foc_temp_comp_base_temp = lbm_dec_as_float(args[1]);
|
mcconf->foc_temp_comp_base_temp = lbm_dec_as_float(args[1]);
|
||||||
changed_mc = 2;
|
changed_mc = 2;
|
||||||
|
} else if (compare_symbol(name, &syms_vesc.foc_fw_current_max)) {
|
||||||
|
mcconf->foc_fw_current_max = lbm_dec_as_float(args[1]);
|
||||||
|
changed_mc = 2;
|
||||||
|
} else if (compare_symbol(name, &syms_vesc.foc_fw_duty_start)) {
|
||||||
|
mcconf->foc_fw_duty_start = lbm_dec_as_float(args[1]);
|
||||||
|
changed_mc = 2;
|
||||||
} else if (compare_symbol(name, &syms_vesc.app_to_use)) {
|
} else if (compare_symbol(name, &syms_vesc.app_to_use)) {
|
||||||
appconf->app_to_use = lbm_dec_as_i32(args[1]);
|
appconf->app_to_use = lbm_dec_as_i32(args[1]);
|
||||||
changed_app = 2;
|
changed_app = 2;
|
||||||
|
@ -3235,6 +3259,10 @@ static lbm_value ext_conf_get(lbm_value *args, lbm_uint argn) {
|
||||||
res = lbm_enc_i(mcconf->foc_temp_comp);
|
res = lbm_enc_i(mcconf->foc_temp_comp);
|
||||||
} else if (compare_symbol(name, &syms_vesc.foc_temp_comp_base_temp)) {
|
} else if (compare_symbol(name, &syms_vesc.foc_temp_comp_base_temp)) {
|
||||||
res = lbm_enc_float(mcconf->foc_temp_comp_base_temp);
|
res = lbm_enc_float(mcconf->foc_temp_comp_base_temp);
|
||||||
|
} else if (compare_symbol(name, &syms_vesc.foc_fw_current_max)) {
|
||||||
|
res = lbm_enc_float(mcconf->foc_fw_current_max);
|
||||||
|
} else if (compare_symbol(name, &syms_vesc.foc_fw_duty_start)) {
|
||||||
|
res = lbm_enc_float(mcconf->foc_fw_duty_start);
|
||||||
} else if (compare_symbol(name, &syms_vesc.m_invert_direction)) {
|
} else if (compare_symbol(name, &syms_vesc.m_invert_direction)) {
|
||||||
res = lbm_enc_i(mcconf->m_invert_direction);
|
res = lbm_enc_i(mcconf->m_invert_direction);
|
||||||
} else if (compare_symbol(name, &syms_vesc.m_out_aux_mode)) {
|
} else if (compare_symbol(name, &syms_vesc.m_out_aux_mode)) {
|
||||||
|
@ -3247,6 +3275,10 @@ static lbm_value ext_conf_get(lbm_value *args, lbm_uint argn) {
|
||||||
res = lbm_enc_float(mcconf->si_gear_ratio);
|
res = lbm_enc_float(mcconf->si_gear_ratio);
|
||||||
} else if (compare_symbol(name, &syms_vesc.si_wheel_diameter)) {
|
} else if (compare_symbol(name, &syms_vesc.si_wheel_diameter)) {
|
||||||
res = lbm_enc_float(mcconf->si_wheel_diameter);
|
res = lbm_enc_float(mcconf->si_wheel_diameter);
|
||||||
|
} else if (compare_symbol(name, &syms_vesc.si_battery_cells)) {
|
||||||
|
res = lbm_enc_i(mcconf->si_battery_cells);
|
||||||
|
} else if (compare_symbol(name, &syms_vesc.si_battery_ah)) {
|
||||||
|
res = lbm_enc_float(mcconf->si_battery_ah);
|
||||||
} else if (compare_symbol(name, &syms_vesc.min_speed)) {
|
} else if (compare_symbol(name, &syms_vesc.min_speed)) {
|
||||||
res = lbm_enc_float(mcconf->l_min_erpm / speed_fact);
|
res = lbm_enc_float(mcconf->l_min_erpm / speed_fact);
|
||||||
} else if (compare_symbol(name, &syms_vesc.max_speed)) {
|
} else if (compare_symbol(name, &syms_vesc.max_speed)) {
|
||||||
|
|
Loading…
Reference in New Issue