knx
ETS configurable knx-stack
RP2040ArduinoPlatform Class Reference

#include <rp2040_arduino_platform.h>

Inheritance diagram for RP2040ArduinoPlatform:
[legend]
Collaboration diagram for RP2040ArduinoPlatform:
[legend]

Public Member Functions

 RP2040ArduinoPlatform ()
 
 RP2040ArduinoPlatform (HardwareSerial *s)
 
void knxUartPins (pin_size_t rxPin, pin_size_t txPin)
 
void setupUart () override
 
bool overflowUart () override
 
int uartAvailable () override
 
void closeUart () override
 
void knxUart (HardwareSerial *serial) override
 
HardwareSerial * knxUart () override
 
size_t writeUart (const uint8_t data) override
 
size_t writeUart (const uint8_t *buffer, size_t size) override
 
int readUart () override
 
size_t readBytesUart (uint8_t *buffer, size_t length) override
 
void flushUart () override
 
uint32_t uniqueSerialNumber () override
 
void restart ()
 
uint8_t * getEepromBuffer (uint32_t size)
 
void commitToEeprom ()
 
virtual size_t flashEraseBlockSize ()
 
virtual size_t flashPageSize ()
 
virtual uint8_t * userFlashStart ()
 
virtual size_t userFlashSizeEraseBlocks ()
 
virtual void flashErase (uint16_t eraseBlockNum)
 
virtual void flashWritePage (uint16_t pageNumber, uint8_t *data)
 
void writeBufferedEraseBlock ()
 
uint32_t currentIpAddress () override
 
uint32_t currentSubnetMask () override
 
uint32_t currentDefaultGateway () override
 
void macAddress (uint8_t *addr) override
 
void setupMultiCast (uint32_t addr, uint16_t port) override
 
void closeMultiCast () override
 
bool sendBytesMultiCast (uint8_t *buffer, uint16_t len) override
 
int readBytesMultiCast (uint8_t *buffer, uint16_t maxLen, uint32_t &src_addr, uint16_t &src_port) override
 
bool sendBytesUniCast (uint32_t addr, uint16_t port, uint8_t *buffer, uint16_t len) override
 
- Public Member Functions inherited from ArduinoPlatform
 ArduinoPlatform ()
 
 ArduinoPlatform (HardwareSerial *knxSerial)
 
void fatalError ()
 
void setupSpi () override
 
void closeSpi () override
 
int readWriteSpi (uint8_t *data, size_t len) override
 
- Public Member Functions inherited from Platform
virtual ~Platform ()
 
virtual int readBytesMultiCast (uint8_t *buffer, uint16_t maxLen)
 
virtual uint8_t * getNonVolatileMemoryStart ()
 
virtual size_t getNonVolatileMemorySize ()
 
virtual void commitNonVolatileMemory ()
 
virtual uint32_t writeNonVolatileMemory (uint32_t relativeAddress, uint8_t *buffer, size_t size)
 
virtual uint32_t readNonVolatileMemory (uint32_t relativeAddress, uint8_t *buffer, size_t size)
 
virtual uint32_t writeNonVolatileMemory (uint32_t relativeAddress, uint8_t value, size_t repeat)
 
NvMemoryType NonVolatileMemoryType ()
 
void NonVolatileMemoryType (NvMemoryType type)
 
void registerFlashCallbacks (FlashCallbackSize callbackFlashSize, FlashCallbackRead callbackFlashRead, FlashCallbackWrite callbackFlashWrite, FlashCallbackCommit callbackFlashCommit)
 
FlashCallbackSize callbackFlashSize ()
 
FlashCallbackRead callbackFlashRead ()
 
FlashCallbackWrite callbackFlashWrite ()
 
FlashCallbackCommit callbackFlashCommit ()
 

Public Attributes

uint8_t _rambuff [KNX_FLASH_SIZE]
 
bool _rambuff_initialized = false
 

Protected Attributes

WiFiUDP _udp
 
IPAddress mcastaddr
 
uint16_t _port
 
pin_size_t _rxPin = UART_PIN_NOT_DEFINED
 
pin_size_t _txPin = UART_PIN_NOT_DEFINED
 
IPAddress _remoteIP = 0
 
uint16_t _remotePort = 0
 
- Protected Attributes inherited from ArduinoPlatform
HardwareSerial * _knxSerial
 
- Protected Attributes inherited from Platform
NvMemoryType _memoryType = Eeprom
 
uint8_t * _eraseblockBuffer = nullptr
 
int32_t _bufferedEraseblockNumber = -1
 
bool _bufferedEraseblockDirty = false
 
FlashCallbackSize _callbackFlashSize = nullptr
 
FlashCallbackRead _callbackFlashRead = nullptr
 
FlashCallbackWrite _callbackFlashWrite = nullptr
 
FlashCallbackCommit _callbackFlashCommit = nullptr
 

Additional Inherited Members

- Static Public Attributes inherited from ArduinoPlatform
static Stream * SerialDebug = &KNX_DEBUG_SERIAL
 
- Protected Member Functions inherited from Platform
void loadEraseblockContaining (uint32_t relativeAddress)
 
