/*! \file \brief Протокол FSM \authors Гусенков.С.В \version 0.0.1_rc1 \date 30.12.2015 */ #ifndef FCMPROTOCOL #define FCMPROTOCOL #define FSMCountDATASlot 375 #define FSMCountDATA FSMCountDATASlot * 4 /*! \brief Коды операци */ enum FSM_CodeOperation { RegDevice=1, ///< Регистрация устройства AnsRegDevice=2, ///< Подтверждение регистрации DelLisr=3, ///< Удаление устройства из списка AnsDelList=4,///< Подтверждение удаления устройства из списка AnsPing=5, ///< Пинг SendCmdToDevice=6,///< Отправка команды устройству AnsSendCmdToDevice=7, ///< Подтверждение приёма команды устройством RqToDevice=8, ///< Ответ на команду устройством AnsRqToDevice=9,///< Подтверждение приёма команды сервером SendCmdToServer=10,///< Отправка команды серверу SendTxtMassage=11,///< Отправка текстового сообщения AnsSendTxtMassage=12, ///< Подтверждение приёма текстового сообщения SendTxtEncMassage=13, ///< Отправка зашифрованного текстового сообщения AnsSendTxtEncMassage=14, ///< Подтверждение приёма зашифрованного текстового сообщения SendAudio=15,///< Передача аудио данных SendVideo=16,///< Передача видео данных SendBinData=17,///< Передача бинарных данных AnsSendBinData=18,///< Подтверждение приёма бинарных данных SendSMS=19,///< Отправить СМС SendAnsSMS=20,///< Подтверждение СМС SendSMStoDev=21,///< Передача СМС устройству SendAnsSMStoDev=22,///< Подтверждение СМС устройством SendEncSMS=23, ///< Отправить зашифрованного СМС SendAnsEncSMS=24, ///<Подтверждение зашифрованного СМС SendEncSMStoDev=25,///< Отправить зашифрованного СМС устройству SendAnsEncSMStoDev=26,///< Подтверждение зашифрованного СМС устройства SendEmail=27,///< Отправка email AnsEmail=28,///<Подтверждение email SendEmailtoDevice=29,///<Передача email устройству AnsSendEmailtoDevice=30,///<Подтверждение email устройством SendEncEmail=31,///<Отправить зашифрованного email AnsEncEmail=32,///<Подтверждение зашифрованного email SendEncEmailtoDev=33,///< Отправить зашифрованного email устройству AnsEncEmailtoDev=34,///< Подтверждение зашифрованного email устройства SocSend=35,///< Отправка сообщение в социальную сеть AnsSocSend=36,///< Подтверждение сообщения в социальную сеть SocSendtoDev=37,///< Передача сообщения в социальную сеть устройству AnsSocSendtoDev=38,///< Подтверждение сообщения в социальную сеть устройством SocEncSend=39,///< Отправить зашифрованного сообщения в социальную сеть AnsSocEncSend=40,///< Подтверждение зашифрованного сообщения в социальную сеть SocEncSendtoDev=41,///< Отправить зашифрованного сообщения в социальную сеть устройству AnsSocEncSendtoDev=42,///< Подтверждение зашифрованного сообщения в социальную сеть устройства Alern=43,///<Тревога Warning=44,///<Предупреждение Trouble=45,///<Сбой Beep=46 ///<Звуковой сигнал }; /*! \brief Тип устройства */ enum FSM_TypeDevice { AvtoElSheet=1, ///<Автоматически Электрощиток MindTepl=2, ///<Умная Теплица SmartPhone=3, ///< Смартфон AudioDevice=4, ///< Устройство аудио связи Network=5, ///< Сеть StatisticandConfig=6 ///< Модуль статистики и конфигурации }; /*! \brief Регистрация устроства */ #define FSMH_Header_Size_DeviceRegistr 8 struct FSM_DeviceRegistr { unsigned char opcode; ///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned char type;///< Тип устройства unsigned char VidDevice;///< Вид устройства unsigned char PodVidDevice;///< Подвид устройства unsigned char KodDevice;///<Код устройства } __attribute__((aligned(4))); /*! \brief Подтверждение регистрации */ #define FSMH_Header_Size_AnsDeviceRegistr 8 struct FSM_AnsDeviceRegistr { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned char type;///< Тип устройства unsigned char VidDevice;///< Вид устройства unsigned char PodVidDevice;///< Подвид устройства unsigned char KodDevice;///<Код устройства } __attribute__((aligned(4))); /*! \brief Удаление устройства из списка */ #define FSMH_Header_Size_FSM_DeviceDelete 4 struct FSM_DeviceDelete { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства } __attribute__((aligned(4))); /*! \brief Подтверждение удаления устройства из списка */ #define FSMH_Header_Size_AnsDeviceDelete 4 struct FSM_AnsDeviceDelete { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства } __attribute__((aligned(4))); /*! \brief Пинг */ #define FSMH_Header_Size_Ping 4 struct FSM_Ping { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства } __attribute__((aligned(4))); /*! \brief Отправка команды устройству */ #define FSMH_Header_Size_SendCmd 8 struct FSM_SendCmd_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short cmd;///< Команда unsigned short countparam;///< Количество параметров } __attribute__((aligned(4))); struct FSM_SendCmd { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short cmd;///< Команда unsigned short countparam;///< Количество параметров unsigned char Data[FSMCountDATA];///< Параметры } __attribute__((aligned(4))); /*! \brief Подтверждение приёма команды устройством */ #define FSMH_Header_Size_AnsSendCmd 8 struct FSM_AnsSendCmd { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short cmd;///< Команда unsigned short countparam;///< Количество параметров } __attribute__((aligned(4))); /*! \brief Ответ на команду устройством */ #define FSMH_Header_Size_AnsCmd 8 struct FSM_AnsCmd { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short cmd;///< Команда unsigned short countparam;///< Количество параметров unsigned char Data[FSMCountDATA];///< Параметры } __attribute__((aligned(4))); /*! \brief Подтверждение приёма команды сервером */ #define FSMH_Header_Size_AnsAnsCmd 8 struct FSM_AnsAnsCmd { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short cmd;///< Команда unsigned short countparam;///< Количество параметров } __attribute__((aligned(4))); /*! \brief Отправка команды серверу */ #define FSMH_Header_Size_SendCmdTS 8 struct FSM_SendCmdTS_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short cmd;///< Команда unsigned short countparam;///< Количество параметров } __attribute__((aligned(4))); struct FSM_SendCmdTS { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short cmd;///< Команда unsigned short countparam;///< Количество параметров unsigned char Data[FSMCountDATA];///< Параметры } __attribute__((aligned(4))); /*! \brief Отправка текстового сообщения */ #define FSMH_Header_Size_SendMessage 8 struct FSM_SendMessage_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short len;///< Длина unsigned char lang[2]; ///< Язык } __attribute__((aligned(4))); struct FSM_SendMessage { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short len;///< Длина unsigned char lang[2]; ///< Язык unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение приёма текстового сообщения */ #define FSMH_Header_Size_AnsSendMessage 8 struct FSM_AnsSendMessage { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short len;///< Длина unsigned char lang[2]; ///< Язык }__attribute__((aligned(4))); /*! \brief Отправка зашифрованного текстового сообщения */ #define FSMH_Header_Size_SendEncMessage 8 struct FSM_SendEncMessage_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short alg;///< Алгоритм unsigned short pin;///< Алгоритм unsigned short len;///< Длина unsigned char lang[2]; ///< Язык } __attribute__((aligned(4))); struct FSM_SendEncMessage { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short alg;///< Алгоритм unsigned short pin;///< Алгоритм unsigned short len;///< Длина unsigned char lang[2]; ///< Язык unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение приёма зашифрованного текстового сообщения */ #define FSMH_Header_Size_AnsSendEncMessage 8 struct FSM_AnsSendEncMessage { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short alg;///< Алгоритм unsigned short len;///< Длина } __attribute__((aligned(4))); /*! \brief Передача аудио данных */ #define FSMH_Header_Size_SendAudioData 8 struct FSM_SendAudioData_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short codec;///< Кодек unsigned short len;///< Длина } __attribute__((aligned(4))) ; struct FSM_SendAudioData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short codec;///< Кодек unsigned short len;///< Длина unsigned char Data[FSMCountDATA];///< Аудио } __attribute__((aligned(4))) ; /*! \brief Передача видео данных */ #define FSMH_Header_Size_SendVideoData 8 struct FSM_SendVideoData_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short codec;///< Кодек unsigned short len;///< Длина } __attribute__((aligned(4))); struct FSM_SendVideoData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short codec;///< Кодек unsigned short len;///< Длина unsigned char Data[FSMCountDATA];///< Видео } __attribute__((aligned(4))); /*! \brief Передача бинарных данных */ #define FSMH_Header_Size_SendBinData 8 struct FSM_SendBinData_Header { unsigned char opcode;///< Код операцииu unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short len;///< Длина unsigned short datatype;///< Тип данных } __attribute__((aligned(4))); struct FSM_SendBinData { unsigned char opcode;///< Код операцииu unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short len;///< Длина unsigned short datatype;///< Тип данных unsigned char Data[FSMCountDATA];///< Данные } __attribute__((aligned(4))); /*! \brief Подтверждение приёма бинарных данных */ #define FSMH_Header_Size_AnsSendBinData 8 struct FSM_AnsSendBinData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short len;///< Длина unsigned short datatype;///< Тип данных }__attribute__((aligned(4))) ; /*! \brief Отправить СМС */ #define FSMH_Header_Size_SendSmsData 24 struct FSM_SendSmsData_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lennumber;///< Длина номера телефона unsigned short len;///< Длина unsigned char number[16];///< Номера телефона } __attribute__((aligned(4))); struct FSM_SendSmsData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lennumber;///< Длина номера телефона unsigned short len;///< Длина unsigned char number[16];///< Номера телефона unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение СМС */ #define FSMH_Header_Size_ansSendSmsData 24 struct FSM_ansSendSmsData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short len; unsigned short lennumber;///< Длина номера телефона unsigned char number[16];///< Номера телефона } __attribute__((aligned(4))); /*! \brief Передача СМС устройству */ #define FSMH_Header_Size_SendSmsDatatoDev 24 struct FSM_SendSmsDatatoDev_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lennumber;///< Длина номера телефона unsigned short len;///< Длина unsigned char number[16];///< Номера телефона } __attribute__((aligned(4))); struct FSM_SendSmsDatatoDev { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lennumber;///< Длина номера телефона unsigned short len;///< Длина unsigned char number[16];///< Номера телефона unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение СМС устройством */ #define FSMH_Header_Size_ansSendSmsDatatoDev 24 struct FSM_ansSendSmsDatatoDev { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lennumber;///< Длина номера телефона unsigned short len;///< Длина unsigned char number[16];///< Номера телефона } __attribute__((aligned(4))); /*! \brief Отправить зашифрованного СМС */ #define FSMH_Header_Size_SendEncSmsData 28 struct FSM_SendEncSmsData_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lennumber;///< Длина номера телефона unsigned short len;///< Длина unsigned short alg;///<Алгоритм unsigned short pin;///<Пин код unsigned char number[16];///< Номера телефона } __attribute__((aligned(4))); struct FSM_SendEncSmsData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lennumber;///< Длина номера телефона unsigned short len;///< Длина unsigned short alg;///<Алгоритм unsigned short pin;///<Пин код unsigned char number[16];///< Номера телефона unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение зашифрованного СМС */ #define FSMH_Header_Size_ansSendEncSmsData 24 struct FSM_ansSendEncSmsData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lennumber;///< Длина номера телефона unsigned short alg;///<Алгоритм unsigned char number[16];///< Номера телефона } __attribute__((aligned(4))); /*! \brief Отправить зашифрованного СМС устройству */ #define FSMH_Header_Size_SendEncSmsDatatoDev 28 struct FSM_SendEncSmsDatatoDev_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lennumber;///< Длина номера телефона unsigned short len;///< Длина unsigned short alg;///<Алгоритм unsigned short pin;///<Пин код unsigned char number[16];///< Номера телефона } __attribute__((aligned(4))); struct FSM_SendEncSmsDatatoDev { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lennumber;///< Длина номера телефона unsigned short len;///< Длина unsigned short alg;///<Алгоритм unsigned short pin;///<Пин код unsigned char number[16];///< Номера телефона unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение зашифрованного СМС устройства */ #define FSMH_Header_Size_ansSendEncSmsDatatoDev 24 struct FSM_ansSendEncSmsDatatoDev { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lennumber;///< Длина номера телефона unsigned short alg;///<Алгоритм unsigned char number[16];///< Номера телефона } __attribute__((aligned(4))); /*! \brief Отправка email */ #define FSMH_Header_Size_SendEmailData 40 struct FSM_SendEmailData_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenemail;///< Длина email unsigned short len;///< Длина unsigned char email[32];///< email } __attribute__((aligned(4))); struct FSM_SendEmailData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenemail;///< Длина email unsigned short len;///< Длина unsigned char email[32];///< email unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение email */ #define FSMH_Header_Size_AnsSendEmailData 40 struct FSM_AnsSendEmailData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenemail;///< Длина email unsigned short len;///< Длина unsigned char email[32];///< email } __attribute__((aligned(4))); /*! \brief Передача email устройству */ #define FSMH_Header_Size_SendEmailDatatoDev 40 struct FSM_SendEmailDatatoDev_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenemail;///< Длина email unsigned short len;///< Длина unsigned char email[32];///< email } __attribute__((aligned(4))); struct FSM_SendEmailDatatoDev { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenemail;///< Длина email unsigned short len;///< Длина unsigned char email[32];///< email unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение email устройством */ #define FSMH_Header_Size_AnsSendEmailDatatoDev 40 struct FSM_AnsSendEmailDatatoDev { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenemail;///< Длина email unsigned short len;///< Длина unsigned char email[32];///< email } __attribute__((aligned(4))); /*! \brief Отправить зашифрованного email */ #define FSMH_Header_Size_SendEncEmailData 44 struct FSM_SendEncEmailData_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenemail;///< Длина email unsigned short len;///< Длина unsigned short alg;///<Алгоритм unsigned short pin;///<Пин код unsigned char email[32];///< email } __attribute__((aligned(4))); struct FSM_SendEncEmailData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenemail;///< Длина email unsigned short len;///< Длина unsigned short alg;///<Алгоритм unsigned short pin;///<Пин код unsigned char email[32];///< email unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение зашифрованного email */ #define FSMH_Header_Size_AnsSendEncEmailData 40 struct FSM_AnsSendEncEmailData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenemail;///< Длина email unsigned short alg;///<Алгоритм unsigned char email[32];///< email } __attribute__((aligned(4))); /*! \brief Отправить зашифрованного email устройству */ #define FSMH_Header_Size_SendEncEmailDatatoDev 44 struct FSM_SendEncEmailDatatoDev_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenemail;///< Длина email unsigned short len;///< Длина unsigned short alg;///<Алгоритм unsigned short pin;///<Пин код unsigned char email[32];///< email } __attribute__((aligned(4))); struct FSM_SendEncEmailDatatoDev { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenemail;///< Длина email unsigned short len;///< Длина unsigned short alg;///<Алгоритм unsigned short pin;///<Пин код unsigned char email[32];///< email unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение зашифрованного email устройства */ #define FSMH_Header_Size_AnsSendEncEmailDatatoDev 40 struct FSM_AnsSendEncEmailDatatoDev { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenemail;///< Длина email unsigned short alg;///<Алгоритм unsigned char email[32];///< email } __attribute__((aligned(4))); /*! \brief Отправка сообщение в социальную сеть */ #define FSMH_Header_Size_SendSocData 44 struct FSM_SendSocData_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenlogin;///< Длина login unsigned short len;///< Длина unsigned short sctype;///<Тип социально сети unsigned short num_zap;///<Номер записи unsigned char login[32];///< login } __attribute__((aligned(4))); struct FSM_SendSocData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenlogin;///< Длина login unsigned short len;///< Длина unsigned short sctype;///<Тип социально сети unsigned short num_zap;///<Номер записи unsigned char login[32];///< login unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение сообщения в социальную сеть */ #define FSMH_Header_Size_AnsSendSocData 40 struct FSM_AnsSendSocData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenlogin;///< Длина login unsigned short sctype;///<Тип социально сети unsigned char login[32];///< login } __attribute__((aligned(4))); /*! \brief Передача сообщения в социальную сеть устройству */ #define FSMH_Header_Size_SendSocDatatoDev 44 struct FSM_SendSocDatatoDev_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenlogin;///< Длина login unsigned short len;///< Длина unsigned short sctype;///<Тип социально сети unsigned short num_zap;///<Номер записи unsigned char login[32];///< login } __attribute__((aligned(4))); struct FSM_SendSocDatatoDev { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenlogin;///< Длина login unsigned short len;///< Длина unsigned short sctype;///<Тип социально сети unsigned short num_zap;///<Номер записи unsigned char login[32];///< login unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение сообщения в социальную сеть устройством */ #define FSMH_Header_Size_AnsSendSocDatatoDev 40 struct FSM_AnsSendSocDatatoDev { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenlogin;///< Длина login unsigned short sctype;///<Тип социально сети unsigned char login[32];///< login } __attribute__((aligned(4))); /*! \brief Отправить зашифрованного сообщения в социальную сеть */ #define FSMH_Header_Size_SendEncSocData 48 struct FSM_SendEncSocData_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenlogin;///< Длина login unsigned short len;///< Длина unsigned short alg;///<Алгоритм unsigned short pin;///<Пин код unsigned short sctype;///<Тип социально сети unsigned short num_zap;///<Номер записи unsigned char login[32];///< login } __attribute__((aligned(4))); struct FSM_SendEncSocData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenlogin;///< Длина login unsigned short len;///< Длина unsigned short alg;///<Алгоритм unsigned short pin;///<Пин код unsigned short sctype;///<Тип социально сети unsigned short num_zap;///<Номер записи unsigned char login[32];///< login unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение зашифрованного сообщения в социальную сеть */ #define FSMH_Header_Size_AnsSendEncSocData 40 struct FSM_AnsSendEncSocData { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenlogin;///< Длина login unsigned short sctype;///<Тип социально сети unsigned char login[32];///< login } __attribute__((aligned(4))); /*! \brief Отправить зашифрованного сообщения в социальную сеть устройству */ #define FSMH_Header_Size_SendEncSocDatatoDev 48 struct FSM_SendEncSocDatatoDev_Header { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenlogin;///< Длина login unsigned short len;///< Длина unsigned short alg;///<Алгоритм unsigned short pin;///<Пин код unsigned short sctype;///<Тип социально сети unsigned short num_zap;///<Номер записи unsigned char login[32];///< login } __attribute__((aligned(4))); struct FSM_SendEncSocDatatoDev { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenlogin;///< Длина login unsigned short len;///< Длина unsigned short alg;///<Алгоритм unsigned short pin;///<Пин код unsigned short sctype;///<Тип социально сети unsigned short num_zap;///<Номер записи unsigned char login[32];///< login unsigned char Data[FSMCountDATA];///< Текст } __attribute__((aligned(4))); /*! \brief Подтверждение зашифрованного сообщения в социальную сеть устройства */ #define FSMH_Header_Size_AnsSendEncSocDatatoDev 40 struct FSM_AnsSendEncSocDatatoDev { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned short lenlogin;///< Длина login unsigned short sctype;///<Тип социально сети unsigned char login[32];///< login } __attribute__((aligned(4))); /*! \brief Тревога */ #define FSMH_Header_Size_AlernSignal 8 struct FSM_AlernSignal { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned int ID;///< Ид Тревоги } __attribute__((aligned(4))); /*! \brief Предупреждение */ #define FSMH_Header_Size_WarningSignal 8 struct FSM_WarningSignal { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned int ID;///< Ид Предупреждения } __attribute__((aligned(4))); /*! \brief Сбой */ #define FSMH_Header_Size_TroubleSignal 8 struct FSM_TroubleSignal { unsigned char opcode;///< Код операции unsigned char CRC;///< CRC unsigned short IDDevice;///< Ид устройства unsigned int ID;///< Ид Предупреждения } __attribute__((aligned(4))); /*! \brief Звуковой сигнал */ #define FSMH_Header_Size_BeepSignal 8 struct FSM_BeepSignal { unsigned char opcode;///< Код операции unsigned char CRC;///< CR unsigned short IDDevice;///< Ид устройства unsigned short ID;///< Ид Звукового сигнала } __attribute__((aligned(4))); #endif // FCMPROTOCOL