mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-09-14 15:16:40 +00:00
feat(ui): optional magnetic flip-cover screen lock via user-wired Hall sensor
No board in this repo has one built in, and no default pin is assumed anywhere -- whoever wires a Hall-effect or reed sensor to a free GPIO sets PIN_HALL_SENSOR (and HALL_ACTIVE_HIGH, for a sensor that pulls the pin high rather than low on presence) as a build_flag on their own env. Entirely opt-in and a no-op elsewhere, same pattern as PIN_GPIO1..4/ADC_MULTIPLIER/ CARDKB_ENABLE. Level-triggered polling (like pollCardKB()) rather than an edge interrupt -- a magnet held near the sensor reads the same way every tick, so the new pollHallSensor() only acts on the two transitions. Closing locks and blanks the display with no wake grace (the cover is physically over the screen, so there's nothing to show); opening unlocks and wakes it, with no key combo either way. Both are independent of the Auto-lock setting, which is a timeout, not a physical event. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -51,3 +51,14 @@ The display turns off again automatically after 5 seconds of inactivity (or 2 se
|
||||
### Auto-lock
|
||||
|
||||
Enable **Auto-lock** in **Settings › Display** to lock the device automatically whenever the display turns off due to auto-off timeout.
|
||||
|
||||
---
|
||||
|
||||
### Magnetic cover (Hall sensor)
|
||||
|
||||
Optional, user-supplied hardware — no board in this repo has one built in. Wire a Hall-effect or reed sensor to any free GPIO, then set `PIN_HALL_SENSOR` (and `HALL_ACTIVE_HIGH=1`, if your module pulls the pin high rather than low when the magnet is present) as `build_flags` in your own env. No-op entirely unless `PIN_HALL_SENSOR` is defined.
|
||||
|
||||
Fully autonomous, independent of Auto-lock and of any key combo:
|
||||
|
||||
- **Magnet near (cover closed)** — locks and blanks the display immediately, no wake grace.
|
||||
- **Magnet away (cover opened)** — unlocks and wakes the display right away.
|
||||
|
||||
Reference in New Issue
Block a user