int32_t getEraseBlockNumberOf (uint32_t relativeAddress)
 
void bufferEraseBlock (int32_t eraseBlockNumber)
 

Detailed Description

Definition at line 57 of file rp2040_arduino_platform.h.

Constructor & Destructor Documentation

◆ RP2040ArduinoPlatform() [1/2]

RP2040ArduinoPlatform::RP2040ArduinoPlatform ( )

Definition at line 115 of file rp2040_arduino_platform.cpp.

◆ RP2040ArduinoPlatform() [2/2]

RP2040ArduinoPlatform::RP2040ArduinoPlatform ( HardwareSerial *  s)

Member Function Documentation

◆ closeMultiCast()

void RP2040ArduinoPlatform::closeMultiCast ( )
overridevirtual

Reimplemented from Platform.

Definition at line 497 of file rp2040_arduino_platform.cpp.

◆ closeUart()

void RP2040ArduinoPlatform::closeUart ( )
overridevirtual

Reimplemented from ArduinoPlatform.

Definition at line 288 of file rp2040_arduino_platform.cpp.

◆ commitToEeprom()

void RP2040ArduinoPlatform::commitToEeprom ( )
virtual

Reimplemented from Platform.

Definition at line 349 of file rp2040_arduino_platform.cpp.

◆ currentDefaultGateway()

uint32_t RP2040ArduinoPlatform::currentDefaultGateway ( )
overridevirtual

Reimplemented from Platform.

Definition at line 467 of file rp2040_arduino_platform.cpp.

◆ currentIpAddress()

uint32_t RP2040ArduinoPlatform::currentIpAddress ( )
overridevirtual

Reimplemented from Platform.

Definition at line 459 of file rp2040_arduino_platform.cpp.

◆ currentSubnetMask()

uint32_t RP2040ArduinoPlatform::currentSubnetMask ( )
overridevirtual

Reimplemented from Platform.

Definition at line 463 of file rp2040_arduino_platform.cpp.

◆ flashErase()

void RP2040ArduinoPlatform::flashErase ( uint16_t  eraseBlockNum)
virtual

Reimplemented from Platform.

Definition at line 418 of file rp2040_arduino_platform.cpp.

Here is the call graph for this function:

◆ flashEraseBlockSize()

size_t RP2040ArduinoPlatform::flashEraseBlockSize ( )
virtual

Reimplemented from Platform.

Definition at line 395 of file rp2040_arduino_platform.cpp.

Here is the caller graph for this function:

◆ flashPageSize()

size_t RP2040ArduinoPlatform::flashPageSize ( )
virtual

Reimplemented from Platform.

Definition at line 400 of file rp2040_arduino_platform.cpp.

Here is the caller graph for this function:

◆ flashWritePage()

void RP2040ArduinoPlatform::flashWritePage ( uint16_t  pageNumber,
uint8_t *  data 
)
virtual

Reimplemented from Platform.

Definition at line 429 of file rp2040_arduino_platform.cpp.

Here is the call graph for this function:

◆ flushUart()

void RP2040ArduinoPlatform::flushUart ( )
inlineoverridevirtual

Reimplemented from ArduinoPlatform.

Definition at line 85 of file rp2040_arduino_platform.h.

◆ getEepromBuffer()

uint8_t * RP2040ArduinoPlatform::getEepromBuffer ( uint32_t  size)
virtual

Reimplemented from Platform.

Definition at line 332 of file rp2040_arduino_platform.cpp.

Here is the call graph for this function:

◆ knxUart() [1/2]

HardwareSerial* RP2040ArduinoPlatform::knxUart ( )
inlineoverridevirtual

Reimplemented from ArduinoPlatform.

Definition at line 71 of file rp2040_arduino_platform.h.

◆ knxUart() [2/2]

void RP2040ArduinoPlatform::knxUart ( HardwareSerial *  serial)
inlineoverridevirtual

Reimplemented from ArduinoPlatform.

Definition at line 70 of file rp2040_arduino_platform.h.

◆ knxUartPins()

void RP2040ArduinoPlatform::knxUartPins ( pin_size_t  rxPin,
pin_size_t  txPin 
)

Definition at line 139 of file rp2040_arduino_platform.cpp.

◆ macAddress()

void RP2040ArduinoPlatform::macAddress ( uint8_t *  addr)
overridevirtual

Reimplemented from Platform.

Definition at line 471 of file rp2040_arduino_platform.cpp.

◆ overflowUart()

bool RP2040ArduinoPlatform::overflowUart ( )
overridevirtual

Reimplemented from Platform.

Definition at line 145 of file rp2040_arduino_platform.cpp.

Here is the call graph for this function:

◆ readBytesMultiCast()

int RP2040ArduinoPlatform::readBytesMultiCast ( uint8_t *  buffer,
uint16_t  maxLen,
uint32_t &  src_addr,
uint16_t &  src_port 
)
overridevirtual

Reimplemented from Platform.

Definition at line 513 of file rp2040_arduino_platform.cpp.

Here is the call graph for this function:

◆ readBytesUart()

