From 9ef1e267639140925add8a46dd8a12ec932d3b3d Mon Sep 17 00:00:00 2001 From: Rui Azevedo Date: Sun, 21 Jan 2024 18:12:01 -0100 Subject: [PATCH 1/8] Update README.md --- README.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/README.md b/README.md index ccde5f4e..cfdab2fa 100644 --- a/README.md +++ b/README.md @@ -16,12 +16,6 @@ Optionally the system can be operated in semi-automated mode, issuing navigation See the [wiki](https://github.com/neu-rah/ArduinoMenu/wiki) -### COVID-19 note - -**If you need this menu for any device covid-19 related, be my guest, I grant you free usage even if you going to sell the device** - -This menu system has the advantage of being long tested and supporting many interface devices so that makers don't be restricted in hardware. - ## Simple Example ```c++ #include From a9badfc6830132ce2ad74ccbd3c315917c0c5f71 Mon Sep 17 00:00:00 2001 From: cemik1 <100765359+cemik1@users.noreply.github.com> Date: Thu, 1 Aug 2024 10:12:45 +0200 Subject: [PATCH 2/8] Update rotaryEventIn.h fix for issue #414 --- src/menuIO/rotaryEventIn.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/menuIO/rotaryEventIn.h b/src/menuIO/rotaryEventIn.h index 33c667f7..29aa4195 100644 --- a/src/menuIO/rotaryEventIn.h +++ b/src/menuIO/rotaryEventIn.h @@ -42,9 +42,14 @@ template constexpr inline T& operator^= (T& a, T b) { return (T&)((int& BUTTON_DOUBLE_CLICKED = 1 << 1, BUTTON_LONG_PRESSED = 1 << 2, - ROTARY_CW = 1 << 3, + ROTARY_CW = 1 << 5, // fix for issue #414 ROTARY_CCW = 1 << 4, }; +/* +EventType values should be different for codes defined as: +const navCodesDef Menu::defaultNavCodes (menuBase.cpp file) +and special cases in textField::parseInput (items.cpp file) function +*/ EventType config; EventType events; // we could do a fifo if we miss events From ca689063029e414a86109e9329b774ec14f59726 Mon Sep 17 00:00:00 2001 From: Rui Azevedo Date: Mon, 4 Nov 2024 07:23:32 -0100 Subject: [PATCH 3/8] Update library.json (bump version after fix) for issue #414 --- library.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library.json b/library.json index 3e19ae5b..43516f06 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "ArduinoMenu library", - "version": "4.21.4", + "version": "4.21.5", "keywords": "menu, display, lcd, tft, buttons, encoder, io, control", "description": "AVR generic menu/interactivity system", "repository": From 6fcfc5c0acce3b9a77c0e6a3417f7de7ff45cba3 Mon Sep 17 00:00:00 2001 From: Rui Azevedo Date: Wed, 1 Jul 2026 22:33:46 +0000 Subject: [PATCH 4/8] Create arduinomenu-funding.json for project funding Added funding information for ArduinoMenu project, including maintainer details and project description. --- arduinomenu-funding.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 arduinomenu-funding.json diff --git a/arduinomenu-funding.json b/arduinomenu-funding.json new file mode 100644 index 00000000..85232d65 --- /dev/null +++ b/arduinomenu-funding.json @@ -0,0 +1,33 @@ +{ + "$schema": "https://fundingjson.org/schema/v1.1.0.json", + "version": "v1.1.0", + "entity": { + "type": "individual", + "role": "maintainer", + "name": "Rui Azevedo", + "email": "ruihfazevedo@gmail.com", + "phone": "", + "description": "Freelance embedded systems engineer with 35+ years of experience, based in the Azores, Portugal. Author of ArduinoMenu and the HAPI (Open Chain Derivation) compile-time composition framework, part of the InternetOfPins open source ecosystem (OneParse, OneMenu, OneChip, and related libraries) aimed at eliminating per-chip-variant fragmentation in embedded/IoT firmware.", + "webpageUrl": { + "url": "https://r-site.net", + "wellKnown": "" + } + }, + "projects": [ + { + "guid": "arduinomenu", + "name": "ArduinoMenu", + "description": "An open source menu/UI library for embedded and IoT devices (AVR, ESP32, STM32, and other MCU targets), used wherever a device needs a navigable on-device UI: buttons, encoders, LCD/OLED/TFT displays, serial terminals, or web interfaces. In production use for over a decade, with 1,000+ GitHub stars and preservation in the GitHub Arctic Code Vault. Funding supports migrating the library onto a newer, zero-overhead compile-time architecture (HAPI, part of the InternetOfPins ecosystem) and resolving a known compiler-diagnostics barrier that discourages less experienced adopters.", + "webpageUrl": { + "url": "https://github.com/neu-rah/ArduinoMenu", + "wellKnown": "" + }, + "repositoryUrl": { + "url": "https://github.com/neu-rah/ArduinoMenu", + "wellKnown": "" + }, + "licenses": ["spdx:LGPL-2.1"], + "tags": ["embedded", "iot", "arduino", "menu", "ui", "cpp", "avr", "esp32", "stm32"] + } + ] +} From 2bb7f1e919906e58798f07af84b0a7333df94c38 Mon Sep 17 00:00:00 2001 From: Rui Azevedo Date: Wed, 1 Jul 2026 22:45:47 +0000 Subject: [PATCH 5/8] Update funding.json with new structure and funding info Removed unnecessary schema reference and updated URLs for consistency. Added funding channels and plans to support ongoing development. --- arduinomenu-funding.json | 51 ++++++++++++++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 10 deletions(-) diff --git a/arduinomenu-funding.json b/arduinomenu-funding.json index 85232d65..813c643e 100644 --- a/arduinomenu-funding.json +++ b/arduinomenu-funding.json @@ -1,5 +1,4 @@ { - "$schema": "https://fundingjson.org/schema/v1.1.0.json", "version": "v1.1.0", "entity": { "type": "individual", @@ -9,8 +8,7 @@ "phone": "", "description": "Freelance embedded systems engineer with 35+ years of experience, based in the Azores, Portugal. Author of ArduinoMenu and the HAPI (Open Chain Derivation) compile-time composition framework, part of the InternetOfPins open source ecosystem (OneParse, OneMenu, OneChip, and related libraries) aimed at eliminating per-chip-variant fragmentation in embedded/IoT firmware.", "webpageUrl": { - "url": "https://r-site.net", - "wellKnown": "" + "url": "https://r-site.net" } }, "projects": [ @@ -19,15 +17,48 @@ "name": "ArduinoMenu", "description": "An open source menu/UI library for embedded and IoT devices (AVR, ESP32, STM32, and other MCU targets), used wherever a device needs a navigable on-device UI: buttons, encoders, LCD/OLED/TFT displays, serial terminals, or web interfaces. In production use for over a decade, with 1,000+ GitHub stars and preservation in the GitHub Arctic Code Vault. Funding supports migrating the library onto a newer, zero-overhead compile-time architecture (HAPI, part of the InternetOfPins ecosystem) and resolving a known compiler-diagnostics barrier that discourages less experienced adopters.", "webpageUrl": { - "url": "https://github.com/neu-rah/ArduinoMenu", - "wellKnown": "" + "url": "https://github.com/neu-rah/ArduinoMenu" }, "repositoryUrl": { - "url": "https://github.com/neu-rah/ArduinoMenu", - "wellKnown": "" + "url": "https://github.com/neu-rah/ArduinoMenu" }, - "licenses": ["spdx:LGPL-2.1"], - "tags": ["embedded", "iot", "arduino", "menu", "ui", "cpp", "avr", "esp32", "stm32"] + "licenses": [ + "spdx:LGPL-2.1" + ], + "tags": [ + "embedded", + "iot", + "arduino", + "menu", + "ui", + "cpp", + "avr", + "esp32", + "stm32" + ] } - ] + ], + "funding": { + "channels": [ + { + "guid": "paypal", + "type": "payment-provider", + "address": "https://www.paypal.com/paypalme/ruihfazevedo", + "description": "PayPal.Me" + } + ], + "plans": [ + { + "guid": "one-time", + "status": "active", + "name": "One-time donation", + "description": "Support ongoing development", + "amount": 0, + "currency": "EUR", + "frequency": "one-time", + "channels": null + } + ], + "history": [] + } } From baa9266be7b7086d4ac030ea6a6c719dd0849dd3 Mon Sep 17 00:00:00 2001 From: Rui Azevedo Date: Wed, 1 Jul 2026 22:54:49 +0000 Subject: [PATCH 6/8] Rename arduinomenu-funding.json to funding.json --- arduinomenu-funding.json => funding.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename arduinomenu-funding.json => funding.json (100%) diff --git a/arduinomenu-funding.json b/funding.json similarity index 100% rename from arduinomenu-funding.json rename to funding.json From 9233daaab28cab223dd4ce9411c61af6e9401f85 Mon Sep 17 00:00:00 2001 From: Rui Azevedo Date: Fri, 3 Jul 2026 02:47:52 +0000 Subject: [PATCH 7/8] Update README with OneMenu/HAPI development info Added section about the successor project OneMenu built on HAPI, including development status and links. --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index cfdab2fa..a31036b8 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,21 @@ Optionally the system can be operated in semi-automated mode, issuing navigation See the [wiki](https://github.com/neu-rah/ArduinoMenu/wiki) +## What's next — OneMenu / HAPI + +A successor is in active development, built on **HAPI**, a zero-overhead +compile-time composition engine (github.com/InternetOfPins/HAPI). Menu +definitions compile down to code indistinguishable from hand-written C — +see it for yourself: [Compiler Explorer demo](https://godbolt.org/z/6srTzdTY7). + +This isn't a release. The core (**OneMenu**) is solid, but a drop-in +compatibility layer for existing AM4 sketches is not done yet — that's the +main blocker before this becomes a real v5. If you're interested in the +architecture, want to help with the compatibility layer, or just want to +follow along, the repo is open: github.com/InternetOfPins/HAPI + +No migration is required right now. AM4 keeps working exactly as it does today. + ## Simple Example ```c++ #include From 5e974292091af1603157c3ca0089ba1974af518d Mon Sep 17 00:00:00 2001 From: neu-rah Date: Wed, 8 Jul 2026 04:15:04 +0000 Subject: [PATCH 8/8] docs: point the OneMenu/HAPI README note at the AM5 branch The drop-in compat layer mentioned here now exists and has real (unmodified) AM4 examples building against it -- link to where the work actually lives instead of just naming it as a future blocker. --- README.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a31036b8..64b2742c 100644 --- a/README.md +++ b/README.md @@ -23,11 +23,16 @@ compile-time composition engine (github.com/InternetOfPins/HAPI). Menu definitions compile down to code indistinguishable from hand-written C — see it for yourself: [Compiler Explorer demo](https://godbolt.org/z/6srTzdTY7). -This isn't a release. The core (**OneMenu**) is solid, but a drop-in -compatibility layer for existing AM4 sketches is not done yet — that's the -main blocker before this becomes a real v5. If you're interested in the -architecture, want to help with the compatibility layer, or just want to -follow along, the repo is open: github.com/InternetOfPins/HAPI +This isn't a release. The core (**OneMenu**) is solid, and a drop-in +compatibility layer for existing AM4 sketches is now in progress on the +**[AM5 branch](https://github.com/neu-rah/ArduinoMenu/tree/AM5)** of this +repo — real, unmodified AM4 examples (Blink, Button, Confirm so far) already +build against it with just a library-dependency swap, at roughly the same +flash/RAM savings as the Compiler Explorer demo above suggests. Still missing +pieces (masked text-field editing, the idle/suspend API, most device +drivers) before it covers AM4's full example set. If you're interested in +the architecture, want to help with the compatibility layer, or just want to +follow along: github.com/InternetOfPins/HAPI No migration is required right now. AM4 keeps working exactly as it does today.