use uint32 instead of uint8 for pin type

This commit is contained in:
Mestery 2023-04-16 21:39:00 +02:00
parent 6695133576
commit 9a68a3c901
32 changed files with 135 additions and 124 deletions

View file

@ -32,7 +32,7 @@ STM32WLx radio = new STM32WLx_Module();
// set RF switch configuration for Nucleo WL55JC1 // set RF switch configuration for Nucleo WL55JC1
// NOTE: other boards may be different! // NOTE: other boards may be different!
static const uint8_t rfswitch_pins[] = static const uint32_t rfswitch_pins[] =
{PC3, PC4, PC5}; {PC3, PC4, PC5};
static const Module::RfSwitchMode_t rfswitch_table[] = { static const Module::RfSwitchMode_t rfswitch_table[] = {
{STM32WLx::MODE_IDLE, {LOW, LOW, LOW}}, {STM32WLx::MODE_IDLE, {LOW, LOW, LOW}},

View file

@ -31,7 +31,7 @@ STM32WLx radio = new STM32WLx_Module();
// set RF switch configuration for Nucleo WL55JC1 // set RF switch configuration for Nucleo WL55JC1
// NOTE: other boards may be different! // NOTE: other boards may be different!
static const uint8_t rfswitch_pins[] = static const uint32_t rfswitch_pins[] =
{PC3, PC4, PC5}; {PC3, PC4, PC5};
static const Module::RfSwitchMode_t rfswitch_table[] = { static const Module::RfSwitchMode_t rfswitch_table[] = {
{STM32WLx::MODE_IDLE, {LOW, LOW, LOW}}, {STM32WLx::MODE_IDLE, {LOW, LOW, LOW}},

View file

@ -28,7 +28,7 @@ STM32WLx radio = new STM32WLx_Module();
// set RF switch configuration for Nucleo WL55JC1 // set RF switch configuration for Nucleo WL55JC1
// NOTE: other boards may be different! // NOTE: other boards may be different!
static const uint8_t rfswitch_pins[] = static const uint32_t rfswitch_pins[] =
{PC3, PC4, PC5}; {PC3, PC4, PC5};
static const Module::RfSwitchMode_t rfswitch_table[] = { static const Module::RfSwitchMode_t rfswitch_table[] = {
{STM32WLx::MODE_IDLE, {LOW, LOW, LOW}}, {STM32WLx::MODE_IDLE, {LOW, LOW, LOW}},

View file

@ -23,7 +23,7 @@ STM32WLx radio = new STM32WLx_Module();
// set RF switch configuration for Nucleo WL55JC1 // set RF switch configuration for Nucleo WL55JC1
// NOTE: other boards may be different! // NOTE: other boards may be different!
static const uint8_t rfswitch_pins[] = static const uint32_t rfswitch_pins[] =
{PC3, PC4, PC5}; {PC3, PC4, PC5};
static const Module::RfSwitchMode_t rfswitch_table[] = { static const Module::RfSwitchMode_t rfswitch_table[] = {
{STM32WLx::MODE_IDLE, {LOW, LOW, LOW}}, {STM32WLx::MODE_IDLE, {LOW, LOW, LOW}},

View file

@ -18,31 +18,31 @@ void ArduinoHal::term() {
} }
} }
void inline ArduinoHal::pinMode(uint8_t pin, uint8_t mode) { void inline ArduinoHal::pinMode(uint32_t pin, uint32_t mode) {
if (pin == RADIOLIB_NC) { if (pin == RADIOLIB_NC) {
return; return;
} }
::pinMode(pin, RADIOLIB_ARDUINOHAL_PIN_MODE_CAST mode); ::pinMode(pin, RADIOLIB_ARDUINOHAL_PIN_MODE_CAST mode);
} }
void inline ArduinoHal::digitalWrite(uint8_t pin, uint8_t value) { void inline ArduinoHal::digitalWrite(uint32_t pin, uint32_t value) {
if (pin == RADIOLIB_NC) { if (pin == RADIOLIB_NC) {
return; return;
} }
::digitalWrite(pin, RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST value); ::digitalWrite(pin, RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST value);
} }
uint8_t inline ArduinoHal::digitalRead(uint8_t pin) { uint32_t inline ArduinoHal::digitalRead(uint32_t pin) {
if (pin == RADIOLIB_NC) { if (pin == RADIOLIB_NC) {
return 0; return 0;
} }
return ::digitalRead(pin); return ::digitalRead(pin);
} }
void inline ArduinoHal::attachInterrupt(uint8_t interruptNum, void (*interruptCb)(void), uint8_t mode) { void inline ArduinoHal::attachInterrupt(uint32_t interruptNum, void (*interruptCb)(void), uint32_t mode) {
if (interruptNum == RADIOLIB_NC) { if (interruptNum == RADIOLIB_NC) {
return; return;
} }
::attachInterrupt(interruptNum, interruptCb, RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST mode); ::attachInterrupt(interruptNum, interruptCb, RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST mode);
} }
void inline ArduinoHal::detachInterrupt(uint8_t interruptNum) { void inline ArduinoHal::detachInterrupt(uint32_t interruptNum) {
if (interruptNum == RADIOLIB_NC) { if (interruptNum == RADIOLIB_NC) {
return; return;
} }
@ -60,7 +60,7 @@ unsigned long inline ArduinoHal::millis() {
unsigned long inline ArduinoHal::micros() { unsigned long inline ArduinoHal::micros() {
return ::micros(); return ::micros();
} }
long inline ArduinoHal::pulseIn(uint8_t pin, uint8_t state, unsigned long timeout) { long inline ArduinoHal::pulseIn(uint32_t pin, uint32_t state, unsigned long timeout) {
if (pin == RADIOLIB_NC) { if (pin == RADIOLIB_NC) {
return 0; return 0;
} }
@ -81,7 +81,7 @@ void inline ArduinoHal::spiEndTransaction() {
void inline ArduinoHal::spiEnd() { void inline ArduinoHal::spiEnd() {
_spi->end(); _spi->end();
} }
void inline ArduinoHal::tone(uint8_t pin, unsigned int frequency, unsigned long duration) { void inline ArduinoHal::tone(uint32_t pin, unsigned int frequency, unsigned long duration) {
#if !defined(RADIOLIB_TONE_UNSUPPORTED) #if !defined(RADIOLIB_TONE_UNSUPPORTED)
if (pin == RADIOLIB_NC) { if (pin == RADIOLIB_NC) {
return; return;
@ -107,7 +107,7 @@ void inline ArduinoHal::tone(uint8_t pin, unsigned int frequency, unsigned long
pwmPin->write(0.5); pwmPin->write(0.5);
#endif #endif
} }
void inline ArduinoHal::noTone(uint8_t pin) { void inline ArduinoHal::noTone(uint32_t pin) {
#if !defined(RADIOLIB_TONE_UNSUPPORTED) and defined(ARDUINO_ARCH_STM32) #if !defined(RADIOLIB_TONE_UNSUPPORTED) and defined(ARDUINO_ARCH_STM32)
if (pin == RADIOLIB_NC) { if (pin == RADIOLIB_NC) {
return; return;
@ -140,7 +140,7 @@ void inline ArduinoHal::yield() {
::yield(); ::yield();
#endif #endif
} }
uint8_t inline ArduinoHal::pinToInterrupt(uint8_t pin) { uint32_t inline ArduinoHal::pinToInterrupt(uint32_t pin) {
return digitalPinToInterrupt(pin); return digitalPinToInterrupt(pin);
} }
#endif #endif

View file

@ -14,6 +14,12 @@
#include <SPI.h> #include <SPI.h>
/*!
\class ArduinoHal
\brief Arduino default hardware abstraction library implementation.
This class can be extended to support other Arduino platform or change behaviour of the default implementation
*/
class ArduinoHal : public Hal { class ArduinoHal : public Hal {
public: public:
/*! /*!
@ -33,25 +39,25 @@ class ArduinoHal : public Hal {
void init() override; void init() override;
void term() override; void term() override;
void pinMode(uint8_t pin, uint8_t mode) override; void pinMode(uint32_t pin, uint32_t mode) override;
void digitalWrite(uint8_t pin, uint8_t value) override; void digitalWrite(uint32_t pin, uint32_t value) override;
uint8_t digitalRead(uint8_t pin) override; uint32_t digitalRead(uint32_t pin) override;
void attachInterrupt(uint8_t interruptNum, void (*interruptCb)(void), uint8_t mode) override; void attachInterrupt(uint32_t interruptNum, void (*interruptCb)(void), uint32_t mode) override;
void detachInterrupt(uint8_t interruptNum) override; void detachInterrupt(uint32_t interruptNum) override;
void delay(unsigned long ms) override; void delay(unsigned long ms) override;
void delayMicroseconds(unsigned long us) override; void delayMicroseconds(unsigned long us) override;
unsigned long millis() override; unsigned long millis() override;
unsigned long micros() override; unsigned long micros() override;
long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout) override; long pulseIn(uint32_t pin, uint32_t state, unsigned long timeout) override;
void spiBegin() override; void spiBegin() override;
void spiBeginTransaction() override; void spiBeginTransaction() override;
uint8_t spiTransfer(uint8_t b) override; uint8_t spiTransfer(uint8_t b) override;
void spiEndTransaction() override; void spiEndTransaction() override;
void spiEnd() override; void spiEnd() override;
void tone(uint8_t pin, unsigned int frequency, unsigned long duration = 0) override; void tone(uint32_t pin, unsigned int frequency, unsigned long duration = 0) override;
void noTone(uint8_t pin) override; void noTone(uint32_t pin) override;
void yield() override; void yield() override;
uint8_t pinToInterrupt(uint8_t pin) override; uint32_t pinToInterrupt(uint32_t pin) override;
#if !defined(RADIOLIB_GODMODE) #if !defined(RADIOLIB_GODMODE)
private: private:

View file

@ -221,7 +221,7 @@
#endif #endif
#if !defined(RADIOLIB_NC) #if !defined(RADIOLIB_NC)
#define RADIOLIB_NC (0xFF) #define RADIOLIB_NC (0xFFFFFFFF)
#endif #endif
#if !defined(RADIOLIB_DEFAULT_SPI) #if !defined(RADIOLIB_DEFAULT_SPI)
#define RADIOLIB_DEFAULT_SPI SPI #define RADIOLIB_DEFAULT_SPI SPI

View file

@ -1,7 +1,7 @@
#include <stdint.h> #include <stdint.h>
#include "Hal.h" #include "Hal.h"
Hal::Hal(const uint8_t input, const uint8_t output, const uint8_t low, const uint8_t high, const uint8_t rising, const uint8_t falling) Hal::Hal(const uint32_t input, const uint32_t output, const uint32_t low, const uint32_t high, const uint32_t rising, const uint32_t falling)
: GpioModeInput(input), : GpioModeInput(input),
GpioModeOutput(output), GpioModeOutput(output),
GpioLevelLow(low), GpioLevelLow(low),
@ -11,15 +11,15 @@ Hal::Hal(const uint8_t input, const uint8_t output, const uint8_t low, const uin
void Hal::init(){}; void Hal::init(){};
void Hal::term(){}; void Hal::term(){};
void Hal::tone(uint8_t pin, unsigned int frequency, unsigned long duration){ void Hal::tone(uint32_t pin, unsigned int frequency, unsigned long duration){
(void)pin; (void)pin;
(void)frequency; (void)frequency;
(void)duration; (void)duration;
}; };
void Hal::noTone(uint8_t pin){ void Hal::noTone(uint32_t pin){
(void)pin; (void)pin;
}; };
void Hal::yield(){}; void Hal::yield(){};
uint8_t Hal::pinToInterrupt(uint8_t pin) { uint32_t Hal::pinToInterrupt(uint32_t pin) {
return pin; return pin;
}; };

View file

@ -3,40 +3,45 @@
#if !defined(_RADIOLIB_HAL_H) #if !defined(_RADIOLIB_HAL_H)
#define _RADIOLIB_HAL_H #define _RADIOLIB_HAL_H
/*!
\class Hal
\brief Hardware abstraction library base interface.
*/
class Hal { class Hal {
public: public:
const uint8_t GpioModeInput; const uint32_t GpioModeInput;
const uint8_t GpioModeOutput; const uint32_t GpioModeOutput;
const uint8_t GpioLevelLow; const uint32_t GpioLevelLow;
const uint8_t GpioLevelHigh; const uint32_t GpioLevelHigh;
const uint8_t GpioInterruptRising; const uint32_t GpioInterruptRising;
const uint8_t GpioInterruptFalling; const uint32_t GpioInterruptFalling;
Hal(const uint8_t input, const uint8_t output, const uint8_t low, const uint8_t high, const uint8_t rising, const uint8_t falling); Hal(const uint32_t input, const uint32_t output, const uint32_t low, const uint32_t high, const uint32_t rising, const uint32_t falling);
virtual void init(); virtual void init();
virtual void term(); virtual void term();
virtual void pinMode(uint8_t pin, uint8_t mode) = 0; virtual void pinMode(uint32_t pin, uint32_t mode) = 0;
virtual void digitalWrite(uint8_t pin, uint8_t value) = 0; virtual void digitalWrite(uint32_t pin, uint32_t value) = 0;
virtual uint8_t digitalRead(uint8_t pin) = 0; virtual uint32_t digitalRead(uint32_t pin) = 0;
virtual void attachInterrupt(uint8_t interruptNum, void (*interruptCb)(void), uint8_t mode) = 0; virtual void attachInterrupt(uint32_t interruptNum, void (*interruptCb)(void), uint32_t mode) = 0;
virtual void detachInterrupt(uint8_t interruptNum) = 0; virtual void detachInterrupt(uint32_t interruptNum) = 0;
virtual void delay(unsigned long ms) = 0; virtual void delay(unsigned long ms) = 0;
virtual void delayMicroseconds(unsigned long us) = 0; virtual void delayMicroseconds(unsigned long us) = 0;
virtual unsigned long millis() = 0; virtual unsigned long millis() = 0;
virtual unsigned long micros() = 0; virtual unsigned long micros() = 0;
virtual long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout) = 0; virtual long pulseIn(uint32_t pin, uint32_t state, unsigned long timeout) = 0;
virtual void spiBegin() = 0; virtual void spiBegin() = 0;
virtual void spiBeginTransaction() = 0; virtual void spiBeginTransaction() = 0;
virtual uint8_t spiTransfer(uint8_t b) = 0; virtual uint8_t spiTransfer(uint8_t b) = 0;
virtual void spiEndTransaction() = 0; virtual void spiEndTransaction() = 0;
virtual void spiEnd() = 0; virtual void spiEnd() = 0;
virtual void tone(uint8_t pin, unsigned int frequency, unsigned long duration = 0); virtual void tone(uint32_t pin, unsigned int frequency, unsigned long duration = 0);
virtual void noTone(uint8_t pin); virtual void noTone(uint32_t pin);
virtual void yield(); virtual void yield();
virtual uint8_t pinToInterrupt(uint8_t pin); virtual uint32_t pinToInterrupt(uint32_t pin);
}; };
#endif #endif

View file

@ -6,16 +6,16 @@
#if defined(RADIOLIB_BUILD_ARDUINO) #if defined(RADIOLIB_BUILD_ARDUINO)
#include "ArduinoHal.h" #include "ArduinoHal.h"
Module::Module(uint8_t cs, uint8_t irq, uint8_t rst, uint8_t gpio) : _cs(cs), _irq(irq), _rst(rst), _gpio(gpio) { Module::Module(uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio) : _cs(cs), _irq(irq), _rst(rst), _gpio(gpio) {
this->hal = new ArduinoHal; this->hal = new ArduinoHal;
} }
Module::Module(uint8_t cs, uint8_t irq, uint8_t rst, uint8_t gpio, SPIClass& spi, SPISettings spiSettings) : _cs(cs), _irq(irq), _rst(rst), _gpio(gpio) { Module::Module(uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio, SPIClass& spi, SPISettings spiSettings) : _cs(cs), _irq(irq), _rst(rst), _gpio(gpio) {
this->hal = new ArduinoHal(spi, spiSettings); this->hal = new ArduinoHal(spi, spiSettings);
} }
#endif #endif
Module::Module(Hal *hal, uint8_t cs, uint8_t irq, uint8_t rst, uint8_t gpio) : _cs(cs), _irq(irq), _rst(rst), _gpio(gpio) { Module::Module(Hal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio) : _cs(cs), _irq(irq), _rst(rst), _gpio(gpio) {
this->hal = hal; this->hal = hal;
} }
@ -465,9 +465,9 @@ size_t Module::serialPrintf(const char* format, ...) {
} }
#endif #endif
void Module::setRfSwitchPins(uint8_t rxEn, uint8_t txEn) { void Module::setRfSwitchPins(uint32_t rxEn, uint32_t txEn) {
// This can be on the stack, setRfSwitchTable copies the contents // This can be on the stack, setRfSwitchTable copies the contents
const uint8_t pins[] = { const uint32_t pins[] = {
rxEn, txEn, RADIOLIB_NC, rxEn, txEn, RADIOLIB_NC,
}; };
// This must be static, since setRfSwitchTable stores a reference. // This must be static, since setRfSwitchTable stores a reference.
@ -480,7 +480,7 @@ void Module::setRfSwitchPins(uint8_t rxEn, uint8_t txEn) {
setRfSwitchTable(pins, table); setRfSwitchTable(pins, table);
} }
void Module::setRfSwitchTable(const uint8_t (&pins)[3], const RfSwitchMode_t table[]) { void Module::setRfSwitchTable(const uint32_t (&pins)[3], const RfSwitchMode_t table[]) {
memcpy(_rfSwitchPins, pins, sizeof(_rfSwitchPins)); memcpy(_rfSwitchPins, pins, sizeof(_rfSwitchPins));
_rfSwitchTable = table; _rfSwitchTable = table;
for(size_t i = 0; i < RFSWITCH_MAX_PINS; i++) for(size_t i = 0; i < RFSWITCH_MAX_PINS; i++)
@ -505,9 +505,9 @@ void Module::setRfSwitchState(uint8_t mode) {
} }
// set pins // set pins
const uint8_t *value = &row->values[0]; const uint32_t *value = &row->values[0];
for(size_t i = 0; i < RFSWITCH_MAX_PINS; i++) { for(size_t i = 0; i < RFSWITCH_MAX_PINS; i++) {
uint8_t pin = _rfSwitchPins[i]; uint32_t pin = _rfSwitchPins[i];
if (pin != RADIOLIB_NC) if (pin != RADIOLIB_NC)
this->hal->digitalWrite(pin, *value); this->hal->digitalWrite(pin, *value);
++value; ++value;

View file

@ -46,7 +46,7 @@ class Module {
*/ */
struct RfSwitchMode_t { struct RfSwitchMode_t {
uint8_t mode; uint8_t mode;
uint8_t values[RFSWITCH_MAX_PINS]; uint32_t values[RFSWITCH_MAX_PINS];
}; };
/*! /*!
@ -81,7 +81,7 @@ class Module {
\param gpio Arduino pin to be used as additional interrupt/GPIO. \param gpio Arduino pin to be used as additional interrupt/GPIO.
*/ */
Module(uint8_t cs, uint8_t irq, uint8_t rst, uint8_t gpio = RADIOLIB_NC); Module(uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio = RADIOLIB_NC);
/*! /*!
\brief Arduino Module constructor. Will not attempt SPI interface initialization. \brief Arduino Module constructor. Will not attempt SPI interface initialization.
@ -98,7 +98,7 @@ class Module {
\param spiSettings SPI interface settings. \param spiSettings SPI interface settings.
*/ */
Module(uint8_t cs, uint8_t irq, uint8_t rst, uint8_t gpio, SPIClass& spi, SPISettings spiSettings = RADIOLIB_DEFAULT_SPI_SETTINGS); Module(uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio, SPIClass& spi, SPISettings spiSettings = RADIOLIB_DEFAULT_SPI_SETTINGS);
#endif #endif
/*! /*!
@ -114,7 +114,7 @@ class Module {
\param gpio Pin to be used as additional interrupt/GPIO. \param gpio Pin to be used as additional interrupt/GPIO.
*/ */
Module(Hal *hal, uint8_t cs, uint8_t irq, uint8_t rst, uint8_t gpio = RADIOLIB_NC); Module(Hal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio = RADIOLIB_NC);
/*! /*!
\brief Copy constructor. \brief Copy constructor.
@ -410,28 +410,28 @@ class Module {
\returns Pin number of SPI chip select configured in the constructor. \returns Pin number of SPI chip select configured in the constructor.
*/ */
uint8_t getCs() const { return(_cs); } uint32_t getCs() const { return(_cs); }
/*! /*!
\brief Access method to get the pin number of interrupt/GPIO. \brief Access method to get the pin number of interrupt/GPIO.
\returns Pin number of interrupt/GPIO configured in the constructor. \returns Pin number of interrupt/GPIO configured in the constructor.
*/ */
uint8_t getIrq() const { return(_irq); } uint32_t getIrq() const { return(_irq); }
/*! /*!
\brief Access method to get the pin number of hardware reset pin. \brief Access method to get the pin number of hardware reset pin.
\returns Pin number of hardware reset pin configured in the constructor. \returns Pin number of hardware reset pin configured in the constructor.
*/ */
uint8_t getRst() const { return(_rst); } uint32_t getRst() const { return(_rst); }
/*! /*!
\brief Access method to get the pin number of second interrupt/GPIO. \brief Access method to get the pin number of second interrupt/GPIO.
\returns Pin number of second interrupt/GPIO configured in the constructor. \returns Pin number of second interrupt/GPIO configured in the constructor.
*/ */
uint8_t getGpio() const { return(_gpio); } uint32_t getGpio() const { return(_gpio); }
/*! /*!
\brief Some modules contain external RF switch controlled by pins. \brief Some modules contain external RF switch controlled by pins.
@ -449,7 +449,7 @@ class Module {
\param rxEn RX enable pin. \param rxEn RX enable pin.
\param txEn TX enable pin. \param txEn TX enable pin.
*/ */
void setRfSwitchPins(uint8_t rxEn, uint8_t txEn); void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
/*! /*!
\brief Some modules contain external RF switch controlled by pins. \brief Some modules contain external RF switch controlled by pins.
@ -495,7 +495,7 @@ class Module {
\code \code
// In global scope, define the pin array and mode table // In global scope, define the pin array and mode table
static const uint8_t rfswitch_pins[] = static const uint32_t rfswitch_pins[] =
{PA0, PA1, RADIOLIB_NC}; {PA0, PA1, RADIOLIB_NC};
static const Module::RfSwitchMode_t rfswitch_table[] = { static const Module::RfSwitchMode_t rfswitch_table[] = {
{Module::MODE_IDLE, {LOW, LOW}}, {Module::MODE_IDLE, {LOW, LOW}},
@ -513,7 +513,7 @@ class Module {
\endcode \endcode
*/ */
void setRfSwitchTable(const uint8_t (&pins)[RFSWITCH_MAX_PINS], const RfSwitchMode_t table[]); void setRfSwitchTable(const uint32_t (&pins)[RFSWITCH_MAX_PINS], const RfSwitchMode_t table[]);
/*! /*!
* \brief Find a mode in the RfSwitchTable. * \brief Find a mode in the RfSwitchTable.
@ -581,13 +581,13 @@ class Module {
#if !defined(RADIOLIB_GODMODE) #if !defined(RADIOLIB_GODMODE)
private: private:
#endif #endif
uint8_t _cs = RADIOLIB_NC; uint32_t _cs = RADIOLIB_NC;
uint8_t _irq = RADIOLIB_NC; uint32_t _irq = RADIOLIB_NC;
uint8_t _rst = RADIOLIB_NC; uint32_t _rst = RADIOLIB_NC;
uint8_t _gpio = RADIOLIB_NC; uint32_t _gpio = RADIOLIB_NC;
// RF switch pins and table // RF switch pins and table
uint8_t _rfSwitchPins[RFSWITCH_MAX_PINS] = { RADIOLIB_NC, RADIOLIB_NC, RADIOLIB_NC }; uint32_t _rfSwitchPins[RFSWITCH_MAX_PINS] = { RADIOLIB_NC, RADIOLIB_NC, RADIOLIB_NC };
const RfSwitchMode_t *_rfSwitchTable = nullptr; const RfSwitchMode_t *_rfSwitchTable = nullptr;
#if defined(RADIOLIB_INTERRUPT_TIMING) #if defined(RADIOLIB_INTERRUPT_TIMING)

View file

@ -899,11 +899,11 @@ int16_t CC1101::setEncoding(uint8_t encoding) {
} }
} }
void CC1101::setRfSwitchPins(uint8_t rxEn, uint8_t txEn) { void CC1101::setRfSwitchPins(uint32_t rxEn, uint32_t txEn) {
_mod->setRfSwitchPins(rxEn, txEn); _mod->setRfSwitchPins(rxEn, txEn);
} }
void CC1101::setRfSwitchTable(const uint8_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) { void CC1101::setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) {
_mod->setRfSwitchTable(pins, table); _mod->setRfSwitchTable(pins, table);
} }
@ -936,12 +936,12 @@ void CC1101::setDirectAction(void (*func)(void)) {
setGdo0Action(func, _mod->hal->GpioInterruptRising); setGdo0Action(func, _mod->hal->GpioInterruptRising);
} }
void CC1101::readBit(uint8_t pin) { void CC1101::readBit(uint32_t pin) {
updateDirectBuffer((uint8_t)_mod->hal->digitalRead(pin)); updateDirectBuffer((uint8_t)_mod->hal->digitalRead(pin));
} }
#endif #endif
int16_t CC1101::setDIOMapping(uint8_t pin, uint8_t value) { int16_t CC1101::setDIOMapping(uint32_t pin, uint32_t value) {
if (pin > 2) if (pin > 2)
return RADIOLIB_ERR_INVALID_DIO_PIN; return RADIOLIB_ERR_INVALID_DIO_PIN;

View file

@ -953,10 +953,10 @@ class CC1101: public PhysicalLayer {
int16_t setEncoding(uint8_t encoding) override; int16_t setEncoding(uint8_t encoding) override;
/*! \copydoc Module::setRfSwitchPins */ /*! \copydoc Module::setRfSwitchPins */
void setRfSwitchPins(uint8_t rxEn, uint8_t txEn); void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
/*! \copydoc Module::setRfSwitchTable */ /*! \copydoc Module::setRfSwitchTable */
void setRfSwitchTable(const uint8_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]); void setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
/*! /*!
\brief Get one truly random byte from RSSI noise. \brief Get one truly random byte from RSSI noise.
@ -985,7 +985,7 @@ class CC1101: public PhysicalLayer {
\param pin Pin on which to read. \param pin Pin on which to read.
*/ */
void readBit(uint8_t pin); void readBit(uint32_t pin);
#endif #endif
/*! /*!
@ -997,7 +997,7 @@ class CC1101: public PhysicalLayer {
\returns \ref status_codes \returns \ref status_codes
*/ */
int16_t setDIOMapping(uint8_t pin, uint8_t value); int16_t setDIOMapping(uint32_t pin, uint32_t value);
#if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL) #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
protected: protected:

View file

@ -917,11 +917,11 @@ int16_t RF69::setRSSIThreshold(float dbm) {
return _mod->SPIsetRegValue(RADIOLIB_RF69_REG_RSSI_THRESH, (uint8_t)(-2.0 * dbm), 7, 0); return _mod->SPIsetRegValue(RADIOLIB_RF69_REG_RSSI_THRESH, (uint8_t)(-2.0 * dbm), 7, 0);
} }
void RF69::setRfSwitchPins(uint8_t rxEn, uint8_t txEn) { void RF69::setRfSwitchPins(uint32_t rxEn, uint32_t txEn) {
_mod->setRfSwitchPins(rxEn, txEn); _mod->setRfSwitchPins(rxEn, txEn);
} }
void RF69::setRfSwitchTable(const uint8_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) { void RF69::setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) {
_mod->setRfSwitchTable(pins, table); _mod->setRfSwitchTable(pins, table);
} }
@ -949,12 +949,12 @@ void RF69::setDirectAction(void (*func)(void)) {
setDio1Action(func); setDio1Action(func);
} }
void RF69::readBit(uint8_t pin) { void RF69::readBit(uint32_t pin) {
updateDirectBuffer((uint8_t)_mod->hal->digitalRead(pin)); updateDirectBuffer((uint8_t)_mod->hal->digitalRead(pin));
} }
#endif #endif
int16_t RF69::setDIOMapping(uint8_t pin, uint8_t value) { int16_t RF69::setDIOMapping(uint32_t pin, uint32_t value) {
if(pin > 5) { if(pin > 5) {
return(RADIOLIB_ERR_INVALID_DIO_PIN); return(RADIOLIB_ERR_INVALID_DIO_PIN);
} }

View file

@ -1035,10 +1035,10 @@ class RF69: public PhysicalLayer {
int16_t setRSSIThreshold(float dbm); int16_t setRSSIThreshold(float dbm);
/*! \copydoc Module::setRfSwitchPins */ /*! \copydoc Module::setRfSwitchPins */
void setRfSwitchPins(uint8_t rxEn, uint8_t txEn); void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
/*! \copydoc Module::setRfSwitchTable */ /*! \copydoc Module::setRfSwitchTable */
void setRfSwitchTable(const uint8_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]); void setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
/*! /*!
\brief Get one truly random byte from RSSI noise. \brief Get one truly random byte from RSSI noise.
@ -1067,7 +1067,7 @@ class RF69: public PhysicalLayer {
\param pin Pin on which to read. \param pin Pin on which to read.
*/ */
void readBit(uint8_t pin); void readBit(uint32_t pin);
#endif #endif
/*! /*!
@ -1079,7 +1079,7 @@ class RF69: public PhysicalLayer {
\returns \ref status_codes \returns \ref status_codes
*/ */
int16_t setDIOMapping(uint8_t pin, uint8_t value); int16_t setDIOMapping(uint32_t pin, uint32_t value);
#if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL) #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
protected: protected:

View file

@ -26,7 +26,7 @@ class Stm32wlxHal : public ArduinoHal {
public: public:
Stm32wlxHal(): ArduinoHal(SubGhz.SPI, SubGhz.spi_settings) {} Stm32wlxHal(): ArduinoHal(SubGhz.SPI, SubGhz.spi_settings) {}
void pinMode(uint8_t dwPin, uint8_t dwMode) { void pinMode(uint32_t dwPin, uint32_t dwMode) {
switch(dwPin) { switch(dwPin) {
case RADIOLIB_STM32WLx_VIRTUAL_PIN_NSS: case RADIOLIB_STM32WLx_VIRTUAL_PIN_NSS:
case RADIOLIB_STM32WLx_VIRTUAL_PIN_BUSY: case RADIOLIB_STM32WLx_VIRTUAL_PIN_BUSY:
@ -40,7 +40,7 @@ class Stm32wlxHal : public ArduinoHal {
} }
} }
void digitalWrite(uint8_t dwPin, uint8_t dwVal) { void digitalWrite(uint32_t dwPin, uint32_t dwVal) {
switch (dwPin) { switch (dwPin) {
case RADIOLIB_STM32WLx_VIRTUAL_PIN_NSS: case RADIOLIB_STM32WLx_VIRTUAL_PIN_NSS:
SubGhz.setNssActive(dwVal == LOW); SubGhz.setNssActive(dwVal == LOW);
@ -61,7 +61,7 @@ class Stm32wlxHal : public ArduinoHal {
} }
} }
uint8_t digitalRead(uint8_t ulPin) { uint32_t digitalRead(uint32_t ulPin) {
switch (ulPin) { switch (ulPin) {
case RADIOLIB_STM32WLx_VIRTUAL_PIN_BUSY: case RADIOLIB_STM32WLx_VIRTUAL_PIN_BUSY:
return(SubGhz.isBusy() ? HIGH : LOW); return(SubGhz.isBusy() ? HIGH : LOW);

View file

@ -1359,11 +1359,11 @@ int16_t SX126x::setEncoding(uint8_t encoding) {
return(setWhitening(encoding)); return(setWhitening(encoding));
} }
void SX126x::setRfSwitchPins(uint8_t rxEn, uint8_t txEn) { void SX126x::setRfSwitchPins(uint32_t rxEn, uint32_t txEn) {
_mod->setRfSwitchPins(rxEn, txEn); _mod->setRfSwitchPins(rxEn, txEn);
} }
void SX126x::setRfSwitchTable(const uint8_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) { void SX126x::setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) {
_mod->setRfSwitchTable(pins, table); _mod->setRfSwitchTable(pins, table);
} }
@ -1435,7 +1435,7 @@ void SX126x::setDirectAction(void (*func)(void)) {
setDio1Action(func); setDio1Action(func);
} }
void SX126x::readBit(uint8_t pin) { void SX126x::readBit(uint32_t pin) {
updateDirectBuffer((uint8_t)_mod->hal->digitalRead(pin)); updateDirectBuffer((uint8_t)_mod->hal->digitalRead(pin));
} }
#endif #endif

View file

@ -1031,10 +1031,10 @@ class SX126x: public PhysicalLayer {
int16_t setEncoding(uint8_t encoding) override; int16_t setEncoding(uint8_t encoding) override;
/*! \copydoc Module::setRfSwitchPins */ /*! \copydoc Module::setRfSwitchPins */
void setRfSwitchPins(uint8_t rxEn, uint8_t txEn); void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
/*! \copydoc Module::setRfSwitchTable */ /*! \copydoc Module::setRfSwitchTable */
void setRfSwitchTable(const uint8_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]); void setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
/*! /*!
\brief Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to \brief Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to
@ -1083,7 +1083,7 @@ class SX126x: public PhysicalLayer {
\param pin Pin on which to read. \param pin Pin on which to read.
*/ */
void readBit(uint8_t pin); void readBit(uint32_t pin);
#endif #endif
/*! /*!

View file

@ -1267,11 +1267,11 @@ uint8_t SX127x::getModemStatus() {
return(_mod->SPIreadRegister(RADIOLIB_SX127X_REG_MODEM_STAT)); return(_mod->SPIreadRegister(RADIOLIB_SX127X_REG_MODEM_STAT));
} }
void SX127x::setRfSwitchPins(uint8_t rxEn, uint8_t txEn) { void SX127x::setRfSwitchPins(uint32_t rxEn, uint32_t txEn) {
_mod->setRfSwitchPins(rxEn, txEn); _mod->setRfSwitchPins(rxEn, txEn);
} }
void SX127x::setRfSwitchTable(const uint8_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) { void SX127x::setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) {
_mod->setRfSwitchTable(pins, table); _mod->setRfSwitchTable(pins, table);
} }
@ -1508,7 +1508,7 @@ void SX127x::setDirectAction(void (*func)(void)) {
setDio1Action(func, _mod->hal->GpioInterruptRising); setDio1Action(func, _mod->hal->GpioInterruptRising);
} }
void SX127x::readBit(uint8_t pin) { void SX127x::readBit(uint32_t pin) {
updateDirectBuffer((uint8_t)_mod->hal->digitalRead(pin)); updateDirectBuffer((uint8_t)_mod->hal->digitalRead(pin));
} }
#endif #endif
@ -1534,7 +1534,7 @@ void SX127x::clearFHSSInt(void) {
} }
} }
int16_t SX127x::setDIOMapping(uint8_t pin, uint8_t value) { int16_t SX127x::setDIOMapping(uint32_t pin, uint32_t value) {
if (pin > 5) if (pin > 5)
return RADIOLIB_ERR_INVALID_DIO_PIN; return RADIOLIB_ERR_INVALID_DIO_PIN;

View file

@ -1155,10 +1155,10 @@ class SX127x: public PhysicalLayer {
int8_t getTempRaw(); int8_t getTempRaw();
/*! \copydoc Module::setRfSwitchPins */ /*! \copydoc Module::setRfSwitchPins */
void setRfSwitchPins(uint8_t rxEn, uint8_t txEn); void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
/*! \copydoc Module::setRfSwitchTable */ /*! \copydoc Module::setRfSwitchTable */
void setRfSwitchTable(const uint8_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]); void setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
/*! /*!
\brief Get one truly random byte from RSSI noise. \brief Get one truly random byte from RSSI noise.
@ -1196,7 +1196,7 @@ class SX127x: public PhysicalLayer {
\param pin Pin on which to read. \param pin Pin on which to read.
*/ */
void readBit(uint8_t pin); void readBit(uint32_t pin);
#endif #endif
/*! /*!
@ -1236,7 +1236,7 @@ class SX127x: public PhysicalLayer {
\returns \ref status_codes \returns \ref status_codes
*/ */
int16_t setDIOMapping(uint8_t pin, uint8_t value); int16_t setDIOMapping(uint32_t pin, uint32_t value);
/*! /*!
\brief Configure DIO mapping to use RSSI or Preamble Detect for pins that support it. \brief Configure DIO mapping to use RSSI or Preamble Detect for pins that support it.

View file

@ -1266,11 +1266,11 @@ int16_t SX128x::setEncoding(uint8_t encoding) {
return(setWhitening(encoding)); return(setWhitening(encoding));
} }
void SX128x::setRfSwitchPins(uint8_t rxEn, uint8_t txEn) { void SX128x::setRfSwitchPins(uint32_t rxEn, uint32_t txEn) {
_mod->setRfSwitchPins(rxEn, txEn); _mod->setRfSwitchPins(rxEn, txEn);
} }
void SX128x::setRfSwitchTable(const uint8_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) { void SX128x::setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) {
_mod->setRfSwitchTable(pins, table); _mod->setRfSwitchTable(pins, table);
} }
@ -1300,7 +1300,7 @@ void SX128x::setDirectAction(void (*func)(void)) {
(void)func; (void)func;
} }
void SX128x::readBit(uint8_t pin) { void SX128x::readBit(uint32_t pin) {
// SX128x is unable to perform direct mode reception // SX128x is unable to perform direct mode reception
// this method is implemented only for PhysicalLayer compatibility // this method is implemented only for PhysicalLayer compatibility
(void)pin; (void)pin;

View file

@ -817,10 +817,10 @@ class SX128x: public PhysicalLayer {
int16_t setEncoding(uint8_t encoding) override; int16_t setEncoding(uint8_t encoding) override;
/*! \copydoc Module::setRfSwitchPins */ /*! \copydoc Module::setRfSwitchPins */
void setRfSwitchPins(uint8_t rxEn, uint8_t txEn); void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
/*! \copydoc Module::setRfSwitchTable */ /*! \copydoc Module::setRfSwitchTable */
void setRfSwitchTable(const uint8_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]); void setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
/*! /*!
\brief Dummy random method, to ensure PhysicalLayer compatibility. \brief Dummy random method, to ensure PhysicalLayer compatibility.
@ -851,7 +851,7 @@ class SX128x: public PhysicalLayer {
\param pin Ignored. \param pin Ignored.
*/ */
void readBit(uint8_t pin); void readBit(uint32_t pin);
#endif #endif
#if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL) #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)

View file

@ -576,11 +576,11 @@ int16_t Si443x::setDataShaping(uint8_t sh) {
} }
} }
void Si443x::setRfSwitchPins(uint8_t rxEn, uint8_t txEn) { void Si443x::setRfSwitchPins(uint32_t rxEn, uint32_t txEn) {
_mod->setRfSwitchPins(rxEn, txEn); _mod->setRfSwitchPins(rxEn, txEn);
} }
void Si443x::setRfSwitchTable(const uint8_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) { void Si443x::setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]) {
_mod->setRfSwitchTable(pins, table); _mod->setRfSwitchTable(pins, table);
} }
@ -612,7 +612,7 @@ void Si443x::setDirectAction(void (*func)(void)) {
setIrqAction(func); setIrqAction(func);
} }
void Si443x::readBit(uint8_t pin) { void Si443x::readBit(uint32_t pin) {
updateDirectBuffer((uint8_t)_mod->hal->digitalRead(pin)); updateDirectBuffer((uint8_t)_mod->hal->digitalRead(pin));
} }
#endif #endif

View file

@ -810,10 +810,10 @@ class Si443x: public PhysicalLayer {
int16_t setDataShaping(uint8_t sh) override; int16_t setDataShaping(uint8_t sh) override;
/*! \copydoc Module::setRfSwitchPins */ /*! \copydoc Module::setRfSwitchPins */
void setRfSwitchPins(uint8_t rxEn, uint8_t txEn); void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
/*! \copydoc Module::setRfSwitchTable */ /*! \copydoc Module::setRfSwitchTable */
void setRfSwitchTable(const uint8_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]); void setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
/*! /*!
\brief Get one truly random byte from RSSI noise. \brief Get one truly random byte from RSSI noise.
@ -842,7 +842,7 @@ class Si443x: public PhysicalLayer {
\param pin Pin on which to read. \param pin Pin on which to read.
*/ */
void readBit(uint8_t pin); void readBit(uint32_t pin);
#endif #endif
/*! /*!

View file

@ -559,7 +559,7 @@ void nRF24::setDirectAction(void (*func)(void)) {
(void)func; (void)func;
} }
void nRF24::readBit(uint8_t pin) { void nRF24::readBit(uint32_t pin) {
// nRF24 is unable to perform direct mode actions // nRF24 is unable to perform direct mode actions
// this method is implemented only for PhysicalLayer compatibility // this method is implemented only for PhysicalLayer compatibility
(void)pin; (void)pin;

View file

@ -528,7 +528,7 @@ class nRF24: public PhysicalLayer {
\param pin Ignored. \param pin Ignored.
*/ */
void readBit(uint8_t pin); void readBit(uint32_t pin);
#endif #endif
#if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL) #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)

View file

@ -1,7 +1,7 @@
#include "AFSK.h" #include "AFSK.h"
#if !defined(RADIOLIB_EXCLUDE_AFSK) #if !defined(RADIOLIB_EXCLUDE_AFSK)
AFSKClient::AFSKClient(PhysicalLayer* phy, uint8_t pin): _pin(pin) { AFSKClient::AFSKClient(PhysicalLayer* phy, uint32_t pin): _pin(pin) {
_phy = phy; _phy = phy;
} }

View file

@ -23,7 +23,7 @@ class AFSKClient {
\param pin The pin that will be used for audio output. \param pin The pin that will be used for audio output.
*/ */
AFSKClient(PhysicalLayer* phy, uint8_t pin); AFSKClient(PhysicalLayer* phy, uint32_t pin);
/*! /*!
\brief Initialization method. \brief Initialization method.
@ -56,7 +56,7 @@ class AFSKClient {
private: private:
#endif #endif
PhysicalLayer* _phy; PhysicalLayer* _phy;
uint8_t _pin; uint32_t _pin;
// allow specific classes access the private PhysicalLayer pointer // allow specific classes access the private PhysicalLayer pointer
friend class RTTYClient; friend class RTTYClient;

View file

@ -7,7 +7,7 @@
// this is a massive hack, but we need a global-scope ISR to manage the bit reading // this is a massive hack, but we need a global-scope ISR to manage the bit reading
// let's hope nobody ever tries running two POCSAG receivers at the same time // let's hope nobody ever tries running two POCSAG receivers at the same time
static PhysicalLayer* _readBitInstance = NULL; static PhysicalLayer* _readBitInstance = NULL;
static uint8_t _readBitPin = RADIOLIB_NC; static uint32_t _readBitPin = RADIOLIB_NC;
#if defined(ESP8266) || defined(ESP32) #if defined(ESP8266) || defined(ESP32)
ICACHE_RAM_ATTR ICACHE_RAM_ATTR
@ -223,7 +223,7 @@ int16_t PagerClient::transmit(uint8_t* data, size_t len, uint32_t addr, uint8_t
} }
#if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE) #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
int16_t PagerClient::startReceive(uint8_t pin, uint32_t addr, uint32_t mask) { int16_t PagerClient::startReceive(uint32_t pin, uint32_t addr, uint32_t mask) {
// save the variables // save the variables
_readBitPin = pin; _readBitPin = pin;
_filterAddr = addr; _filterAddr = addr;

View file

@ -157,7 +157,7 @@ class PagerClient {
\returns \ref status_codes \returns \ref status_codes
*/ */
int16_t startReceive(uint8_t pin, uint32_t addr, uint32_t mask = 0xFFFFF); int16_t startReceive(uint32_t pin, uint32_t addr, uint32_t mask = 0xFFFFF);
/*! /*!
\brief Get the number of POCSAG batches available in buffer. Limited by the size of direct mode buffer! \brief Get the number of POCSAG batches available in buffer. Limited by the size of direct mode buffer!

View file

@ -380,13 +380,13 @@ void PhysicalLayer::setDirectAction(void (*func)(void)) {
(void)func; (void)func;
} }
void PhysicalLayer::readBit(uint8_t pin) { void PhysicalLayer::readBit(uint32_t pin) {
(void)pin; (void)pin;
} }
#endif #endif
int16_t PhysicalLayer::setDIOMapping(uint8_t pin, uint8_t value) { int16_t PhysicalLayer::setDIOMapping(uint32_t pin, uint32_t value) {
(void)pin; (void)pin;
(void)value; (void)value;
return(RADIOLIB_ERR_UNSUPPORTED); return(RADIOLIB_ERR_UNSUPPORTED);

View file

@ -360,7 +360,7 @@ class PhysicalLayer {
\param pin Pin on which to read. \param pin Pin on which to read.
*/ */
virtual void readBit(uint8_t pin); virtual void readBit(uint32_t pin);
/*! /*!
\brief Get the number of direct mode bytes currently available in buffer. \brief Get the number of direct mode bytes currently available in buffer.
@ -393,7 +393,7 @@ class PhysicalLayer {
\returns \ref status_codes \returns \ref status_codes
*/ */
virtual int16_t setDIOMapping(uint8_t pin, uint8_t value); virtual int16_t setDIOMapping(uint32_t pin, uint32_t value);
/*! /*!
\brief Sets interrupt service routine to call when DIO1 activates. \brief Sets interrupt service routine to call when DIO1 activates.