Compare commits

...

12 Commits

Author SHA1 Message Date
Yaroslav
d760de9f03
Merge b194950c5e into 78d6e5931c 2026-02-04 09:18:11 +11:00
Jake Kenneally
78d6e5931c
fix: Correct debugging_monitor.py script instructions (#676)
Some checks are pending
CI / build (push) Waiting to run
## Summary

**What is the goal of this PR?**
- Minor correction to the `debugging_monitor.py` script instructions

**What changes are included?**
- `pyserial` should be installed, NOT `serial`, which is a [different
lib](https://pypi.org/project/serial/)
- Added macOS serial port

## Additional Context

- Just a minor docs update. I can confirm the debugging script is
working great on macOS

---

### AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing,
please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? _**< NO >**_
2026-02-04 00:33:20 +03:00
Luke Stein
dac11c3fdd
fix: Correct instruction text to match actual button text (#672)
## Summary

* Instruction text says "Press OK to scan again" but button label is
actually "Connect" (not OK)
* Corrects instruction text

---

### AI Usage

Did you use AI tools to help write this code? **No**
2026-02-04 00:32:52 +03:00
Yaroslav
b194950c5e Update MappedInputManager.cpp 2026-02-02 02:11:10 +03:00
Yaroslav
d2674a4071 Add the missing layout to FrontLayoutMap 2026-01-29 01:21:57 +03:00
Yaroslav
e38326e30a Update MappedInputManager.cpp 2026-01-28 13:59:47 +03:00
Yaroslav
1ee3227ffb Run clang-format-fix 2026-01-28 13:35:08 +03:00
Yaroslav
107ef3233b
Merge branch 'master' into feat/back-left-right-confirm-layout 2026-01-28 13:27:50 +03:00
Yaroslav
d15f032368 Run clang-format-fix 2026-01-24 21:46:03 +03:00
Yaroslav
224f20acdb Small formatting fixes 2026-01-24 21:42:09 +03:00
Yaroslav
a0d7e77a7e Run clang-format-fix 2026-01-22 11:52:58 +03:00
ishuru
eaeb41bbca feat: Add new button layout option - Back, Left, Right, Confirm
This adds a fourth front button layout option where navigation buttons
(Left/Right) are placed in the center with Back on the far left and
Confirm on the far right, providing an alternative for users who prefer
this arrangement.

Changes:
- Added BACK_LEFT_RIGHT_CONFIRM enum value to FRONT_BUTTON_LAYOUT
- Updated MappedInputManager to handle button mapping for new layout
- Added 'Bck, Lft, Rght, Cnfrm' option to settings UI
- Updated USER_GUIDE.md to document the new option
2026-01-21 20:01:20 -05:00
6 changed files with 17 additions and 8 deletions

View File

@ -102,13 +102,18 @@ After flashing the new features, its recommended to capture detailed logs fro
First, make sure all required Python packages are installed:
```python
python3 -m pip install serial colorama matplotlib
python3 -m pip install pyserial colorama matplotlib
```
after that run the script:
```sh
# For Linux
# This was tested on Debian and should work on most Linux systems.
python3 scripts/debugging_monitor.py
# For macOS
python3 scripts/debugging_monitor.py /dev/cu.usbmodem2101
```
This was tested on Debian and should work on most Linux systems. Minor adjustments may be required for Windows or macOS.
Minor adjustments may be required for Windows.
## Internals

View File

@ -133,6 +133,7 @@ The Settings screen allows you to configure the device's behavior. There are a f
- Left, Right, Back, Confirm
- Left, Back, Confirm, Right
- Back, Confirm, Right, Left
- Back, Left, Right, Confirm
- **Side Button Layout (reader)**: Swap the order of the up and down volume buttons from Previous/Next to Next/Previous. This change is only in effect when reading.
- **Long-press Chapter Skip**: Set whether long-pressing page turn buttons skip to the next/previous chapter.
- "Chapter Skip" (default) - Long-pressing skips to next/previous chapter

View File

@ -43,13 +43,12 @@ class CrossPointSettings {
};
// Front button layout options
// Default: Back, Confirm, Left, Right
// Swapped: Left, Right, Back, Confirm
enum FRONT_BUTTON_LAYOUT {
BACK_CONFIRM_LEFT_RIGHT = 0,
LEFT_RIGHT_BACK_CONFIRM = 1,
LEFT_BACK_CONFIRM_RIGHT = 2,
BACK_CONFIRM_RIGHT_LEFT = 3,
BACK_LEFT_RIGHT_CONFIRM = 4,
FRONT_BUTTON_LAYOUT_COUNT
};

View File

@ -18,11 +18,13 @@ struct SideLayoutMap {
};
// Order matches CrossPointSettings::FRONT_BUTTON_LAYOUT.
// [back, confirm, left, right] are actioned by these physical buttons:
constexpr FrontLayoutMap kFrontLayouts[] = {
{HalGPIO::BTN_BACK, HalGPIO::BTN_CONFIRM, HalGPIO::BTN_LEFT, HalGPIO::BTN_RIGHT},
{HalGPIO::BTN_LEFT, HalGPIO::BTN_RIGHT, HalGPIO::BTN_BACK, HalGPIO::BTN_CONFIRM},
{HalGPIO::BTN_CONFIRM, HalGPIO::BTN_LEFT, HalGPIO::BTN_BACK, HalGPIO::BTN_RIGHT},
{HalGPIO::BTN_BACK, HalGPIO::BTN_CONFIRM, HalGPIO::BTN_RIGHT, HalGPIO::BTN_LEFT},
{HalGPIO::BTN_BACK, HalGPIO::BTN_RIGHT, HalGPIO::BTN_CONFIRM, HalGPIO::BTN_LEFT},
};
// Order matches CrossPointSettings::SIDE_BUTTON_LAYOUT.
@ -85,6 +87,8 @@ MappedInputManager::Labels MappedInputManager::mapLabels(const char* back, const
return {previous, back, confirm, next};
case CrossPointSettings::BACK_CONFIRM_RIGHT_LEFT:
return {back, confirm, next, previous};
case CrossPointSettings::BACK_LEFT_RIGHT_CONFIRM:
return {back, previous, next, confirm};
case CrossPointSettings::BACK_CONFIRM_LEFT_RIGHT:
default:
return {back, confirm, previous, next};

View File

@ -520,7 +520,7 @@ void WifiSelectionActivity::renderNetworkList() const {
const auto height = renderer.getLineHeight(UI_10_FONT_ID);
const auto top = (pageHeight - height) / 2;
renderer.drawCenteredText(UI_10_FONT_ID, top, "No networks found");
renderer.drawCenteredText(SMALL_FONT_ID, top + height + 10, "Press OK to scan again");
renderer.drawCenteredText(SMALL_FONT_ID, top + height + 10, "Press Connect to scan again");
} else {
// Calculate how many networks we can display
constexpr int startY = 60;

View File

@ -40,9 +40,9 @@ const SettingInfo readerSettings[readerSettingsCount] = {
constexpr int controlsSettingsCount = 4;
const SettingInfo controlsSettings[controlsSettingsCount] = {
SettingInfo::Enum(
"Front Button Layout", &CrossPointSettings::frontButtonLayout,
{"Bck, Cnfrm, Lft, Rght", "Lft, Rght, Bck, Cnfrm", "Lft, Bck, Cnfrm, Rght", "Bck, Cnfrm, Rght, Lft"}),
SettingInfo::Enum("Front Button Layout", &CrossPointSettings::frontButtonLayout,
{"Bck, Cnfrm, Lft, Rght", "Lft, Rght, Bck, Cnfrm", "Lft, Bck, Cnfrm, Rght",
"Bck, Cnfrm, Rght, Lft", "Bck, Lft, Rght, Cnfrm"}),
SettingInfo::Enum("Side Button Layout (reader)", &CrossPointSettings::sideButtonLayout,
{"Prev, Next", "Next, Prev"}),
SettingInfo::Toggle("Long-press Chapter Skip", &CrossPointSettings::longPressChapterSkip),