Программа ZiChip Tuner задумывалась и реализовывалась таким образом, чтобы дать пользователю возможность добавлять поддержку своих устройств. Более того, Тюнер не ограничивает пользователя даже в способе построения и обработке сценариев (разные устройства, работающие в сети ZiChip могут иметь абсолютные разные способы своей настройки).
Для того чтобы Ваше устройство начало работать в сети ZiChip (с возможностью настройки в Тюнере) Вам нужно:
1 Реализовать в своем устройстве работу модулей, периферии посредством точек доступа (массив переменных DWord)
2 Реализовать в своем устройстве интерфейс ZiChip
3 Реализовать в устройстве свой способ настройки поведения (в принципе, если ничего настраивать не нужно, то можно сделать устройство и без сценария поведения). Настройка осуществляется при помощи элементов сценария. Каждый элемент сценария — это определенное количество констант (первая из которых номер этого элемента) расположенных в EEPROM. Элементы располагаются в EEPROM один за другим. Максимальный размер элемента 32 байта, минимальный — 1 байт (просто номер элемента без каких либо параметров). Каждому элементу можно выделить переменные в RAM, в любом количестве.
4 Присвоить ID устройству. Идентификатором устройства для Тюнера служит ID устройства ZiChip. По этому номеру (устройство его сообщит при поиске устройств в сети) Тюнер будет искать описание устройства в папке устройств. Нет никаких требований к ID — выберите для себя любой номер, который не занят другими устройствами. ID — это целое число Word.
5 После того как устройство создано, нужно создать определенную структуру файлов описания устройства для Тюнера (проще, конечно, создавать устройство параллельно создавая его описание для Тюнера).
Структура файлов описания устройства для Тюнера.
— Папка описания устройства должна находится в следующем месте zichip_tuner\devices\
— Имя папки устройства может иметь произвольное название (желательно, в имени указать ID устройства — для наглядности), например, так 111_ my_device
— В папке устройства могут располагаться произвольные папки и файлы, но некоторые из них обязательны:
1 в корне папки должен находится файл device.ini – это файл описания устройства, модулей в нем, точек доступа, распределения памяти и тому подобное
2 в корне папки должна находится иконка устройства (для отображения в Тюнере) device.ico — размер иконки 24х24 пикселя
3 в паке zichip_tuner\devices\111_ my_device\elements\ должны быть расположены файлы описания элементов для построения сценария, а именно:
3.1 в папке zichip_tuner\devices\111_ my_device\elements\inis\ располагаются ини-файлы описания элементов (номер ини-файла соответствует номеру элемента, например, 2.ini). В ини-файле описаны параметры элемента, описано расположение элемента в устройстве, описано формирование области настройщика элемента (средняя панель Тюнера). Подробное описание формата ини-файла элемента читайте в zichip_tuner\docs\ Elements_build_rules.ini
3.2 в папке zichip_tuner\devices\111_ my_device\elements\icons32\ располагаются иконки элементов размером 32х32 пикселя (номер файла соответствует номеру элемента, например, 2.ico)
3.3 в папке zichip_tuner\devices\111_ my_device\elements\icons16\ располагаются иконки элементов размером 16х16 пикселя (номер файла соответствует номеру элемента, например, 2.ico)
3.4 если Вы хотите добавить в Тюнер помощь по элементам, то файлы описания элементов должны располагаться в папке zichip_tuner\devices\111_ my_device\elements\ help\ Формат файлов может быть разным: текстовые 2.txt, 2.pdf; странички HTML 2.htm, 2.mht или другие форматы, отображаемые в браузерах (номер файла соответствует номеру элемента)
Это минимально необходимый набор файлов для поддержки устройства Тюнером. Кроме необходимых файлов желательно оставлять в папке устройства дополнительную информацию. Например, вот как выглядит папка устройства 258_base_duino:
— docs – папка с файлами описания устройства и другой полезной информации по устройству
— elements – папка с описанием элементов
— examples – папка с примерами сценариев
— extra – папка с дополнительными материалами по устройству, картинки, заметки и тому подобное
— firmware – папка с прошивкой и исходником устройства
— pcb – папка с печатной платой для создания устройства
— scheme – папка со схемой устройства
— device.ico – иконка устройства для Тюнера
— device.ini – описание устройства для Тюнера
— device.txt – краткое описание устройства
Я добавил устройство 258_base_duino в установочный архив Тюнера здесь в репозитории, чтобы можно было посмотреть что к чему.