Для лёгкого взаимодействия с аппаратной частью была создана прошивка IsIWant. И для её настройки используются простые строковой команды, что-то похожее на АТ-команды.
Аудио платформа имеет широки функционал и для удобства управления, команды разбиты на пакеты. Каждый пакет представляет сгруппированный блок определённого направления, например PACKED_SOUND пакет "Звук" включает себа настройки DSP, ЦАП, Звуковой карты (эквалайзеры, кроссоверы, задержки и т.п.), PACKED_FM_RADIO пакет "FM радио" управление ФМ радио модулем, т.д.
Список пакетов аудио платформы:
- PACKED_FIRMWARE_UPDATE = 0, Пакет обновления прошивки
- PACKED_GENERAL = 1, Пакет с основным параметрами
- PACKED_GATEWAY = 2, Пакет шлюза
- PACKED_CAN = 3, Пакет CAN шины
- PACKED_SOUND = 4, Пакет со всеми параметрами звука
- PACKED_BLUETOOTH = 5, Пакет с параметрами Bluetooth
- PACKED_EXTERNAL_CONTROL = 6, Пакет с настройками внешних кнопок, энкодеров
- PACKED_FM_RADIO = 7, Пакет с параметрами FM радио
В АТ командах обычно используют текстовые команды, например "VOLUME = 20" в прошивке AsiWant не используются текстовые команды, а только цифровые например слово VOLUME будет заменено на чиcло 0 и получается команды 0 = 20. Это ускоряет скорость работы программы на стороне микроконтроллера и программного обеспечения на стороне операционной системы. Например пакет
Каждый пакет обязательно имеет 3 параметра
- MESSAGE = 0, Параметр с сообщениями
- NOTIFICATION = 1, Параметр различных уведомлений
- SETTINGS = 2, Параметр с настройками пакета
- Остальные параметры зависят от необходимых функций
Параметр MESSAGE используется для передачи различных сообщений из пакета, например: если это пакет SOUND, через этот параметр передаются данные детекторов уровня звука и имеют вид 4 0 0 (байтовые данные), в случае если это CAN шина то передаются данные кадров в виде 3 0 0 (данные кадра кан шины). Также параметр имеет ветвления, если разобрать сообщение "4 0 0 (байтовые данные)" 4 = PACKED_SOUND , 0 = MESSAGE, следующий 0 это ветвление которое указывает на детекторы уровня. Если сообщение имеет вид 4 0 1 (байтовые данные)" то это означает 4 = PACKED_SOUND , 0 = MESSAGE , 1 это ветвление указывающее что это индукторы уровня графического эквалайзера. и т.д. Более подробно о сообщениях каждого пакета читайте в разделах описания пакета.
Параметр NOTIFICATION выводит уведомления. Например возьмем CAN шину, и если получим уведомление 3 1 0 будет указывать о наличии ошибки при подключении к CAN шине, 3 1 1 означает о ошибке отключения от CAN шины и т.д. Более подробно о уведомлениях каждого пакета читайте в разделах описания пакета.
Параметр SETTINGS используется для настройки пакета, в качестве примера возьмём CAN шину. Команда 3 2 1 = 3 установит скорость CAN шины 100kBit, Команда 3 2 1 = 6 установит скорость 500kBit. Для получения информации о скорости CAN шины необходимо отправить 3 2 1 в ответ будет получено 3 2 1 6 указывающая что скорость CAN шины 500kBit. Более подробно о настройках каждого пакета читайте в разделах описания пакета.