API declaration for MyTransport. 
| E  | SYS  | SUB  | Message  | Comment   | 
 | TSM  | INIT  |  | Transition to stInit state   | 
 | TSM  | INIT  | STATID=%d  | Node ID is static   | 
 | TSM  | INIT  | TSP OK  | Transport device configured and fully operational   | 
 | TSM  | INIT  | TSP PSM  | Transport passive mode set   | 
 | TSM  | INIT  | GW MODE  | Node is set up as GW, thus omitting ID and findParent states   | 
| !  | TSM  | INIT  | TSP FAIL  | Transport device initialization failed   | 
 | TSM  | FPAR  |  | Transition to stParent state   | 
 | TSM  | FPAR  | STATP=%d  | Static parent set, skip finding parent   | 
 | TSM  | FPAR  | OK  | Parent node identified   | 
| !  | TSM  | FPAR  | NO REPLY  | No potential parents replied to find parent request   | 
| !  | TSM  | FPAR  | FAIL  | Finding parent failed   | 
 | TSM  | ID  |  | Transition to stID state   | 
 | TSM  | ID  | OK,ID=%d  | Node ID is valid   | 
 | TSM  | ID  | REQ  | Request node ID from controller   | 
| !  | TSM  | ID  | FAIL,ID=%d  | ID verification failed, ID invalid, no ID received from controller   | 
 | TSM  | UPL  |  | Transition to stUplink state   | 
 | TSM  | UPL  | OK  | Uplink OK, GW returned ping   | 
 | TSF  | UPL  | DGWC,O=%d,N=%d  | Uplink check revealed changed network topology, old distance (O), new distance (N)   | 
| !  | TSM  | UPL  | FAIL  | Uplink check failed, i.e. GW could not be pinged   | 
 | TSM  | READY  | SRT  | Save routing table   | 
 | TSM  | READY  | ID=%d,PAR=%d,DIS=%d  | Transition to stReady Transport ready, node ID (ID), parent node ID (PAR), distance to GW (DIS)   | 
| !  | TSM  | READY  | UPL FAIL,SNP  | Too many failed uplink transmissions, search new parent   | 
| !  | TSM  | READY  | FAIL,STATP  | Too many failed uplink transmissions, static parent enforced   | 
 | TSM  | FAIL  | CNT=%d  | Transition to stFailure state, consecutive failure counter (CNT)   | 
 | TSM  | FAIL  | DIS  | Disable transport   | 
 | TSM  | FAIL  | RE-INIT  | Attempt to re-initialize transport   | 
 | TSF  | CKU  | OK  | Uplink OK   | 
 | TSF  | CKU  | OK,FCTRL  | Uplink OK, flood control prevents pinging GW in too short intervals   | 
 | TSF  | CKU  | DGWC,O=%d,N=%d  | Uplink check revealed changed network topology, old distance (O), new distance (N)   | 
 | TSF  | CKU  | FAIL  | No reply received when checking uplink   | 
 | TSF  | SID  | OK,ID=%d  | Node ID assigned   | 
| !  | TSF  | SID  | FAIL,ID=%d  | Assigned ID is invalid   | 
 | TSF  | PNG  | SEND,TO=%d  | Send ping to destination (TO)   | 
 | TSF  | WUR  | MS=%lu  | Wait until transport ready, timeout (MS)   | 
 | TSF  | MSG  | ECHO REQ  | ECHO message requested   | 
 | TSF  | MSG  | ECHO  | ECHO message, do not proceed but forward to callback   | 
 | TSF  | MSG  | FPAR RES,ID=%d,D=%d  | Response to find parent received from node (ID) with distance (D) to GW   | 
 | TSF  | MSG  | FPAR PREF FOUND  | Preferred parent found, i.e. parent defined via MY_PARENT_NODE_ID   | 
 | TSF  | MSG  | FPAR OK,ID=%d,D=%d  | Find parent response from node (ID) is valid, distance (D) to GW   | 
 | TSF  | MSG  | FPAR INACTIVE  | Find parent response received, but no find parent request active, skip response   | 
 | TSF  | MSG  | FPAR REQ,ID=%d  | Find parent request from node (ID)   | 
 | TSF  | MSG  | PINGED,ID=%d,HP=%d  | Node pinged by node (ID) with (HP) hops   | 
 | TSF  | MSG  | PONG RECV,HP=%d  | Pinged node replied with (HP) hops   | 
 | TSF  | MSG  | BC  | Broadcast message received   | 
 | TSF  | MSG  | GWL OK  | Link to GW ok   | 
 | TSF  | MSG  | FWD BC MSG  | Controlled broadcast message forwarding   | 
 | TSF  | MSG  | RCV CB  | Hand over message to receive() callback function   | 
 | TSF  | MSG  | REL MSG  | Relay message   | 
 | TSF  | MSG  | REL PxNG,HP=%d  | Relay PING/PONG message, increment hop counter (HP)   | 
