Tiny protocol  0.7.0
Tiny communication protocol for microcontrollers
Public Member Functions | List of all members
Tiny::Proto Class Reference

#include <TinyProtocol.h>

Public Member Functions

void begin (write_block_cb_t writecb, read_block_cb_t readcb)
 
void beginToSerial ()
 
void beginToSerial1 ()
 
void beginToSerial2 ()
 
void beginToSerial3 ()
 
void end ()
 
int write (char *buf, int size, uint8_t flags=TINY_FLAG_WAIT_FOREVER)
 
int read (char *buf, int size, uint8_t flags=TINY_FLAG_WAIT_FOREVER)
 
int write (Packet &pkt, uint8_t flags=TINY_FLAG_WAIT_FOREVER)
 
int read (Packet &pkt, uint8_t flags=TINY_FLAG_WAIT_FOREVER)
 
void disableCrc ()
 
bool enableCheckSum ()
 
bool enableCrc16 ()
 
bool enableCrc32 ()
 
void enableUid ()
 
void disableUid ()
 

Detailed Description

Proto class incapsulates Protocol functionality. Remember that you may use always C-style API functions instead C++. Please refer to documentation.

Member Function Documentation

◆ begin()

void Tiny::Proto::begin ( write_block_cb_t  writecb,
read_block_cb_t  readcb 
)

Initializes protocol internal variables. If you need to switch communication with other destination point, you can call this method one again after calling end().

Parameters
writecb- write function to some physical channel
readcb- read function from some physical channel
Returns
None

◆ beginToSerial()

void Tiny::Proto::beginToSerial ( )
inline

Initializes protocol internal variables and redirects communication through Arduino Serial connection (Serial).

Returns
None

◆ beginToSerial1()

void Tiny::Proto::beginToSerial1 ( )
inline

Initializes protocol internal variables and redirects communication through Arduino Serial1 connection (Serial1).

Returns
None

◆ beginToSerial2()

void Tiny::Proto::beginToSerial2 ( )
inline

Initializes protocol internal variables and redirects communication through Arduino Serial2 connection (Serial2).

Returns
None

◆ beginToSerial3()

void Tiny::Proto::beginToSerial3 ( )
inline

Initializes protocol internal variables and redirects communication through Arduino Serial3 connection (Serial3).

Returns
None

◆ disableCrc()

void Tiny::Proto::disableCrc ( )

Disable CRC field in the protocol. If CRC field is OFF, then the frame looks like this: 0x7E databytes 0x7E.

◆ disableUid()

void Tiny::Proto::disableUid ( )
inline

Disables Uid field in the protocol. If enabled this 16-bit field with packet identifier is added before each payload data. Frame with uid: 0x7E 16-bituid payload 0x7E Frame without uid: 0x7E payload 0x7E

◆ enableCheckSum()

bool Tiny::Proto::enableCheckSum ( )

Enables CRC 8-bit field in the protocol. This field contains sum of all data bytes in the packet. 8-bit field is supported by Nano version of Tiny library.

Returns
true if successful false in case of error.

◆ enableCrc16()

bool Tiny::Proto::enableCrc16 ( )

Enables CRC 16-bit field in the protocol. This field contains FCS 16-bit CCITT like defined in RFC 1662. 16-bit field is not supported by Nano version of Tiny library.

Returns
true if successful false in case of error.

◆ enableCrc32()

bool Tiny::Proto::enableCrc32 ( )

Enables CRC 32-bit field in the protocol. This field contains FCS 32-bit CCITT like defined in RFC 1662. 32-bit field is not supported by Nano version of Tiny library.

Returns
true if successful false in case of error.

◆ enableUid()

void Tiny::Proto::enableUid ( )
inline

Enables Uid field in the protocol. If enabled this 16-bit field with packet identifier is added before each payload data. Frame with uid: 0x7E 16-bituid payload 0x7E Frame without uid: 0x7E payload 0x7E

◆ end()

void Tiny::Proto::end ( )

Resets protocol state.

◆ read() [1/2]

int Tiny::Proto::read ( char *  buf,
int  size,
uint8_t  flags = TINY_FLAG_WAIT_FOREVER 
)

Reads data block from communication channel.

Parameters
buf- buffer to place data read from communication channel
size- maximum size of the buffer in bytes.
flags- Flags for Tiny API functions
Returns
negative value in case of error zero if nothing is read positive - number of bytes read from the channel

◆ read() [2/2]

int Tiny::Proto::read ( Packet pkt,
uint8_t  flags = TINY_FLAG_WAIT_FOREVER 
)

Reads packet from communication channel.

Parameters
pktPacket object to put data to
flagsFlags for Tiny API functions
See also
Packet
Returns
negative value in case of error zero if nothing is read positive - Packet is successfully received

◆ write() [1/2]

int Tiny::Proto::write ( char *  buf,
int  size,
uint8_t  flags = TINY_FLAG_WAIT_FOREVER 
)

Sends data block over communication channel.

Parameters
buf- data to send
size- length of the data in bytes
flags- flags. Flags for Tiny API functions
Returns
negative value in case of error zero if nothing is sent positive - should be equal to size parameter

◆ write() [2/2]

int Tiny::Proto::write ( Packet pkt,
uint8_t  flags = TINY_FLAG_WAIT_FOREVER 
)

Sends packet over communication channel.

Parameters
pkt- Packet to send
flags- Flags for Tiny API functions
See also
Packet
Returns
negative value in case of error zero if nothing is sent positive - Packet is successfully sent

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