BayEOSArduino Library
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
BayTCPInterface Class Referenceabstract
Inheritance diagram for BayTCPInterface:
Inheritance graph
[legend]
Collaboration diagram for BayTCPInterface:
Collaboration graph
[legend]

Public Member Functions

uint8_t sendPayload (void)
 
virtual uint8_t connect (void)=0
 
virtual void disconnect (void)=0
 
uint8_t sendMultiFromBuffer (uint16_t maxsize=5000)
 
uint8_t sendMultiFromBufferWithAckPayload (uint16_t maxsize=5000)
 
void setConfig (const char *str, uint8_t index)
 
void readConfigFromStringPGM (const char *string)
 
void readConfigFromEEPROM (int eeoffset=BayTCP_EEPROM_OFFSET)
 
void writeConfigToEEPROM (int eeoffset=BayTCP_EEPROM_OFFSET)
 
const char * getConfig (void)
 
const uint8_t * parseMAC (const char *str)
 
const uint8_t * parseIP (const char *str)
 
uint8_t hex2int (const char c)
 
char ** getConfigPointer (uint8_t index)
 
- Public Member Functions inherited from BayEOS
 BayEOS (void)
 
virtual uint8_t readIntoPayload (int timeout=5000)
 
virtual int available (void)
 
uint8_t sendError (const char *s)
 
uint8_t sendMessage (const char *s)
 
uint8_t createMessage (const char *s, uint8_t checksum=0, uint8_t frametype=BayEOS_Message)
 
uint8_t createActionResponse (uint8_t key, uint8_t status)
 
void startFrame (void)
 
void startFrame (uint8_t type)
 
void startOriginFrame (const char *o, uint8_t routed=0)
 
void startDataFrame (uint8_t subtype=BayEOS_Float32le, uint8_t checksum=0)
 
void startDataFrameWithOrigin (uint8_t subtype, const char *o, uint8_t checksum=0, uint8_t routed=0)
 
uint8_t addChannelValue (float v, uint8_t channel_number=0)
 
uint8_t addChannelValue (double v, uint8_t channel_number=0)
 
uint8_t addChannelValue (long v, uint8_t channel_number=0)
 
uint8_t addChannelValue (unsigned long v, uint8_t channel_number=0)
 
uint8_t addChannelValue (int v, uint8_t channel_number=0)
 
uint8_t addChannelValue (unsigned int v, uint8_t channel_number=0)
 
uint8_t addChannelValue (int8_t v, uint8_t channel_number=0)
 
uint8_t addChannelValue (uint8_t v, uint8_t channel_number=0)
 
uint8_t addChannelValue (float v, const char *channel_label)
 
uint8_t addChannelValue (double v, const char *channel_label)
 
uint8_t addChannelValue (long v, const char *channel_label)
 
uint8_t addChannelValue (unsigned long v, const char *channel_label)
 
uint8_t addChannelValue (int v, const char *channel_label)
 
uint8_t addChannelValue (unsigned int v, const char *channel_label)
 
uint8_t addChannelValue (int8_t v, const char *channel_label)
 
uint8_t addChannelValue (uint8_t v, const char *channel_label)
 
uint8_t addChecksum (void)
 
uint8_t validateChecksum (void)
 
void startRoutedFrame (uint16_t sourceMyID, uint16_t sourcePANID, uint8_t rssi=0)
 
void startDelayedFrame (unsigned long delay)
 
void startDelayedSecondFrame (unsigned long delay)
 
void startRF24Frame (uint8_t pipe)
 
void startTimestampFrame (unsigned long timestamp)
 
void startCommand (uint8_t cmd_api)
 
void startCommandResponse (uint8_t cmd_api)
 
uint8_t addToPayload (uint8_t b)
 
uint8_t addToPayload (const void *p, uint8_t length)
 
uint8_t addToPayload (const uint8_t *c)
 
uint8_t addToPayload (const char *s)
 
uint8_t addToPayload (float f)
 
uint8_t addToPayload (unsigned long l)
 
uint8_t addToPayload (long l)
 
uint8_t addToPayload (int w)
 
uint8_t addToPayload (uint16_t w)
 
uint8_t getPayloadBytesLeft (void) const
 
uint8_t getPayloadLength (void) const
 
uint8_t getPacketLength (void) const
 
const uint8_t * getPayload (void) const
 
uint8_t getPayload (uint8_t index) const
 
uint8_t sendOrBuffer (void)
 
uint8_t sendFromBuffer (void)
 
