![]() |
MBee Arduino library
|
Супер класс для всех пакетов, передаваемых по UART модулями MBee-868-x.0 в проекте SerialStar. Подробнее...
#include <SerialStar.h>
Открытые члены | |
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
uint8_t MBeeResponse::getErrorCode | ( | ) |
Возвращает код ошибки или 0, если их нет.
Возможные коды ошибок: CHECKSUM_FAILURE, PACKET_EXCEEDS_BYTE_ARRAY_LENGTH, UNEXPECTED_START_BYTE.
См. определение в файле SerialStar.cpp строка 197
uint8_t * MBeeResponse::getFrameData | ( | ) |
Возвращает указатель на буфер, который содержит сообщение.
Первым байтом сообщения является байт, следующий непосредственно за байтом типа API-фрейма (API ID). Последним байтом является байт перед контрольной суммой. Такое трактование отличается от определения длины API-фрейма, которое включает в себя поле типа API-фрейма. Однако, поскольку формат каждого API-фрейма предполагает наличие на 4-ой позиции байта API ID, то смысла хранить его еще раз (а поле API ID хранится в особой переменной apiId) нет.
См. определение в файле SerialStar.cpp строка 96
void MBeeResponse::setExtendedFieldsLength | ( | uint8_t | length | ) |
Устанавливает длину дополнительных полей пакета расширенного формата.
В случае стандартного пакета длина дополнительных полей равна 0.
См. определение в файле SerialStar.cpp строка 106