| !  | TSF  | MSG  | SIGN VERIFY FAIL  | Signing verification failed   | 
| !  | TSF  | MSG  | REL MSG,NORP  | Node received a message for relaying, but node is not a repeater, message skipped   | 
| !  | TSF  | MSG  | SIGN FAIL  | Signing message failed   | 
| !  | TSF  | MSG  | GWL FAIL  | GW uplink failed   | 
| !  | TSF  | MSG  | ID TK INVALID  | Token for ID request invalid   | 
 | TSF  | SAN  | OK  | Sanity check passed   | 
| !  | TSF  | SAN  | FAIL  | Sanity check failed, attempt to re-initialize radio   | 
 | TSF  | CRT  | OK  | Clearing routing table successful   | 
 | TSF  | LRT  | OK  | Loading routing table successful   | 
 | TSF  | SRT  | OK  | Saving routing table successful   | 
| !  | TSF  | RTE  | FPAR ACTIVE  | Finding parent active, message not sent   | 
| !  | TSF  | RTE  | DST %d UNKNOWN  | Routing for destination (DST) unknown, send message to parent   | 
 | TSF  | RTE  | N2N OK  | Node-to-node communication succeeded   | 
| !  | TSF  | RTE  | N2N FAIL  | Node-to-node communication failed, handing over to parent for re-routing   | 
 | TSF  | RRT  | ROUTE N=%d,R=%d  | Routing table, messages to node (N) are routed via node (R)   | 
| !  | TSF  | SND  | TNR  | Transport not ready, message cannot be sent   | 
 | TSF  | TDI  | TSL  | Set transport to sleep   | 
 | TSF  | TDI  | TPD  | Power down transport   | 
 | TSF  | TRI  | TRI  | Reinitialise transport   | 
 | TSF  | TRI  | TSB  | Set transport to standby   | 
 | TSF  | SIR  | CMD=d,VAL=d  | Get signal report   | 
 | 
| 
void  | stInitTransition (void) | 
|   | Initialize SM variables and transport HW. 
  | 
|   | 
| 
void  | stInitUpdate (void) | 
|   | Initialize transport. 
  | 
|   | 
| 
void  | stParentTransition (void) | 
|   | Find parent. 
  | 
|   | 
| 
void  | stParentUpdate (void) | 
|   | Verify find parent responses. 
  | 
|   | 
| 
void  | stIDTransition (void) | 
|   | Send ID request. 
  | 
|   | 
| 
void  | stIDUpdate (void) | 
|   | Verify ID response and GW link. 
  | 
|   | 
| 
void  | stUplinkTransition (void) | 
|   | Send uplink ping request. 
  | 
|   | 
| 
void  | stUplinkUpdate (void) | 
|   | Verify uplink response. 
  | 
|   | 
| 
void  | stReadyTransition (void) | 
|   | Set transport OK. 
  | 
|   | 
| 
void  | stReadyUpdate (void) | 
|   | Monitor transport link. 
  | 
|   | 
| 
void  | stFailureTransition (void) | 
|   | Transport failure and power down radio. 
  | 
|   | 
| 
void  | stFailureUpdate (void) | 
|   | Re-initialize transport after timeout. 
  | 
|   | 
| void  | transportSwitchSM (transportState_t &newState) | 
|   | Switch SM state.  More...
  | 
|   | 
| 
void  | transportUpdateSM (void) | 
|   | Update SM state. 
  | 
|   | 
| uint32_t  | transportTimeInState (void) | 
|   | Request time in current SM state.  More...
  | 
|   | 
| 
void  | transportInvokeSanityCheck (void) | 
|   | Call transport driver sanity check. 
  | 
