From 627fd9ea9631455a444fa871fc1e4b22ac29e9e3 Mon Sep 17 00:00:00 2001 From: Davide Date: Mon, 10 Feb 2025 11:51:49 +0100 Subject: [PATCH 01/13] chore: use the Arduino Following the [policy](https://forum.arduino.cc/t/new-official-policy-for-the-use-of-arduino-in-library-names/580564) the Arduino official libraries must start with Arduino. Changed the name into `Arduino Modulino` to respect the policy --- library.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library.properties b/library.properties index aa67d58..7508389 100644 --- a/library.properties +++ b/library.properties @@ -1,4 +1,4 @@ -name=Modulino +name=Arduino Modulino version=0.4.2 author=Arduino maintainer=Arduino From 92c624a42f9ca0294be01d5b63e3b2170a30b0bc Mon Sep 17 00:00:00 2001 From: Davide N Date: Tue, 11 Feb 2025 14:47:06 +0100 Subject: [PATCH 02/13] fix: update library name format to use underscore --- library.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library.properties b/library.properties index 7508389..05822ec 100644 --- a/library.properties +++ b/library.properties @@ -1,4 +1,4 @@ -name=Arduino Modulino +name=Arduino_Modulino version=0.4.2 author=Arduino maintainer=Arduino From bbd884d508d65ce8d59f84bf7e7a6e1634d340de Mon Sep 17 00:00:00 2001 From: Davide N Date: Tue, 11 Feb 2025 14:47:14 +0100 Subject: [PATCH 03/13] fix: update include statements to use Arduino_Modulino.h --- examples/Modulino_Buttons/Basic/Basic.ino | 4 ++-- examples/Modulino_Buzzer/Basic/Basic.ino | 4 ++-- examples/Modulino_Buzzer/Simple_melody/Simple_melody.ino | 4 ++-- examples/Modulino_Knob/Basic/Basic.ino | 4 ++-- examples/Modulino_Pixels/Basic/Basic.ino | 4 ++-- .../Modulino_Pixels/Simple_Animation/Simple_Animation.ino | 6 +++--- examples/Modulino_Thermo/Basic/Basic.ino | 4 ++-- src/Arduino_Modulino.h | 1 + 8 files changed, 16 insertions(+), 15 deletions(-) create mode 100644 src/Arduino_Modulino.h diff --git a/examples/Modulino_Buttons/Basic/Basic.ino b/examples/Modulino_Buttons/Basic/Basic.ino index c40209b..2a35694 100644 --- a/examples/Modulino_Buttons/Basic/Basic.ino +++ b/examples/Modulino_Buttons/Basic/Basic.ino @@ -1,4 +1,4 @@ -#include +#include ModulinoButtons buttons; @@ -25,4 +25,4 @@ void loop() { Serial.println("Button C pressed!"); } } -} \ No newline at end of file +} diff --git a/examples/Modulino_Buzzer/Basic/Basic.ino b/examples/Modulino_Buzzer/Basic/Basic.ino index b66e419..cba4ea4 100644 --- a/examples/Modulino_Buzzer/Basic/Basic.ino +++ b/examples/Modulino_Buzzer/Basic/Basic.ino @@ -1,4 +1,4 @@ -#include +#include ModulinoBuzzer buzzer; @@ -17,4 +17,4 @@ void loop(){ buzzer.tone(0, duration); delay(1000); -} \ No newline at end of file +} diff --git a/examples/Modulino_Buzzer/Simple_melody/Simple_melody.ino b/examples/Modulino_Buzzer/Simple_melody/Simple_melody.ino index 25c01cf..ff7add4 100644 --- a/examples/Modulino_Buzzer/Simple_melody/Simple_melody.ino +++ b/examples/Modulino_Buzzer/Simple_melody/Simple_melody.ino @@ -1,4 +1,4 @@ -#include +#include ModulinoBuzzer buzzer; @@ -18,4 +18,4 @@ void loop() { delay(250); } -} \ No newline at end of file +} diff --git a/examples/Modulino_Knob/Basic/Basic.ino b/examples/Modulino_Knob/Basic/Basic.ino index 879c940..c355727 100644 --- a/examples/Modulino_Knob/Basic/Basic.ino +++ b/examples/Modulino_Knob/Basic/Basic.ino @@ -1,4 +1,4 @@ -#include +#include ModulinoKnob knob; @@ -19,4 +19,4 @@ void loop(){ Serial.println("Clicked!"); } -} \ No newline at end of file +} diff --git a/examples/Modulino_Pixels/Basic/Basic.ino b/examples/Modulino_Pixels/Basic/Basic.ino index 88099a5..f737e61 100644 --- a/examples/Modulino_Pixels/Basic/Basic.ino +++ b/examples/Modulino_Pixels/Basic/Basic.ino @@ -1,4 +1,4 @@ -#include +#include ModulinoPixels leds; @@ -15,4 +15,4 @@ void loop(){ leds.set(i, BLUE, brightness); leds.show(); } -} \ No newline at end of file +} diff --git a/examples/Modulino_Pixels/Simple_Animation/Simple_Animation.ino b/examples/Modulino_Pixels/Simple_Animation/Simple_Animation.ino index addec14..76275f6 100644 --- a/examples/Modulino_Pixels/Simple_Animation/Simple_Animation.ino +++ b/examples/Modulino_Pixels/Simple_Animation/Simple_Animation.ino @@ -1,4 +1,4 @@ -#include +#include ModulinoPixels leds; @@ -29,7 +29,7 @@ void loop() { delay(25); } - + for (int i = 0; i < 8; i++) { setPixel(i, OFF); delay(25); @@ -40,4 +40,4 @@ void loop() { void setPixel(int pixel, ModulinoColor color) { leds.set(pixel, color, brightness); leds.show(); -} \ No newline at end of file +} diff --git a/examples/Modulino_Thermo/Basic/Basic.ino b/examples/Modulino_Thermo/Basic/Basic.ino index 74894c2..1131e05 100644 --- a/examples/Modulino_Thermo/Basic/Basic.ino +++ b/examples/Modulino_Thermo/Basic/Basic.ino @@ -1,4 +1,4 @@ -#include +#include // Create object instance ModulinoThermo thermo; @@ -28,4 +28,4 @@ void loop(){ Serial.print("Humidity (rH) is: "); Serial.println(humidity); -} \ No newline at end of file +} diff --git a/src/Arduino_Modulino.h b/src/Arduino_Modulino.h new file mode 100644 index 0000000..f0d4f42 --- /dev/null +++ b/src/Arduino_Modulino.h @@ -0,0 +1 @@ +#include "Modulino.h" From be31726c1db2a3c766635ed30b175dd0c88927f1 Mon Sep 17 00:00:00 2001 From: Davide N Date: Wed, 12 Feb 2025 09:22:58 +0100 Subject: [PATCH 04/13] fix: update include statement to use Arduino_Modulino.h --- library.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library.properties b/library.properties index 05822ec..ee4691c 100644 --- a/library.properties +++ b/library.properties @@ -7,5 +7,5 @@ paragraph= category=Communication url=https://github.com/arduino-libraries/Modulino architectures=* -includes=Modulino.h +includes=Arduino_Modulino.h depends=STM32duino VL53L4CD,STM32duino VL53L4ED,Arduino_LSM6DSOX,Arduino_LPS22HB,Arduino_HS300x,ArduinoGraphics From 84c14ce6287a80b018f688a663a9574e94d8fabc Mon Sep 17 00:00:00 2001 From: Davide N Date: Wed, 19 Mar 2025 11:27:28 +0100 Subject: [PATCH 05/13] update documentation: change header file reference from Modulino.h to Arduino_Modulino.h --- docs/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/readme.md b/docs/readme.md index de7bc45..89fdd82 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -25,7 +25,7 @@ The **Modulino** library supports the following hardware modules: To initialize the **Modulino** library, include the header file and call the `begin()` method. This will set up the I2C communication and prepare the library for use with the modules. ```cpp -#include +#include Modulino.begin(); // Initialize the Modulino library ``` @@ -124,7 +124,7 @@ Here’s an example of how to use some Modulino in a program: // This sketch demonstrates how to use the Modulino library to control buttons, LEDs, and a buzzer. // It listens for a button press (Button A), turns on the LED 0, and plays a sound through the buzzer when pressed. -#include +#include ModulinoButtons buttons; // Declare a Buttons Modulino ModulinoPixels leds; // Declare a Pixels Modulino From 5cd3351df1ccf0af539cffe5958202176c7c4535 Mon Sep 17 00:00:00 2001 From: Davide N Date: Wed, 16 Apr 2025 14:39:05 +0200 Subject: [PATCH 06/13] update includes: replace "Modulino.h" with "Arduino_Modulino.h" in example files --- .../Modulino_Buttons/Button2Integration/Button2Integration.ino | 2 +- examples/Modulino_Buzzer/Theremin/Theremin.ino | 2 +- examples/Modulino_Distance/Distance_Basic/Distance_Basic.ino | 2 +- examples/Modulino_Knob/Encoder_Setter/Encoder_Setter.ino | 2 +- examples/Modulino_Movement/Movement_Basic/Movement_Basic.ino | 2 +- .../Temperature_Humidity_Matrix/Temperature_Humidity_Matrix.ino | 2 +- examples/Utilities/FirmwareUpdater/FirmwareUpdater.ino | 2 +- examples/Utilities/Modulino_PlugNPlay/Modulino_PlugNPlay.ino | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/Modulino_Buttons/Button2Integration/Button2Integration.ino b/examples/Modulino_Buttons/Button2Integration/Button2Integration.ino index 9f092c0..0389ae8 100644 --- a/examples/Modulino_Buttons/Button2Integration/Button2Integration.ino +++ b/examples/Modulino_Buttons/Button2Integration/Button2Integration.ino @@ -7,7 +7,7 @@ * SPDX-License-Identifier: MPL-2.0 */ -#include "Modulino.h" +#include #include "Button2.h" Button2 button; diff --git a/examples/Modulino_Buzzer/Theremin/Theremin.ino b/examples/Modulino_Buzzer/Theremin/Theremin.ino index fd79184..9f3fd71 100644 --- a/examples/Modulino_Buzzer/Theremin/Theremin.ino +++ b/examples/Modulino_Buzzer/Theremin/Theremin.ino @@ -1,4 +1,4 @@ -#include "Modulino.h" +#include ModulinoBuzzer buzzer; ModulinoDistance distance; diff --git a/examples/Modulino_Distance/Distance_Basic/Distance_Basic.ino b/examples/Modulino_Distance/Distance_Basic/Distance_Basic.ino index 08e298e..0765519 100644 --- a/examples/Modulino_Distance/Distance_Basic/Distance_Basic.ino +++ b/examples/Modulino_Distance/Distance_Basic/Distance_Basic.ino @@ -6,7 +6,7 @@ * SPDX-License-Identifier: MPL-2.0 */ -#include "Modulino.h" +#include // Create a ModulinoDistance object ModulinoDistance distance; diff --git a/examples/Modulino_Knob/Encoder_Setter/Encoder_Setter.ino b/examples/Modulino_Knob/Encoder_Setter/Encoder_Setter.ino index 9f91112..81a491c 100644 --- a/examples/Modulino_Knob/Encoder_Setter/Encoder_Setter.ino +++ b/examples/Modulino_Knob/Encoder_Setter/Encoder_Setter.ino @@ -6,7 +6,7 @@ * SPDX-License-Identifier: MPL-2.0 */ -#include "Modulino.h" +#include // Create objects for the modules ModulinoKnob encoder; diff --git a/examples/Modulino_Movement/Movement_Basic/Movement_Basic.ino b/examples/Modulino_Movement/Movement_Basic/Movement_Basic.ino index 8de9a97..28c489c 100644 --- a/examples/Modulino_Movement/Movement_Basic/Movement_Basic.ino +++ b/examples/Modulino_Movement/Movement_Basic/Movement_Basic.ino @@ -6,7 +6,7 @@ * SPDX-License-Identifier: MPL-2.0 */ -#include "Modulino.h" +#include // Create a ModulinoMovement ModulinoMovement movement; diff --git a/examples/Modulino_Thermo/Temperature_Humidity_Matrix/Temperature_Humidity_Matrix.ino b/examples/Modulino_Thermo/Temperature_Humidity_Matrix/Temperature_Humidity_Matrix.ino index 57de8de..995f59d 100644 --- a/examples/Modulino_Thermo/Temperature_Humidity_Matrix/Temperature_Humidity_Matrix.ino +++ b/examples/Modulino_Thermo/Temperature_Humidity_Matrix/Temperature_Humidity_Matrix.ino @@ -6,7 +6,7 @@ * SPDX-License-Identifier: MPL-2.0 */ -#include "Modulino.h" +#include #include "ArduinoGraphics.h" #include "Arduino_LED_Matrix.h" diff --git a/examples/Utilities/FirmwareUpdater/FirmwareUpdater.ino b/examples/Utilities/FirmwareUpdater/FirmwareUpdater.ino index 3d6068a..5e8144c 100644 --- a/examples/Utilities/FirmwareUpdater/FirmwareUpdater.ino +++ b/examples/Utilities/FirmwareUpdater/FirmwareUpdater.ino @@ -11,7 +11,7 @@ #include "Arduino_LED_Matrix.h" #endif -#include "Modulino.h" +#include #include "Wire.h" #include "fw.h" diff --git a/examples/Utilities/Modulino_PlugNPlay/Modulino_PlugNPlay.ino b/examples/Utilities/Modulino_PlugNPlay/Modulino_PlugNPlay.ino index 5fcc7cf..b7f9131 100644 --- a/examples/Utilities/Modulino_PlugNPlay/Modulino_PlugNPlay.ino +++ b/examples/Utilities/Modulino_PlugNPlay/Modulino_PlugNPlay.ino @@ -6,7 +6,7 @@ * SPDX-License-Identifier: MPL-2.0 */ -#include "Modulino.h" +#include // Create objects for all Modulino modules ModulinoButtons buttons; From f4a43f5510d54a33282fa8110d7aad2e31ec3948 Mon Sep 17 00:00:00 2001 From: Davide Date: Tue, 17 Jun 2025 16:31:32 +0200 Subject: [PATCH 07/13] Update Knob_Basic.ino --- examples/Modulino_Knob/Knob_Basic/Knob_Basic.ino | 4 ---- 1 file changed, 4 deletions(-) diff --git a/examples/Modulino_Knob/Knob_Basic/Knob_Basic.ino b/examples/Modulino_Knob/Knob_Basic/Knob_Basic.ino index 9ed9c4a..3eeeec5 100644 --- a/examples/Modulino_Knob/Knob_Basic/Knob_Basic.ino +++ b/examples/Modulino_Knob/Knob_Basic/Knob_Basic.ino @@ -34,9 +34,6 @@ void loop(){ Serial.println("Clicked!"); } -<<<<<<< patch-1 -} -======= if (direction == 1) { Serial.println("Rotated clockwise"); } else if (direction == -1) { @@ -45,4 +42,3 @@ void loop(){ delay(10); // optional small delay to reduce serial spam } ->>>>>>> main From 2a04057faa5c73218f3449c018f9deeb93665aa4 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Wed, 15 Oct 2025 11:17:02 +0200 Subject: [PATCH 08/13] feat: support UNO Q Also fixes https://github.com/arduino-libraries/Arduino_Modulino/issues/40 --- src/Modulino.cpp | 2 ++ src/Modulino.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Modulino.cpp b/src/Modulino.cpp index 9c3ef2c..b0b1997 100644 --- a/src/Modulino.cpp +++ b/src/Modulino.cpp @@ -14,6 +14,7 @@ ModulinoColor VIOLET(255, 0, 255); ModulinoColor WHITE(255, 255, 255); #if __has_include("Arduino_LED_Matrix.h") +#if defined(ARDUINO_UNOR4_WIFI) void __increaseI2CPriority() { for (int i = 0; i < 96; i++) { if (R_ICU->IELSR[i] == BSP_PRV_IELS_ENUM(EVENT_IIC0_TXI)) { @@ -24,6 +25,7 @@ void __increaseI2CPriority() { } } } +#endif #else void __increaseI2CPriority() {} #endif \ No newline at end of file diff --git a/src/Modulino.h b/src/Modulino.h index 745061f..beeb9fb 100644 --- a/src/Modulino.h +++ b/src/Modulino.h @@ -26,7 +26,7 @@ void __increaseI2CPriority(); class ModulinoClass { public: -#if defined(ARDUINO_UNOR4_WIFI) || defined(ARDUINO_NANO_R4) +#if defined(ARDUINO_UNOR4_WIFI) || defined(ARDUINO_NANO_R4) || defined(ARDUINO_UNO_Q) void begin(HardwareI2C& wire = Wire1) { #else void begin(HardwareI2C& wire = Wire) { From 46ff43d4e1c3f1dc777c7fb479757a583d76f74b Mon Sep 17 00:00:00 2001 From: dido Date: Thu, 16 Oct 2025 08:17:32 +0200 Subject: [PATCH 09/13] fix: consolidate preprocessor directives for I2C priority function --- src/Modulino.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Modulino.cpp b/src/Modulino.cpp index b0b1997..da02449 100644 --- a/src/Modulino.cpp +++ b/src/Modulino.cpp @@ -13,8 +13,7 @@ ModulinoColor GREEN(0, 255, 0); ModulinoColor VIOLET(255, 0, 255); ModulinoColor WHITE(255, 255, 255); -#if __has_include("Arduino_LED_Matrix.h") -#if defined(ARDUINO_UNOR4_WIFI) +#if __has_include("Arduino_LED_Matrix.h") && defined(ARDUINO_UNOR4_WIFI) void __increaseI2CPriority() { for (int i = 0; i < 96; i++) { if (R_ICU->IELSR[i] == BSP_PRV_IELS_ENUM(EVENT_IIC0_TXI)) { @@ -25,7 +24,6 @@ void __increaseI2CPriority() { } } } -#endif #else void __increaseI2CPriority() {} #endif \ No newline at end of file From ed1aeca0284dce40a48368792d7bcdca4a388953 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Wed, 29 Oct 2025 09:21:01 +0100 Subject: [PATCH 10/13] Release 0.6.1 --- library.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library.properties b/library.properties index 3e62fec..c29604b 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=Arduino_Modulino -version=0.6.0 +version=0.6.1 author=Arduino maintainer=Arduino sentence=Arduino Library for Modulinos From 5eae7e13d964b611e32b0744326822dd74045fe5 Mon Sep 17 00:00:00 2001 From: RJ Nowling Date: Wed, 29 Oct 2025 16:38:34 -0500 Subject: [PATCH 11/13] Add temperature units The unit of the values returned by `getTemperature()` were not listed. I confirmed empirically that the sensor returns the temperature in units of Celsius. --- docs/api.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/api.md b/docs/api.md index f52c482..7d9ccd1 100644 --- a/docs/api.md +++ b/docs/api.md @@ -149,7 +149,7 @@ Represents a Modulino Thermo module. Returns the humidity reading. - **`float getTemperature()`** - Returns the temperature reading. + Returns the temperature reading in Celsius. --- @@ -195,4 +195,4 @@ Represents a color for Modulino Pixels modules. ## License -This library is released under the [MPL-2.0 license](../LICENSE). \ No newline at end of file +This library is released under the [MPL-2.0 license](../LICENSE). From d291b300fcd0294c954aeb45ba0cb2cece91efc3 Mon Sep 17 00:00:00 2001 From: RJ Nowling Date: Thu, 30 Oct 2025 19:45:26 -0500 Subject: [PATCH 12/13] Add units for humidity I confirmed the humidity units, so add them to the API docs. --- docs/api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api.md b/docs/api.md index 7d9ccd1..5547606 100644 --- a/docs/api.md +++ b/docs/api.md @@ -146,7 +146,7 @@ Represents a Modulino Thermo module. #### Methods - **`float getHumidity()`** - Returns the humidity reading. + Returns the humidity reading as a percentage in the range 0 to 100. - **`float getTemperature()`** Returns the temperature reading in Celsius. From 64d8be6c8cb1b55ccefe4f5637416ac9a141e804 Mon Sep 17 00:00:00 2001 From: RJ Nowling Date: Thu, 30 Oct 2025 22:07:12 -0500 Subject: [PATCH 13/13] Specify humidity reading type Co-authored-by: Per Tillisch --- docs/api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api.md b/docs/api.md index 5547606..399a1d3 100644 --- a/docs/api.md +++ b/docs/api.md @@ -146,7 +146,7 @@ Represents a Modulino Thermo module. #### Methods - **`float getHumidity()`** - Returns the humidity reading as a percentage in the range 0 to 100. + Returns the relative humidity reading as a percentage in the range 0 to 100. - **`float getTemperature()`** Returns the temperature reading in Celsius.