XBee-Arduino  0.2
Public Member Functions | Protected Attributes | List of all members
XBeeResponse Class Reference

The super class of all XBee responses (RX packets) Users should never attempt to create an instance of this class; instead create an instance of a subclass It is recommend to reuse subclasses to conserve memory. More...

#include <XBee.h>

Inheritance diagram for XBeeResponse:
FrameIdResponse ModemStatusResponse RxDataResponse AtCommandResponse TxStatusResponse ZBTxStatusResponse RxResponse ZBRxResponse RemoteAtCommandResponse Rx16Response Rx64Response RxIoSampleBaseResponse ZBRxIoSampleResponse Rx16IoSampleResponse Rx64IoSampleResponse

Public Member Functions

 XBeeResponse ()
 Default constructor. More...
 
uint8_t getApiId ()
 Returns Api Id of the response.
 
void setApiId (uint8_t apiId)
 
uint8_t getMsbLength ()
 Returns the MSB length of the packet.
 
void setMsbLength (uint8_t msbLength)
 
uint8_t getLsbLength ()
 Returns the LSB length of the packet.
 
void setLsbLength (uint8_t lsbLength)
 
uint8_t getChecksum ()
 Returns the packet checksum.
 
void setChecksum (uint8_t checksum)
 
uint8_t getFrameDataLength ()
 Returns the length of the frame data: all bytes after the api id, and prior to the checksum Note up to release 0.1.2, this was incorrectly including the checksum in the length.
 
void setFrameData (uint8_t *frameDataPtr)
 
uint8_t * getFrameData ()
 Returns the buffer that contains the response. More...
 
void setFrameLength (uint8_t frameLength)
 
uint16_t getPacketLength ()
 Returns the length of the packet.
 
void reset ()
 Resets the response to default values.
 
void init ()
 Initializes the response.
 
void getZBTxStatusResponse (XBeeResponse &response)
 Call with instance of ZBTxStatusResponse class only if getApiId() == ZB_TX_STATUS_RESPONSE to populate response.
 
void getZBRxResponse (XBeeResponse &response)
 Call with instance of ZBRxResponse class only if getApiId() == ZB_RX_RESPONSE to populate response.
 
void getZBRxIoSampleResponse (XBeeResponse &response)
 Call with instance of ZBRxIoSampleResponse class only if getApiId() == ZB_IO_SAMPLE_RESPONSE to populate response.
 
void getTxStatusResponse (XBeeResponse &response)
 Call with instance of TxStatusResponse only if getApiId() == TX_STATUS_RESPONSE.
 
void getRx16Response (XBeeResponse &response)
 Call with instance of Rx16Response only if getApiId() == RX_16_RESPONSE.
 
void getRx64Response (XBeeResponse &response)
 Call with instance of Rx64Response only if getApiId() == RX_64_RESPONSE.
 
void getRx16IoSampleResponse (XBeeResponse &response)
 Call with instance of Rx16IoSampleResponse only if getApiId() == RX_16_IO_RESPONSE.
 
void getRx64IoSampleResponse (XBeeResponse &response)
 Call with instance of Rx64IoSampleResponse only if getApiId() == RX_64_IO_RESPONSE.
 
void getAtCommandResponse (XBeeResponse &responses)
 Call with instance of AtCommandResponse only if getApiId() == AT_COMMAND_RESPONSE.
 
void getRemoteAtCommandResponse (XBeeResponse &response)
 Call with instance of RemoteAtCommandResponse only if getApiId() == REMOTE_AT_COMMAND_RESPONSE.
 
void getModemStatusResponse (XBeeResponse &response)
 Call with instance of ModemStatusResponse only if getApiId() == MODEM_STATUS_RESPONSE.
 
bool isAvailable ()
 Returns true if the response has been successfully parsed and is complete and ready for use.
 
void setAvailable (bool complete)
 
bool isError ()
 Returns true if the response contains errors.
 
uint8_t getErrorCode ()
 Returns an error code, or zero, if successful. More...
 
void setErrorCode (uint8_t errorCode)
 

Protected Attributes

uint8_t * _frameDataPtr
 

Detailed Description

The super class of all XBee responses (RX packets) Users should never attempt to create an instance of this class; instead create an instance of a subclass It is recommend to reuse subclasses to conserve memory.

Constructor & Destructor Documentation

XBeeResponse::XBeeResponse ( )

Default constructor.

Copyright (c) 2009 Andrew Rapp.

All rights reserved.

This file is part of XBee-Arduino.

XBee-Arduino is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

XBee-Arduino is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with XBee-Arduino. If not, see http://www.gnu.org/licenses/.

Member Function Documentation

uint8_t XBeeResponse::getErrorCode ( )

Returns an error code, or zero, if successful.

Error codes include: CHECKSUM_FAILURE, PACKET_EXCEEDS_BYTE_ARRAY_LENGTH, UNEXPECTED_START_BYTE

uint8_t * XBeeResponse::getFrameData ( )

Returns the buffer that contains the response.

Starts with byte that follows API ID and includes all bytes prior to the checksum Length is specified by getFrameDataLength() Note: Unlike Digi's definition of the frame data, this does not start with the API ID.. The reason for this is all responses include an API ID, whereas my frame data includes only the API specific data.


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