knx
ETS configurable knx-stack
SamdPlatform Class Reference

#include <samd_platform.h>

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

Public Member Functions

 SamdPlatform ()
 
 SamdPlatform (HardwareSerial *s)
 
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 ()
 
- Public Member Functions inherited from ArduinoPlatform
 ArduinoPlatform ()
 
 ArduinoPlatform (HardwareSerial *knxSerial)
 
void fatalError ()
 
virtual void knxUart (HardwareSerial *serial)
 
virtual HardwareSerial * knxUart ()
 
virtual void setupUart ()
 
virtual void closeUart ()
 
virtual int uartAvailable ()
 
virtual size_t writeUart (const uint8_t data)
 
virtual size_t writeUart (const uint8_t *buffer, size_t size)
 
virtual int readUart ()
 
virtual size_t readBytesUart (uint8_t *buffer, size_t length)
 
virtual void flushUart ()
 
void setupSpi () override
 
void closeSpi () override
 
int readWriteSpi (uint8_t *data, size_t len) override
 
- Public Member Functions inherited from Platform
virtual ~Platform ()
 
virtual uint32_t currentIpAddress ()
 
virtual uint32_t currentSubnetMask ()
 
virtual uint32_t currentDefaultGateway ()
 
virtual void macAddress (uint8_t *data)
 
virtual void setupMultiCast (uint32_t addr, uint16_t port)
 
virtual void closeMultiCast ()
 
virtual bool sendBytesMultiCast (uint8_t *buffer, uint16_t len)
 
virtual int readBytesMultiCast (uint8_t *buffer, uint16_t maxLen)
 
virtual int readBytesMultiCast (uint8_t *buffer, uint16_t maxLen, uint32_t &src_addr, uint16_t &src_port)
 
virtual bool sendBytesUniCast (uint32_t addr, uint16_t port, uint8_t *buffer, uint16_t len)
 
virtual bool overflowUart ()
 
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 ()
 

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)
 
- 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
 

Detailed Description

Definition at line 10 of file samd_platform.h.

Constructor & Destructor Documentation

◆ SamdPlatform() [1/2]

SamdPlatform::SamdPlatform ( )

Definition at line 19 of file samd_platform.cpp.

◆ SamdPlatform() [2/2]

SamdPlatform::SamdPlatform ( HardwareSerial *  s)

Member Function Documentation

◆ commitToEeprom()

void SamdPlatform::commitToEeprom ( )
virtual

Reimplemented from Platform.

Definition at line 73 of file samd_platform.cpp.

◆ flashErase()

void SamdPlatform::flashErase ( uint16_t  eraseBlockNum)
virtual

Reimplemented from Platform.

Definition at line 133 of file samd_platform.cpp.

◆ flashEraseBlockSize()

size_t SamdPlatform::flashEraseBlockSize ( )
virtual

Reimplemented from Platform.

Definition at line 110 of file samd_platform.cpp.

Here is the caller graph for this function:

◆ flashPageSize()

size_t SamdPlatform::flashPageSize ( )
virtual

Reimplemented from Platform.

Definition at line 115 of file samd_platform.cpp.

Here is the caller graph for this function:

◆ flashWritePage()

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

Reimplemented from Platform.

Definition at line 143 of file samd_platform.cpp.

◆ getEepromBuffer()

uint8_t * SamdPlatform::getEepromBuffer ( uint32_t  size)
virtual

Reimplemented from Platform.

Definition at line 64 of file samd_platform.cpp.

Here is the call graph for this function:

◆ restart()

void SamdPlatform::restart ( )
virtual

Implements Platform.

Definition at line 56 of file samd_platform.cpp.

Here is the call graph for this function:

◆ uniqueSerialNumber()

uint32_t SamdPlatform::uniqueSerialNumber ( )
overridevirtual

Reimplemented from Platform.

Definition at line 36 of file samd_platform.cpp.

◆ userFlashSizeEraseBlocks()

size_t SamdPlatform::userFlashSizeEraseBlocks ( )
virtual

Reimplemented from Platform.

Definition at line 125 of file samd_platform.cpp.

Here is the call graph for this function:

◆ userFlashStart()

uint8_t * SamdPlatform::userFlashStart ( )
virtual

Reimplemented from Platform.

Definition at line 120 of file samd_platform.cpp.

◆ writeBufferedEraseBlock()

void SamdPlatform::writeBufferedEraseBlock ( )
virtual

Reimplemented from Platform.

Definition at line 153 of file samd_platform.cpp.


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