Andrew Lindsay / Mbed 2 deprecated IoTGateway_Basic

Dependencies:   NetServices FatFileSystem csv_parser mbed MQTTClient RF12B DNSResolver SDFileSystem

Embed: (wiki syntax)

« Back to documentation index

PayloadDef Class Reference

PayloadDef Class Reference

Payload definition base class. More...

#include <PayloadDef.h>

Inherited by PayloadSimple, PayloadV1, and PayloadV2.

Public Member Functions

 PayloadDef ()
 Default Constructor.
 PayloadDef (uint8_t *pptr, short plen)
 Alternative constructor for passing payload.
virtual short numReadings ()=0
 Get the number of readings in a payload.
virtual int reading (short readingNum)=0
 Get a single reading from the payload Other payload definition classes may provide alternative versions for bytes, words or strings.
virtual short sensorId (short readingNum)=0
 Get the sensor ID for the specified reading within the payload Other payload definition classes may provide alternative versions for bytes, words or strings.
uint8_t nodeId ()
 Get the node ID from the data header.
uint8_t groupId ()
 Get the group ID from the data header.

Detailed Description

Payload definition base class.

Definition at line 41 of file PayloadDef.h.


Constructor & Destructor Documentation

PayloadDef (  )

Default Constructor.

IoT Gateway RFM12B payload format handling.

Author:
Andrew Lindsay

LICENSE

Copyright (c) 2012 Andrew Lindsay (andrew [at] thiseldo [dot] co [dot] uk)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

DESCRIPTION

Definition at line 37 of file PayloadDef.cpp.

PayloadDef ( uint8_t *  pptr,
short  plen 
)

Alternative constructor for passing payload.

Parameters:
pptrPointer to payload data
plenLength of paylod data

Definition at line 39 of file PayloadDef.cpp.


Member Function Documentation

uint8_t groupId (  )

Get the group ID from the data header.

Returns:
Single byte Group ID from the received header data

Definition at line 54 of file PayloadDef.cpp.

uint8_t nodeId (  )

Get the node ID from the data header.

Returns:
Single byte Node ID from the received header data

Definition at line 50 of file PayloadDef.cpp.

virtual short numReadings (  ) [pure virtual]

Get the number of readings in a payload.

Returns:
the number of readings found in payload so they can be read

Implemented in PayloadSimple, PayloadV1, and PayloadV2.

virtual int reading ( short  readingNum ) [pure virtual]

Get a single reading from the payload Other payload definition classes may provide alternative versions for bytes, words or strings.

Parameters:
readingNumThe number of the reading, starts from 0 upto number of readings in payload
Returns:
Integer representation of reading

Implemented in PayloadSimple, PayloadV1, and PayloadV2.

virtual short sensorId ( short  readingNum ) [pure virtual]

Get the sensor ID for the specified reading within the payload Other payload definition classes may provide alternative versions for bytes, words or strings.

Parameters:
readingNumThe number of the reading, starts from 0 upto number of readings in payload
Returns:
Integer representation of reading

Implemented in PayloadSimple, PayloadV1, and PayloadV2.