diff --git a/README.md b/README.md index bada79e..d804492 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,15 @@ The following `deck.fs` functions are direct aliases to the corresponding `os` c - `env` = `getenv` = `os.getenv` - `rnd` = `urandom` = `os.urandom` +### `deck.hwinfo` (WIP) + +Various hardware information. + +Exports the following functions: + +- `board_id()`: get the board ID, or `emulated` if it's not run on a CircuitPython device +- `battery_v()`: (T-Deck-specific) get the current battery voltage + ### `deck.net` T-Deck/CircuitPython-specific library for Wi-Fi connection and returning `requests` and `socket` library instances. diff --git a/deck/hwinfo.py b/deck/hwinfo.py new file mode 100644 index 0000000..1eec80d --- /dev/null +++ b/deck/hwinfo.py @@ -0,0 +1,23 @@ +# deck.hwinfo: various T-Deck-specific hardware info sources + +REAL_HW = False +try: + import board, analogio + vbat_analog = analogio.AnalogIn(board.BAT_ADC) + REAL_HW = True +except: + pass + +# get board ID +def board_id(): + if REAL_HW: + return board.board_id + else: + return 'emulated' + +# get battery voltage +def battery_v(): + if REAL_HW: + return (vbat_analog.value * 3.3) / 65535 * 2 + else: + return 0 diff --git a/tdeckboot.py b/tdeckboot.py index 2d2f44f..8aca607 100644 --- a/tdeckboot.py +++ b/tdeckboot.py @@ -7,7 +7,7 @@ from deck.fs import unlock_rootfs, lock_rootfs, mount_sd, umount_sd, env, rnd from deck.fs import du, df, sep, pwd, ls, md, cd, rd, rm, mv, cp, sync from deck.input import input, input_multi from deck.pager import print_paged, term_size -# from deck.hwinfo import +from deck.hwinfo import board_id, battery_v from app.ed import edit, view try: from deck import net