diff --git a/internal_filesystem/boot.py b/internal_filesystem/boot.py index e969728b..4687f7c0 100644 --- a/internal_filesystem/boot.py +++ b/internal_filesystem/boot.py @@ -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") diff --git a/internal_filesystem/boot_fri3d-2024.py b/internal_filesystem/boot_fri3d-2024.py index 1bec7c1b..826d7f59 100644 --- a/internal_filesystem/boot_fri3d-2024.py +++ b/internal_filesystem/boot_fri3d-2024.py @@ -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") diff --git a/internal_filesystem/lib/mpos/battery_voltage.py b/internal_filesystem/lib/mpos/battery_voltage.py index 1a16f1a2..3f326d95 100644 --- a/internal_filesystem/lib/mpos/battery_voltage.py +++ b/internal_filesystem/lib/mpos/battery_voltage.py @@ -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 0–3.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 0–3.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 diff --git a/internal_filesystem/lib/mpos/ui/__init__.py b/internal_filesystem/lib/mpos/ui/__init__.py index b63dab8b..878664b1 100644 --- a/internal_filesystem/lib/mpos/ui/__init__.py +++ b/internal_filesystem/lib/mpos/ui/__init__.py @@ -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