arduino-pico/variants/arduino_nano_connect/nina_pins.h
2023-03-10 13:00:04 -08:00

56 lines
1.5 KiB
C++

/* Taken from https://github.com/arduino/ArduinoCore-mbed/tree/master/variants/NANO_RP2040_CONNECT */
#ifndef _NINA_PINS_
#define _NINA_PINS_
/******************************************************************************
INCLUDE
******************************************************************************/
#include "Arduino.h"
/******************************************************************************
TYPEDEF
******************************************************************************/
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
******************************************************************************/
void pinMode(NinaPin pin, PinMode mode);
PinStatus digitalRead(NinaPin pin);
void digitalWrite(NinaPin pin, PinStatus value);
int analogRead(NinaPin pin);
void analogWrite(NinaPin pin, int value);
#endif /* _NINA_PINS_ */