size_t RP2040ArduinoPlatform::readBytesUart ( uint8_t *  buffer,
size_t  length 
)
inlineoverridevirtual

Reimplemented from ArduinoPlatform.

Definition at line 81 of file rp2040_arduino_platform.h.

◆ readUart()

int RP2040ArduinoPlatform::readUart ( )
overridevirtual

Reimplemented from ArduinoPlatform.

Definition at line 251 of file rp2040_arduino_platform.cpp.

Here is the call graph for this function:

◆ restart()

void RP2040ArduinoPlatform::restart ( )
virtual

Implements Platform.

Definition at line 320 of file rp2040_arduino_platform.cpp.

Here is the call graph for this function:

◆ sendBytesMultiCast()

bool RP2040ArduinoPlatform::sendBytesMultiCast ( uint8_t *  buffer,
uint16_t  len 
)
overridevirtual

Reimplemented from Platform.

Definition at line 502 of file rp2040_arduino_platform.cpp.

◆ sendBytesUniCast()

bool RP2040ArduinoPlatform::sendBytesUniCast ( uint32_t  addr,
uint16_t  port,
uint8_t *  buffer,
uint16_t  len 
)
overridevirtual

Reimplemented from Platform.

Definition at line 544 of file rp2040_arduino_platform.cpp.

Here is the call graph for this function:

◆ setupMultiCast()

void RP2040ArduinoPlatform::setupMultiCast ( uint32_t  addr,
uint16_t  port 
)
overridevirtual

Reimplemented from Platform.

Definition at line 477 of file rp2040_arduino_platform.cpp.

◆ setupUart()

void RP2040ArduinoPlatform::setupUart ( )
overridevirtual

Reimplemented from ArduinoPlatform.

Definition at line 176 of file rp2040_arduino_platform.cpp.

Here is the call graph for this function:

◆ uartAvailable()

int RP2040ArduinoPlatform::uartAvailable ( )
overridevirtual

Reimplemented from ArduinoPlatform.

Definition at line 233 of file rp2040_arduino_platform.cpp.

Here is the caller graph for this function:

◆ uniqueSerialNumber()

uint32_t RP2040ArduinoPlatform::uniqueSerialNumber ( )
overridevirtual

Reimplemented from Platform.

Definition at line 302 of file rp2040_arduino_platform.cpp.

◆ userFlashSizeEraseBlocks()

size_t RP2040ArduinoPlatform::userFlashSizeEraseBlocks ( )
virtual

Reimplemented from Platform.

Definition at line 410 of file rp2040_arduino_platform.cpp.

Here is the call graph for this function:

◆ userFlashStart()

uint8_t * RP2040ArduinoPlatform::userFlashStart ( )
virtual

Reimplemented from Platform.

Definition at line 405 of file rp2040_arduino_platform.cpp.

◆ writeBufferedEraseBlock()

void RP2040ArduinoPlatform::writeBufferedEraseBlock ( )
virtual

Reimplemented from Platform.

Definition at line 440 of file rp2040_arduino_platform.cpp.

Here is the call graph for this function:

◆ writeUart() [1/2]

size_t RP2040ArduinoPlatform::writeUart ( const uint8_t *  buffer,
size_t  size 
)
inlineoverridevirtual

Reimplemented from ArduinoPlatform.

Definition at line 76 of file rp2040_arduino_platform.h.

◆ writeUart() [2/2]

size_t RP2040ArduinoPlatform::writeUart ( const uint8_t  data)
overridevirtual

Reimplemented from ArduinoPlatform.

Definition at line 274 of file rp2040_arduino_platform.cpp.

Member Data Documentation

◆ _port

uint16_t RP2040ArduinoPlatform::_port
protected

Definition at line 143 of file rp2040_arduino_platform.h.

◆ _rambuff

uint8_t RP2040ArduinoPlatform::_rambuff[KNX_FLASH_SIZE]

Definition at line 99 of file rp2040_arduino_platform.h.

◆ _rambuff_initialized

bool RP2040ArduinoPlatform::_rambuff_initialized = false

Definition at line 100 of file rp2040_arduino_platform.h.

◆ _remoteIP

IPAddress RP2040ArduinoPlatform::_remoteIP = 0
protected

Definition at line 151 of file rp2040_arduino_platform.h.

◆ _remotePort

uint16_t RP2040ArduinoPlatform::_remotePort = 0
protected

Definition at line 153 of file rp2040_arduino_platform.h.

◆ _rxPin

pin_size_t RP2040ArduinoPlatform::_rxPin = UART_PIN_NOT_DEFINED
protected

Definition at line 146 of file rp2040_arduino_platform.h.

◆ _txPin

pin_size_t RP2040ArduinoPlatform::_txPin = UART_PIN_NOT_DEFINED
protected

Definition at line 148 of file rp2040_arduino_platform.h.

◆ _udp

WiFiUDP RP2040ArduinoPlatform::_udp
protected

Definition at line 139 of file rp2040_arduino_platform.h.

◆ mcastaddr

IPAddress RP2040ArduinoPlatform::mcastaddr
protected

Definition at line 141 of file rp2040_arduino_platform.h.


The documentation for this class was generated from the following files: