UART модуль

Служит для передачи данных команды из эфира в USB для дальнейшего анализа. Или в UART для использования платы в своих проектах, платах Ardino и т.п.

Параметр UART для подключения:

Асинхронный режим, скорость 9600 бод, 8 бит данных, 1 стоповый бит, без проверки четности

После старта модуль выдаст в UART (USB) приглашение и готовность к работе:

UART модуль
Версия 1.0

OK

Таблица команд

Команда Функция
AT\n Отклик модуля. Сброс внутреннего буфера UART.
ATVn\n Установка режима вывода информации. 0 — расширенный, для терминала на ПК, 1 — бинарный для Ардуино.
ATD\n
123456789012345678901234567
Передача сообщения в эфир. После ATD\n — сообщение из 27 символов в бинарном виде. Пример:

ATD
кb<0><0>MU‚Электра *

или в HEX формате:

41 54 41 20 EA 62 14 00 01 00 4D 55 82 02 DD EB
E5 EA F2 F0 E0 20 20 20 20 20 20 20 20 2A

Формат вывода Arduino (приемник):

typedef struct
{
 uint8_t Lenght; // длинна передаваемого пакета (пока реализована только 32)
 uint8_t GameId; // id игры
 uint8_t cmd; // команда
 // 0 - команда отсутствует
 uint16_t Param; // параметр команды
 uint8_t Quantity; // Сколько раз нужно выполнить команду в ПДА
 // 0 - команда на удаление такой команды уже находящейся в памяти
 // 1 - один раз
 // q - много раз
 // 0xFF - бесконечное число раз
 uint8_t Group; // Отношение команды к группировке, формат 0xAB
 // A - команду не применять к А группировке
 // В - команду применять только к B группировке
 uint8_t RssiDetect; // порог обнаружения (только для команд 0x61 поражение от аномалий)
 uint8_t RssiAttack; // порог дейтсвия
 uint8_t post_state; // состояние после смерти
 uint8_t power; // мощность передатчика (от 0 до 7)
 char str0[16]; // название команды
} tUartCmd;

Формат <данные> для передачи в эфир:

typedef struct
{
 uint8_t Lenght; // длинна принятого пакета
 uint8_t GameId; // id игры
 uint8_t Command; // команда
 uint16_t Param; // параметр команды
 uint8_t Quantity; // Сколько раз нужно выполнить команду в ПДА
 // 0 - команда на удаление такой команды уже находящейся в памяти
 // 1 - один раз
 // q - много раз
 // 0xFF - бесконечное число раз
 uint8_t Group; // Отношение команды к группировке, формат 0xAB
 // A - команду не применять к А группировке
 // В - команду применять только к B группировке
 uint8_t RssiDetect; // порог обнаружения (только для команд 0x61 поражение от аномалий)
 uint8_t RssiAttack; // порог дейтсвия
 uint8_t PostState; // какое будет состояние после смерти: зомби, монолит и т.д.
 uint8_t pcBlockReserv10; uint8_t pcBlockReserv11; uint8_t pcBlockReserv12; uint8_t pcBlockReserv13;
 uint16_t CRC;
 char str0[17]; // название команды + 0 в конце строки
 uint8_t adc; // значение RSSI принятое UART модулем
} tCmd; // принятая команда

Из программы Луч можно отправлять команды путем нажатия кнопки «Отправить».