Протокол сетевого взаимодействия управляющего ПО системы “Wireless adaptive AP” и пользовательского графического интерфейса. Формат пакета: Таблица 1. “CTRL” Version 4 байта 1 байт Req/Resp flag ID Action Code Length Data 1 байт 4 байта (Uint) 4 байта (int) 4 байта (int) Length байт Поля: 1. CTRL – первые 4 байта посылки – символы ‘C’,’T’,’R’,’L’ таблицы ASCII. 2. Version поле типа unsigned char. Определяет версию описываемого протокола. 3. Req/Resp flag – поле определяющее, является ли данное сообщение запросом от GUI к серверу (1), либо ответом от сервера клиенту (0). 4. ID – порядковый номер сообщения управления. Задается при запросе. При ответе- копируется из запроса. 5. Action Code – код операции согласно таблице 3. 6. Length – длина поля Data в байтах. 7. Data поле данных в соответствии с таблицей 3. Форматы полей данных, часто использованные в данном протоколе: Таблица 2. MAC_STRUCT 14 bytes MAC address 6 байт Weight 4 байт (float) MACS_STRUCT – 8 + 14*N bytes. Number of MAC_STRUCT 4 байта (int) Rssi_Calc_Meth 4 байта (int) Returned RSSI 4 байт (float) MAC_STRUCT 14 байт … … 1. Первое поле – количество структур описывающих MAC. 2. Метод вычисления RSSI. Определяется в: enum rssi_calc_meth {additive, ratio, add_square, none_calc} 3. Далее следуют последовательно определенное количество полей типа MAC_STRUCT. VOLTAGES Число напр-й(4 байта) Напр1 (4 байта) (целое число) Напр2 (4 байта) Напр2 (4 байта) … MAC 1 байт 1 байт 1 байт 1 байт 1 байт 1 байт OK 0 (4 байта) ERR 1 (4 байта) RSSI Float (4 байта) SEEK_RESULT int(4 байта) Число углов (без int(4 байта) Угол (0-360) или число (1000 Float (4 байта) RSSI учета неугловых комбинаций) – нули, а также другие значения ) URICH_MSG int(4 байта) Номер int(4 байта)Всего поколений (мб < Float (4 байта) процент в поколения номера!) поколении MACS_STRUCT Float (4 байта) RSSI ELITE _MSG int(4 байта) Номер поколения RESULT_MSG Float (4 байта) RSSI MACS_LIST 4б +10байт*32 int(4 байта) Число маков CONTROL 16 байт Состояние(1 б) int(4 байта) Номер элиты int(4 байта) Всего элит Voltages Voltages MAC Оптимизатор запущен(1 б) … RSSI Поиск запущен(1 б) Состояние(1 б) 0 –Все в порядке 1 и более – Ошибка (какая – определяется номером, пока не придумали) *** запущен – 0 – не запущен 1 - запущен - пустое поле данных. Float (4 байта) RSSI Чекер запущен(1 б) Резерв (12 байт) Таблица 2. № Название 1.1 Запуск оптимизатора 1.2 Остановка оптимизации. 1.3 Пауза оптимизации 1.4 Продолжение оптимизации 101 Формат запроса MACS_STRUCT , флаг использования начальных напряжений (int, 4 байта) если 1, то далее VOLTAGES - 102 - OK/ERR 103 - OK/ERR 2.1 Запуск поиска 200 MACS_STRUCT OK/ERR 2.2 Остановка поиска 2.3 Установка Угла 201 - OK/ERR 202 int(4 байта), Угол в градусах OK/ERR 3.1 Запуск беск. Чекера Стоп беск. Чекера Проверка структуры мак 300 MACS_STRUCT, VOLTAGES - OK/ERR MACS_STRUCT, VOLTAGES RSSI,MACS_STRUCT В ответе – первые 4 байта общий RSSI посчитанный заданным в настройках методом. В структуре – данные для каждого мака в отдельности. RSSI, MAC OK/ERR Просто установка. Ничего лишнего Action Code 100 301 400 Проверка 1 MAC 401 Установка 402 напряжений Уст. Метода 500 MAC,VOLTAGES VOLTAGES arg (int, 4 байта) Формат ответа OK/ERR Примечание При формировании запроса поле Returned RSSI блока данных MAC_STRUCT необходимо задать равным нулю. OK/ERR При формировании запроса поле Returned RSSI блока данных MAC_STRUCT необходимо задать равным нулю. Будет установлен ближайший угол, меньше либо равный заданному OK/ERR - рассч. Рсси Уст. Имени табл. Поиска Уст. TS_PARAM Уст. PS_PARAM Уст. Числа запросов до/после Опт. Уст. Числа усред. Чит.. Метод рассч. Рсси Чит.. Имя табл. Поиска Чит.. TS_PARAM Чит.. PS_PARAM Чит.. Число запросов до/после Опт. Чит.. Число усред. Получение списка маков Контроль № Название Текущий р-т поиска Текущий ур RSSI - 502 503 504 Char* (не более 256 байт, заканчивается нулем) arg (float, 4 байта) arg (float, 4 байта) arg (int, 4 байта) 505 arg (int, 4 байта) - 501 - 600 - arg (int, 4 байта) 601 - 602 - Char* (не более 256 байт, заканчивается нулем) arg (float, 4 байта) 603 - arg (float, 4 байта) 604 - arg (int, 4 байта) 605 - arg (int, 4 байта) 700 - MACS_LIST 701 - CONTROL Action Code 250 150 Формат запроса SEEK_RESULT URICH_MSG Формат ответа - Примечание в опт. Текущая элита Результат опт FATALITY 151 152 050 InternalConnection 1112 ELITE _MSG RESULT _MSG OK OK/ERR - Через 3 сек. После отправки оптимизатор закроется. Можно курить. Зарезервировано для внутренних нужд клиента.