@@ -111,7 +111,7 @@ void signPackage(void) {
111111 ui8_tx_buffer_counter ++ ;
112112}
113113
114- void addConfigStateInfos (void ) {
114+ void addConfigStateInfosA (void ) {
115115
116116 // float casts might be costly but they are only requested once every 10 seconds
117117 addPayload (CODE_ERPS_FACTOR , (uint16_t ) (((float ) wheel_circumference ) / ((float ) GEAR_RATIO )));
@@ -137,14 +137,22 @@ void addConfigStateInfos(void) {
137137 addPayload (CODE_MAX_BAT_CURRENT , ui16_battery_current_max_value );
138138 addPayload (CODE_CORRECTION_AT_ANGLE , ui8_correction_at_angle );
139139
140+ // 7 more elements left/avail (max30)
141+
142+ }
143+
144+ void addConfigStateInfosB (void ) {
145+
140146 addPayload (CODE_HALL_ANGLE_4_0 , ui8_s_hall_angle4_0 );
141147 addPayload (CODE_HALL_ANGLE_6_60 , ui8_s_hall_angle6_60 );
142148 addPayload (CODE_HALL_ANGLE_2_120 , ui8_s_hall_angle2_120 );
143149 addPayload (CODE_HALL_ANGLE_3_180 , ui8_s_hall_angle3_180 );
144150 addPayload (CODE_HALL_ANGLE_1_240 , ui8_s_hall_angle1_240 );
145151 addPayload (CODE_HALL_ANGLE_5_300 , ui8_s_hall_angle5_300 );
146- // 1 more elements left/avail (max30)
147152
153+ addPayload (CODE_ADC_BATTERY_VOLTAGE_CALIB , ui8_s_battery_voltage_calibration );
154+
155+ // 23 more elements left/avail (max30)
148156}
149157
150158void addHallStateInfos (void ) {
@@ -238,7 +246,11 @@ void gatherDynamicPayload(uint8_t function) {
238246
239247void gatherStaticPayload (uint8_t function ) {
240248 switch (function ) {
241- case FUN_CONFIG_INFOS :addConfigStateInfos ();
249+ case FUN_CONFIG_INFOS_A :
250+ addConfigStateInfosA ();
251+ break ;
252+ case FUN_CONFIG_INFOS_B :
253+ addConfigStateInfosB ();
242254 break ;
243255 default :
244256 addPayload (CODE_ERROR , CODE_ERROR );
@@ -285,6 +297,13 @@ void digestConfigRequest(uint8_t configAddress, uint8_t requestedCodeLowByte, ui
285297 }
286298 addPayload (requestedCodeLowByte , ui8_current_cal_a );
287299 break ;
300+ case CODE_ADC_BATTERY_VOLTAGE_CALIB :
301+ ui8_s_battery_voltage_calibration = requestedValue ;
302+ if (configAddress == EEPROM_ADDRESS ) {
303+ eeprom_write (OFFSET_BATTERY_VOLTAGE_CALIB , requestedValue );
304+ }
305+ addPayload (requestedCodeLowByte , ui8_s_battery_voltage_calibration );
306+ break ;
288307 case CODE_ASSIST_LEVEL :
289308 ui8_assistlevel_global = requestedValue ;
290309 if (configAddress == EEPROM_ADDRESS ) {
0 commit comments