diff --git a/cores/arduino/wiring_analog.cpp b/cores/arduino/wiring_analog.cpp index 8016e6f0b..aec8a47d0 100644 --- a/cores/arduino/wiring_analog.cpp +++ b/cores/arduino/wiring_analog.cpp @@ -135,4 +135,9 @@ void analogUpdate() void analogReadResolution(int bits) { read_resolution = bits; +} + +int getAnalogReadResolution() +{ + return read_resolution; } \ No newline at end of file diff --git a/variants/NANO_RP2040_CONNECT/nina_pins.cpp b/variants/NANO_RP2040_CONNECT/nina_pins.cpp new file mode 100644 index 000000000..5a4e8bfc1 --- /dev/null +++ b/variants/NANO_RP2040_CONNECT/nina_pins.cpp @@ -0,0 +1,9 @@ +#include "nina_pins.h" + +NinaPin LEDR(27); +NinaPin LEDG(25); +NinaPin LEDB(26); +NinaPin A4(34); +NinaPin A5(39); +NinaPin A6(36); +NinaPin A7(35); \ No newline at end of file diff --git a/variants/NANO_RP2040_CONNECT/nina_pins.h b/variants/NANO_RP2040_CONNECT/nina_pins.h index cc22646be..6309046b2 100644 --- a/variants/NANO_RP2040_CONNECT/nina_pins.h +++ b/variants/NANO_RP2040_CONNECT/nina_pins.h @@ -21,16 +21,36 @@ * TYPEDEF ******************************************************************************/ -enum NinaPin { - LEDR = 27, - LEDG = 25, - LEDB = 26, - A4 = 34, - A5 = 39, - A6 = 36, - A7 = 35 +int getAnalogReadResolution(); + +class NinaPin { +public: + NinaPin(int _pin) : pin(_pin) {}; + int get() { + return pin; + }; + int analogReadResolution() { + return getAnalogReadResolution(); + }; + bool operator== (NinaPin const & other) const { + return pin == other.pin; + } + //operator int() = delete; + __attribute__ ((error("Change me to a #define"))) operator int(); +private: + int pin; }; +extern NinaPin LEDR; +extern NinaPin LEDG; +extern NinaPin LEDB; +extern NinaPin A4; +extern NinaPin A5; +extern NinaPin A6; +extern NinaPin A7; + +#define NINA_PINS_AS_CLASS + /****************************************************************************** * FUNCTION DECLARATION ******************************************************************************/