Class Platform

Inheritance Relationships

Derived Types

Class Documentation

class Platform

Subclassed by ArduinoPlatform, LinuxPlatform

Public Functions

inline virtual ~Platform()
virtual uint32_t currentIpAddress()
virtual uint32_t currentSubnetMask()
virtual uint32_t currentDefaultGateway()
virtual void macAddress(uint8_t *data)
virtual uint32_t uniqueSerialNumber()
virtual void restart() = 0
virtual void fatalError() = 0
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 bool sendBytesUniCast(uint32_t addr, uint16_t port, uint8_t *buffer, uint16_t len)
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 setupSpi()
virtual void closeSpi()
virtual int readWriteSpi(uint8_t *data, size_t len)
virtual uint8_t *getEepromBuffer(uint32_t size)
virtual void commitToEeprom()
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 writeNonVolatileMemory(uint32_t relativeAddress, uint8_t value, size_t repeat)
NvMemoryType NonVolatileMemoryType()
void NonVolatileMemoryType(NvMemoryType type)
virtual size_t flashPageSize()

Protected Functions

virtual size_t flashEraseBlockSize()
virtual uint8_t *userFlashStart()
virtual size_t userFlashSizeEraseBlocks()
virtual void flashErase(uint16_t eraseBlockNum)
virtual void flashWritePage(uint16_t pageNumber, uint8_t *data)
void loadEraseblockContaining(uint32_t relativeAddress)
int32_t getEraseBlockNumberOf(uint32_t relativeAddress)
virtual void writeBufferedEraseBlock()
void bufferEraseBlock(int32_t eraseBlockNumber)

Protected Attributes

NvMemoryType _memoryType = Eeprom
uint8_t *_eraseblockBuffer = nullptr
int32_t _bufferedEraseblockNumber = -1
bool _bufferedEraseblockDirty = false