@@ -139,23 +139,7 @@ void P139_data_struct::webform_load(struct EventStruct *event) {
139139 const bool isPowerManagerTask = Settings.isPowerManagerTask (event->TaskIndex );
140140
141141 {
142- const __FlashStringHelper *chargeledNames[] = {
143- toString (AXP2101_chargeled_d::Off),
144- toString (AXP2101_chargeled_d::Flash_1Hz),
145- toString (AXP2101_chargeled_d::Flash_4Hz),
146- toString (AXP2101_chargeled_d::Steady_On),
147- };
148- const int chargeledValues[] = {
149- static_cast <int >(AXP2101_chargeled_d::Off),
150- static_cast <int >(AXP2101_chargeled_d::Flash_1Hz),
151- static_cast <int >(AXP2101_chargeled_d::Flash_4Hz),
152- static_cast <int >(AXP2101_chargeled_d::Steady_On),
153- };
154- constexpr uint8_t valueCount = NR_ELEMENTS (chargeledValues);
155- addFormSelector (F (" Charge LED" ), F (" led" ),
156- valueCount,
157- chargeledNames, chargeledValues,
158- static_cast <int >(_settings.getChargeLed ()));
142+ AXP2101_ChargeLED_FormSelector selector (_settings.getChargeLed ());
159143 }
160144 {
161145 // Reg 61: Iprechg Charger Settings
@@ -180,104 +164,17 @@ void P139_data_struct::webform_load(struct EventStruct *event) {
180164 }
181165 {
182166 // Reg 14: Minimum System Voltage Control
183- const __FlashStringHelper *names[] = {
184- toString (AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_1V),
185- toString (AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_2V),
186- toString (AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_3V),
187- toString (AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_4V),
188- toString (AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_5V),
189- toString (AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_6V),
190- toString (AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_7V),
191- toString (AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_8V),
192- };
193- const int values[] = {
194- static_cast <int >(AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_1V),
195- static_cast <int >(AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_2V),
196- static_cast <int >(AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_3V),
197- static_cast <int >(AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_4V),
198- static_cast <int >(AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_5V),
199- static_cast <int >(AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_6V),
200- static_cast <int >(AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_7V),
201- static_cast <int >(AXP2101_Linear_Charger_Vsys_dpm_e::vsys_4_8V),
202- };
203- constexpr uint8_t valueCount = NR_ELEMENTS (values);
204- addFormSelector (F (" Minimum System Voltage" ), F (" min_vsys" ),
205- valueCount,
206- names, values,
207- static_cast <int >(_settings.getLinear_Charger_Vsys_dpm ()));
208- addUnit (F (" V" ));
167+ AXP2101_Linear_Charger_Vsys_dpm_FormSelector selector (_settings.getLinear_Charger_Vsys_dpm ());
209168 }
210169
211170 {
212171 // Reg 15: Input Voltage Limit
213- const __FlashStringHelper *names[] = {
214- toString (AXP2101_VINDPM_e::Vin_3_88V),
215- toString (AXP2101_VINDPM_e::Vin_3_96V),
216- toString (AXP2101_VINDPM_e::Vin_4_04V),
217- toString (AXP2101_VINDPM_e::Vin_4_12V),
218- toString (AXP2101_VINDPM_e::Vin_4_20V),
219- toString (AXP2101_VINDPM_e::Vin_4_28V),
220- toString (AXP2101_VINDPM_e::Vin_4_36V),
221- toString (AXP2101_VINDPM_e::Vin_4_44V),
222- toString (AXP2101_VINDPM_e::Vin_4_52V),
223- toString (AXP2101_VINDPM_e::Vin_4_60V),
224- toString (AXP2101_VINDPM_e::Vin_4_68V),
225- toString (AXP2101_VINDPM_e::Vin_4_76V),
226- toString (AXP2101_VINDPM_e::Vin_4_84V),
227- toString (AXP2101_VINDPM_e::Vin_4_92V),
228- toString (AXP2101_VINDPM_e::Vin_5_00V),
229- toString (AXP2101_VINDPM_e::Vin_5_08V),
230- };
231- const int values[] = {
232- static_cast <int >(AXP2101_VINDPM_e::Vin_3_88V),
233- static_cast <int >(AXP2101_VINDPM_e::Vin_3_96V),
234- static_cast <int >(AXP2101_VINDPM_e::Vin_4_04V),
235- static_cast <int >(AXP2101_VINDPM_e::Vin_4_12V),
236- static_cast <int >(AXP2101_VINDPM_e::Vin_4_20V),
237- static_cast <int >(AXP2101_VINDPM_e::Vin_4_28V),
238- static_cast <int >(AXP2101_VINDPM_e::Vin_4_36V),
239- static_cast <int >(AXP2101_VINDPM_e::Vin_4_44V),
240- static_cast <int >(AXP2101_VINDPM_e::Vin_4_52V),
241- static_cast <int >(AXP2101_VINDPM_e::Vin_4_60V),
242- static_cast <int >(AXP2101_VINDPM_e::Vin_4_68V),
243- static_cast <int >(AXP2101_VINDPM_e::Vin_4_76V),
244- static_cast <int >(AXP2101_VINDPM_e::Vin_4_84V),
245- static_cast <int >(AXP2101_VINDPM_e::Vin_4_92V),
246- static_cast <int >(AXP2101_VINDPM_e::Vin_5_00V),
247- static_cast <int >(AXP2101_VINDPM_e::Vin_5_08V),
248- };
249- constexpr uint8_t valueCount = NR_ELEMENTS (values);
250- addFormSelector (F (" Min Vin DPM Voltage" ), F (" vin_dpm" ),
251- valueCount,
252- names, values,
253- static_cast <int >(_settings.getVin_DPM ()));
254- addUnit (F (" V" ));
172+ AXP2101_Vin_DPM_FormSelector selector (_settings.getVin_DPM ());
255173 }
256174
257175 {
258176 // Reg 16: Input Current Limit
259- const __FlashStringHelper *names[] = {
260- toString (AXP2101_InputCurrentLimit_e::limit_100mA),
261- toString (AXP2101_InputCurrentLimit_e::limit_500mA),
262- toString (AXP2101_InputCurrentLimit_e::limit_900mA),
263- toString (AXP2101_InputCurrentLimit_e::limit_1000mA),
264- toString (AXP2101_InputCurrentLimit_e::limit_1500mA),
265- toString (AXP2101_InputCurrentLimit_e::limit_2000mA),
266- };
267- const int values[] = {
268- static_cast <int >(AXP2101_InputCurrentLimit_e::limit_100mA),
269- static_cast <int >(AXP2101_InputCurrentLimit_e::limit_500mA),
270- static_cast <int >(AXP2101_InputCurrentLimit_e::limit_900mA),
271- static_cast <int >(AXP2101_InputCurrentLimit_e::limit_1000mA),
272- static_cast <int >(AXP2101_InputCurrentLimit_e::limit_1500mA),
273- static_cast <int >(AXP2101_InputCurrentLimit_e::limit_2000mA),
274- };
275- constexpr uint8_t valueCount = NR_ELEMENTS (values);
276- addFormSelector (F (" Input Current Limit" ), F (" cur_lim_in" ),
277- valueCount,
278- names, values,
279- static_cast <int >(_settings.getInputCurrentLimit ()));
280- addUnit (F (" mA" ));
177+ AXP2101_InputCurrentLimit_FormSelector selector (_settings.getInputCurrentLimit ());
281178 }
282179
283180 addFormCheckBox (F (" Disable TS pin" ), F (" dis_TS" ), _settings.getTS_disabled ());
0 commit comments