uint8_t writeToBuffer (void)
 
uint8_t readFromBuffer (void)
 
uint8_t readBinaryFromBuffer (unsigned long pos)
 
uint8_t readBinaryFromBuffer (unsigned long pos, unsigned long end, unsigned long vpos)
 
void setBuffer (BayEOSBuffer &buffer, uint16_t max_skip=0)
 

Public Attributes

boolean _urlencode
 
- Public Attributes inherited from BayEOS
uint8_t _payload [BayEOS_MAX_PAYLOAD]
 
uint8_t _next
 
uint8_t _success
 
uint8_t _failure_counter
 
uint16_t _max_skip
 
uint16_t _skip_counter
 
BayEOSBuffer_buffer
 

Protected Member Functions

virtual int i_available ()=0
 
virtual void flushMTU (void)=0
 
virtual void finishTransmissionMode (void)=0
 
void printPostHeader (uint16_t size)
 
void setConfigPointers (void)
 
uint8_t addToConfigBuffer (uint8_t offset, const char *str)
 
void skipChars (void)
 
uint8_t wait_forOK (uint16_t timeout)
 
uint8_t wait_forPGM (const char *str, uint16_t timeout, uint8_t bytes=0, char *buffer=NULL)
 
uint8_t wait_for_available (uint16_t *timeout, int bytes=1)
 
void printPGM (const char *str)
 
void printlnPGM (const char *str)
 
void serialprintPGM (const char *str)
 
void serialprintlnPGM (const char *str)
 
void urlDecode (char *str)
 
int strlenURLencoded (const char *str)
 
void printURLencoded (const char *str)
 

Protected Attributes

uint8_t _mac_ip [6]
 
char _config_buffer [BayTCP_CONFIG_SIZE]
 
char * _server
 
char * _port
 
char * _path
 
char * _user
 
char * _password
 
char * _sender
 
char * _apn
 
char * _prov_pw
 
char * _prov_user
 
char * _pin
 
char _base64buffer [BayTCP_BUFFER]
 
uint8_t _tx_error_count
 
uint16_t _mtu
 

Static Protected Attributes

static const char *const _urlencodedChars = "$&+,/:;=?@ <>#%{}|~[]`"
 

Member Function Documentation

◆ connect()

virtual uint8_t BayTCPInterface::connect ( void  )
pure virtual

Connect to the web through apn 0 == OK 1 == Network TIMEOUT 2 == Device TIMEOUT 3 and more == specific result codes of implementation

Implemented in BayGPRSInterface, and BayEth.

◆ disconnect()

virtual void BayTCPInterface::disconnect ( void  )
pure virtual

Disconnect from the web

Implemented in BayGPRSInterface, and BayEth.

◆ getConfig()

const char * BayTCPInterface::getConfig ( void  )

get pointer to config buffer server\0port\0path\0user\0\0password\0sender\0apn\0apn_pw\0apn_user\0\pin\0

◆ getConfigPointer()

char ** BayTCPInterface::getConfigPointer ( uint8_t  index)

get a pointer to a specific config buffer entry e.g Serial.print(*getConfigPointer(APN));

◆ readConfigFromEEPROM()

void BayTCPInterface::readConfigFromEEPROM ( int  eeoffset = BayTCP_EEPROM_OFFSET)

read config from EEPROM

◆ readConfigFromStringPGM()

void BayTCPInterface::readConfigFromStringPGM ( const char *  string)

read config from string - use | as field delimiter 132.180.112.x|80|path|user|password|Sender|APN|APN-PW|APN-USER|PIN|

◆ sendMultiFromBuffer()

uint8_t BayTCPInterface::sendMultiFromBuffer ( uint16_t  maxsize = 5000)

Send several frames in one post request returns 0 for success 1 == no success 2 == timeout 3 and more == result code of connect()+2

◆ sendPayload()

uint8_t BayTCPInterface::sendPayload ( void  )
virtual

Send the BayEOS payload as base64 encoded string returns 0 for success 1 == no success 2 == timeout 3 and more == result code of connect()+2

Implements BayEOS.

◆ setConfig()

void BayTCPInterface::setConfig ( const char *  str,
uint8_t  index 
)

set as config value in config buffer

◆ writeConfigToEEPROM()

void BayTCPInterface::writeConfigToEEPROM ( int  eeoffset = BayTCP_EEPROM_OFFSET)

write config to EEPROM

Member Data Documentation

◆ _urlencode

boolean BayTCPInterface::_urlencode

URL encode POST request. Default true


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