|   | 
| 
void  | transportProcessFIFO (void) | 
|   | Process all pending messages in RX FIFO. 
  | 
|   | 
| 
void  | transportProcessMessage (void) | 
|   | Receive message from RX FIFO and process. 
  | 
|   | 
| bool  | transportAssignNodeID (const uint8_t newNodeId) | 
|   | Assign node ID.  More...
  | 
|   | 
| bool  | transportWait (const uint32_t waitingMS, const uint8_t cmd, const uint8_t msgType) | 
|   | Wait and process messages for a defined amount of time until specified message received.  More...
  | 
|   | 
| uint8_t  | transportPingNode (const uint8_t targetId) | 
|   | Ping node.  More...
  | 
|   | 
| bool  | transportRouteMessage (MyMessage &message) | 
|   | Send and route message according to destination.  More...
  | 
|   | 
| bool  | transportSendRoute (MyMessage &message) | 
|   | Send and route message according to destination with transport state check.  More...
  | 
|   | 
| bool  | transportSendWrite (const uint8_t to, MyMessage &message) | 
|   | Send message to recipient.  More...
  | 
|   | 
| bool  | transportCheckUplink (const bool force=false) | 
|   | Check uplink to GW, includes flooding control.  More...
  | 
|   | 
| bool  | transportWaitUntilReady (const uint32_t waitingMS=0) | 
|   | Wait until transport is ready.  More...
  | 
|   | 
| 
void  | transportInitialise (void) | 
|   | Initialize transport and SM. 
  | 
|   | 
| 
void  | transportProcess (void) | 
|   | Process FIFO msg and update SM. 
  | 
|   | 
| bool  | isTransportReady (void) | 
|   | Flag transport ready.  More...
  | 
|   | 
| bool  | isTransportSearchingParent (void) | 
|   | Flag searching parent ongoing.  More...
  | 
|   | 
| bool  | isTransportExtendedFailure (void) | 
|   | Flag TSM extended failure.  More...
  | 
|   | 
| bool  | isMessageReceived (void) | 
|   | Flag valid message received.  More...
  | 
|   | 
| 
void  | resetMessageReceived (void) | 
|   | Reset message received flag. 
  | 
|   | 
| 
void  | transportClearRoutingTable (void) | 
|   | Clear routing table. 
  | 
|   | 
| uint32_t  | transportGetHeartbeat (void) | 
|   | Return heart beat.  More...
  | 
|   | 
| 
void  | transportLoadRoutingTable (void) | 
|   | Load routing table from EEPROM to RAM. Only for GW devices with enough RAM, i.e. ESP8266, RPI Sensebender GW, etc. Atmega328 has only limited amount of RAM. 
  | 
|   | 
| 
void  | transportSaveRoutingTable (void) | 
|   | Save routing table to EEPROM. 
  | 
|   | 
| void  | transportSetRoute (const uint8_t node, const uint8_t route) | 
|   | Update routing table.  More...
  | 
|   | 
| uint8_t  | transportGetRoute (const uint8_t node) | 
|   | Load route to node.  More...
  | 
|   | 
| 
void  | transportReportRoutingTable (void) | 
|   | Reports content of routing table. 
  | 
|   | 
| uint8_t  | transportGetNodeId (void) | 
|   | Get node ID.  More...
  | 
|   | 
| uint8_t  | transportGetParentNodeId (void) | 
|   | Get parent node ID.  More...
  | 
|   | 
| uint8_t  | transportGetDistanceGW (void) | 
|   | Get distance to GW.  More...
  | 
|   | 
| void  | transportTogglePassiveMode (const bool OnOff) | 
|   | Toggle passive mode, i.e. transport does not wait for ACK.  More...
  | 
|   | 
| 
void  | transportDisable (void) | 
|   | Disable transport, if xxx_POWER_PIN is defined, transport is powered down, else send to sleep. 
  | 
|   | 
| 
void  | transportReInitialise (void) | 
|   | Reinitialise transport. Put transport to standby - If xxx_POWER_PIN set, power up and go to standby. 
  | 
|   | 
| int16_t  | transportSignalReport (const char command) __attribute__((unused)) | 
|   | Get transport signal report.  More...
  | 
|   | 
| int16_t  | transportGetSignalReport (const signalReport_t signalReport) __attribute__((unused)) | 
|   | Get transport signal report.  More...
  | 
|   |