MBee Arduino library
Открытые члены | Защищенные данные | Полный список членов класса
Класс MBeeResponse

Супер класс для всех пакетов, передаваемых по UART модулями MBee-868-x.0 в проекте SerialStar. Подробнее...

#include <SerialStar.h>

Граф наследования:MBeeResponse:
FrameIdResponse ModemStatusResponse RxCommonResponse AtCommandResponse TxStatusResponse RemoteAtCommandResponse RxAcknowledgeResponse RxDataResponse RxIoSampleResponse RxResponse

Открытые члены

 MBeeResponse ()
 Конструктор "по умолчанию".
 
uint8_t getApiId ()
 Возвращает тип API-фрейма.
 
void setApiId (uint8_t apiId)
 
uint8_t getMsbLength ()
 Возвращает MSB длины поля данных.
 
void setMsbLength (uint8_t msbLength)
 
uint8_t getLsbLength ()
 Возвращает LSB длины поля данных.
 
void setLsbLength (uint8_t lsbLength)
 
uint8_t getChecksum ()
 Подсчет контрольной суммы.
 
void setChecksum (uint8_t checksum)
 Запись контрольной суммы в соответствующее поле пакета.
 
uint8_t getFrameDataLength ()
 Возвращает длину данных в пакете между полем типа API-фрейма и контрольной суммой.
 
void setFrameLength (uint8_t frameLength)
 Запись поля длины в пакете.
 
void setFrameData (uint8_t *frameDataPtr)
 Устанавливает указатель на поле данных пакета.
 
uint8_t * getFrameData ()
 Возвращает указатель на буфер, который содержит сообщение. Подробнее...
 
uint16_t getPacketLength ()
 Возвращает длину пакета.
 
void setExtendedFieldsLength (uint8_t length)
 Устанавливает длину дополнительных полей пакета расширенного формата. Подробнее...
 
uint8_t getExtendedFieldsLength (void)
 Возвращает длину дополнительных полей пакета расширенного формата.
 
void reset ()
 Сбрасывает все поля пакета.
 
void init ()
 Инициализация пакета.
 
void getTxStatusResponse (MBeeResponse &response)
 Вызов TxStatusResponse при getApiId() == 0x8B.
 
void getRxResponse (MBeeResponse &response)
 Вызов RxResponse при getApiId() == 0x81, 0x82, 0x8F, 0x90.
 
void getRxIoSampleResponse (MBeeResponse &response)
 Вызов RxIoSampleResponse при getApiId() == 0x83, 0x84.
 
void getModemStatusResponse (MBeeResponse &response)
 Вызов ModemStatusResponse при getApiId() == 0x8A.
 
void getAtCommandResponse (MBeeResponse &responses)
 Вызов AtCommandResponse при getApiId() == x88).
 
void getRemoteAtCommandResponse (MBeeResponse &response)
 Вызов RemoteAtCommandResponse при getApiId() == 0x97, 0x98.
 
void getRxAcknowledgeResponse (MBeeResponse &response)
 Вызов RxAcknowledgeResponse при getApiId() == 0x8C.
 
bool isAvailable ()
 Возвращает true, если пакет успешно принят.
 
void setAvailable (bool complete)
 Устанавливает признак доступности пакета.
 
bool isError ()
 Возвращает true если при разборе пакета произошли ошибки.
 
uint8_t getErrorCode ()
 Возвращает код ошибки или 0, если их нет. Подробнее...
 
void setErrorCode (uint8_t errorCode)
 Устанавливает код ошибки.
 

Защищенные данные

uint8_t * _frameDataPtr
 

Подробное описание

Супер класс для всех пакетов, передаваемых по UART модулями MBee-868-x.0 в проекте SerialStar.

Запрещается создавать объекты непосредственно этого класса. Необходимо использовать подклассы для соответствующих проектов. Для экономии памяти рекомендуется повторное использование объектов подклассов.

См. определение в файле SerialStar.h строка 202

Методы

◆ getErrorCode()

uint8_t MBeeResponse::getErrorCode ( )

Возвращает код ошибки или 0, если их нет.

Возможные коды ошибок: CHECKSUM_FAILURE, PACKET_EXCEEDS_BYTE_ARRAY_LENGTH, UNEXPECTED_START_BYTE.

См. определение в файле SerialStar.cpp строка 197

198 {
199  return _errorCode;
200 }

◆ getFrameData()

uint8_t * MBeeResponse::getFrameData ( )

Возвращает указатель на буфер, который содержит сообщение.

Первым байтом сообщения является байт, следующий непосредственно за байтом типа API-фрейма (API ID). Последним байтом является байт перед контрольной суммой. Такое трактование отличается от определения длины API-фрейма, которое включает в себя поле типа API-фрейма. Однако, поскольку формат каждого API-фрейма предполагает наличие на 4-ой позиции байта API ID, то смысла хранить его еще раз (а поле API ID хранится в особой переменной apiId) нет.

См. определение в файле SerialStar.cpp строка 96

97 {
98  return _frameDataPtr;
99 }

◆ setExtendedFieldsLength()

void MBeeResponse::setExtendedFieldsLength ( uint8_t  length)

Устанавливает длину дополнительных полей пакета расширенного формата.

В случае стандартного пакета длина дополнительных полей равна 0.

См. определение в файле SerialStar.cpp строка 106

107 {
108  _extendedFieldsLength = length;
109 }

Объявления и описания членов классов находятся в файлах: