Make battery voltage pin handling generic

This commit is contained in:
Thomas Farstrike
2025-10-08 17:52:37 +02:00
parent 9f4e2018ae
commit b44720cd4b
4 changed files with 23 additions and 11 deletions
+4
View File
@@ -82,4 +82,8 @@ indev=cst816s.CST816S(touch_dev,startup_rotation=lv.DISPLAY_ROTATION._180) # but
lv.init()
display.set_rotation(lv.DISPLAY_ROTATION._90) # must be done after initializing display and creating the touch drivers, to ensure proper handling
# Battery voltage ADC measuring
import mpos.battery_voltage
mpos.battery_voltage.init_adc(5)
print("boot.py finished")
+4
View File
@@ -214,4 +214,8 @@ disp = lv.display_get_default() # NOQA
indev.set_display(disp) # different from display
indev.enable(True) # NOQA
# Battery voltage ADC measuring
import mpos.battery_voltage
mpos.battery_voltage.init_adc(13)
print("boot.py finished")
+15 -10
View File
@@ -1,14 +1,19 @@
adc = None
have_adc=True
try:
from machine import ADC, Pin
# Configure ADC on pin 5 (IO5 / BAT_ADC)
#adc = ADC(Pin(5)) # TouchColorPiggy
adc = ADC(Pin(13)) # fri3d-2024
# Set ADC to 11dB attenuation for 03.3V range (common for ESP32)
adc.atten(ADC.ATTN_11DB)
except Exception as e:
print("Info: this platform has no ADC for measuring battery voltage")
have_adc=False
# This gets called by (the device-specific) boot*.py
def init_adc(pinnr):
global adc
try:
from machine import ADC, Pin
print("setting adc")
adc = ADC(Pin(pinnr))
print("adc set")
# Set ADC to 11dB attenuation for 03.3V range (common for ESP32)
adc.atten(ADC.ATTN_11DB)
except Exception as e:
print("Info: this platform has no ADC for measuring battery voltage")
have_adc=False
import time
@@ -1,6 +1,5 @@
import lvgl as lv
import mpos.apps
import mpos.battery_voltage
import mpos.time
import mpos.wifi
from mpos.ui.anim import WidgetAnimator