Архив автора: GetChiper

Интерфейс связи устройств ZiChip

Общие положения.

Каждое устройство в сети должно иметь свой уникальный адрес
от 1 до 14. Адрес 15 используется для широковещательного пакета. Адрес 0 зарезервирован для обмена с ПК и настройки сети. Соответственно, сеть может состоять максимум из 14 устройств + ПК. В случае возникновения коллизий (подключения устройств с одинаковыми адресами) существует процедура переназначения адресов устройств.

1 Обмен данными в сети реализован при помощи UART по топологии кольцо, то есть выход (TxD) первого устройства соединяется со входом (RxD) второго, выход второго со входом третьего и т. д. выход последнего устройства в сети соединяется со входом первого устройства.
Скорость обмена фиксированная — 38400 бод.
Размер данных — 8 бит.
Бит четности — нет.
Стоп-бит — 2.

2 Прием и передача данных осуществляется пакетами. Формат пакета одинаков для всех устройств и имеет фиксированную длину — 8 байт.

 3 Пакет имеет ряд фиксированных полей:
— идентификатор пакета (00-байт Marker);
— номер отправителя (01-байт RS);
— номер получателя (01-байт RS);
— направление пакета (чтение/запись) (02-байт APD);
— назначение пакета (целевая точка доступа) (02-байт APD);
— поле данных (03-06-байт D0-D3);
— контрольная сумма (07-байт CRC8).

4 Устройство, принявшее пакет, должно его проанализировать и выполнить действия в зависимости от содержания пакета:

4.1 в случае нарушения целостности пакета (ошибка при проверке CRC8) – пакет дальше по сети не передается;

4.2 в случае «чужого» пакета (номер получателя не совпадает с номером принявшего устройства) пакет передается по сети дальше, без каких либо действий в устройстве и изменений в пакете;

4.3 в случае совпадения номера получателя в пакете с номером устройства («свой»), устройство должно обработать пакет в зависимости от его типа и содержания:
— если это пакет передачи данных – записать принятые данные в целевую точку доступа. Дальше по сети пакет не передается;
— если это пакет запроса данных – формируется новый пакет передачи данных к запрашиваемому устройству с запрашиваемыми данными и передается в сеть;
— если это пакет управления – выполняются действия предписанные командой этого пакета.

4.4 в случае приема «общего» пакета, устройство должно:
— передать этот пакет дальше без изменений;
— обработать этот пакет как «свой» (см.выше)

4.5 в случае приема пакета отправленного самим же устройством («родной» — номер отправителя совпадает с номером устройства) пакет дальше не передается – никакие действия не выполняются.

 

Формат пакета

Номер байта Имя Описание
00 Marker Маркер начала пакета. Всегда равен 0xAA
01 RS (recipient / sender) bits 0-3
Recipient
получатель
Адрес получателя.
Может иметь следующие значения:
0 – передача для ПК
1-14 – адрес устройства;
15 – для всех устройств в сети.
bits 4-7
Sender
отправитель
Адрес отправителя.
Может иметь следующие значения:
0 – передача от ПК
1-14 – адрес устройства;
15 – зарезервировано.
02 APD (access point / dir) bits 0-6
access points
Номер точки доступа 0-127.
— Передача данных — точка, для которой передается значение
— Запрос данных — точка, значение которой необходимо получитьТочка с номером 0 обязательна для всех устройств и предназначена для конфигурирования устройства и получения информации о нем.
bit 7
direction
Направление передачи данных:
1 – запрос данных (request);
0 – передача данных (transmit).
03 D0 Поле данных:
— При передаче данных поля D0-D3 содержат данные для точки доступа.
— При запросе данных — D3 содержит номер точки доступа принимающей ответ от устройства.
04 D1
05 D2
06 D3
07 CRC8 Контрольная сумма пакета (участвуют байты с 0 по 6)рассчитывается аналогично Dallas 1-Wire

 

 

00 – ИНИЦИАЛИЗИРУЮЩАЯ КОМАНДА
(Получение всех устройств в сети, вне зависимости от их адресов и присвоения нового адреса при коллизиях)

 Получение информации от всех устройств в сети

Поле Запрос данных от ПК Ответ 1 от устройства Ответ 2 от устройства
RS 0 0 240 ($F0)
APD 128 128 0
D0 Счетчик=0 Счетчик+1 Счетчик+1
D1 Версия «железа»
D2 Версия прошивки
D3 Адрес устройства

1 ПК отправляет широковещательный запрос со счетчиком равным нулю (Запрос данных).

2 Каждое устройство, принявшее запрос:
а) инкрементирует счетчик (Счетчик+1),
б) ретранслирует широковещательный запрос от ПК (с инкрементированным счетчиком) дальше по сети (Ответ 1),
в) формирует и отправляет ответ, содержащий: инкрементированный счетчик (порядковый номер устройства в сети); два байта идентификации и байт адреса устройства (Ответ 2).

3 ПК, отправив широковещательный запрос, начинает ожидание ответов. Первым возвращается широковещательный запрос ПК с количеством устройств в поле счетчика. Далее идут ответы от устройств в порядке следования устройств в сети, поэтому, первый ответ считается от устройства с порядковым номером 1, второй ответ – от устройства с порядковым номером 2 и т.д.

4 Как только ПК принял количество ответов равное количеству устройств в сети, считается, что все устройства отчитались.

 

Присвоение устройству адреса при помощи адресации порядковым номером

Поле Передача данных от ПК Ответ от устройства
RS 0 0
APD 0 0
D0 Счетчик=0 Счетчик+1
D1
D2 Порядковый номер устройства Порядковый номер устройства
D3 Адрес устройства(для присвоения) Адрес устройства(для присвоения)

1 ПК отправляет специальный пакет со счетчиком равным нулю (Передача данных).

2 Каждое устройство, принявшее этот пакет передачи данных:
а) инкрементирует счетчик (Счетчик+1),
б) сравнивает значение счетчика со значением D2:
— если значения РАВНЫ – устанавливает себе новый адрес из D3 и пакет дальше не передается;
— если значения НЕ РАВНЫ – пакет передается дальше (Ответ).

 

 

 ЗАПИСЬ/ЧТЕНИЕ ТОЧКИ ДОСТУПА УСТРОЙСТВА

Поле Передача данных для устройства
Установка нового значения точки доступа у устройства
Запрос данных у устройства
Получение значения точки доступа устройства
Ответ от устройства
RS от_кого/кому от_кого/кому от_кого/кому
APD Точка, для которой передаются данные Точка, значение которой необходимо получить+128 (direction) Точка, для которой передаются данные(берется с D3-запроса)
D0 Данные D0 Данные D0
D1 Данные D1 Данные D1
D2 Данные D2 Данные D2
D3 Данные D3 Точка, в которую необходимо вернуть значение Данные D3

 


СЛУЖЕБНЫЕ КОМАНДЫ (ТОЧКА ДОСТУПА 0)

 0 – Команда идентификации

Поле Передача данных для устройства
Установка нового адреса (при отсутствии коллизий)
Запрос данных у устройства
Получение информации от устройства
Ответ от устройства
RS от_кого/кому от_кого/кому от_кого/кому
APD 0 128 Точка для возврата*
D0 0 0 0
D1 Версия «железа»
D2 Версия прошивки
D3 Новый адрес Точка для возврата* Адрес устройства

* для ZiChip Tuner всегда должно быть равно 0 (нулю)

 

 1 – Команда прямой работы с EEPROM

Поле Передача данных для устройства
Запись данных в EEPROM устройства
Запрос данных у устройства
Чтение данных из EEPROM устройства
Ответ от устройства
RS от_кого/кому от_кого/кому от_кого/кому
APD 0 128 Точка для возврата*
D0 1 1 1
D1 Адрес в EEPROM Адрес в EEPROM Адрес в EEPROM
D2
D3 Данные Точка для возврата* Данные

* для ZiChip Tuner всегда должно быть равно 1


2 – Команда настройки действий

Поле Передача данных для устройства Запрос данных у устройства Ответ от устройства
APD 0 128 Точка для возврата*
D0 2 2 2
D1 Адрес в области действий (EEPROM) Адрес в области действий (EEPROM) Адрес в области действий (EEPROM)
D2
D3 Значение Точка для возврата* Значение

* для ZiChip Tuner всегда должно быть равно 2

 

3 – Команда работы с ИК-пультом

Поле Передача данных для устройства Запрос данных у устройства Ответ от устройства
APD 0 128 Точка для возврата*
D0 3 3 3
D1 Номер хэша (кнопки) Номер хэша (кнопки)** Номер хэша (кнопки)
D2 Хэш-код Хэш-код
D3 Точка для возврата*

* для ZiChip Tuner всегда должно быть равно 3
** если D1 = 0xFF – передается хэш-код последней нажатой клавиши ИК-пульта.

 

 4 – Команда включения/отключения диспетчера элементов

Поле Передача данных для устройства
APD 0
D0 4
D1 1 – вкл, 0 – выкл
D2
D3

 

 5 – Сброс устройства

Поле Передача данных для устройства
APD 0
D0 5
D1
D2
D3


6 – Команда получения «времени жизни» устройства

Поле Запрос данных у устройства Ответ от устройства
APD 128 Точка для возврата*
D0 6 «Время жизни» устройствав сотых долях секунды
D1
D2
D3 Точка для возврата*

* для ZiChip Tuner должно быть 6

 

7 – Команда получения загрузки устройства

Поле Запрос данных у устройства Ответ от устройства
APD 128 Точка для возврата*
D0 7 7
D1
D2
D3 Точка для возврата* Загрузка**

* для ZiChip Tuner должно быть 7
** 0 — 0% … 255 — 100%

 

В ближайших планах:
– Команда перевода устройства в режим сна.
– Команда чтения/записи флагов
– Команда чтения/записи ячеек памяти

Обзор 258_Base_Duino.

Устройство 258_Base_Duino создавалось для применения его на платах Arduino (Uno, Nano, Pro Mini). Плата Arduino уже имеет всю необходимую для работы устройства обвязку, включая встроенный преобразователь USB-UART для связи с ПК.

Устройство является базовым и предназначено для ознакомления с основными принципами работы системы ZiChip но, несмотря на это, имеет довольно обширный набор периферии, с которой может работать.

Периферия устройства,
с привязкой к точкам доступа (вход / выход), выводам Arduino и портам микроконтроллера:
point.1 = Вход — ИК-пульт (D2 — PD2)
point.2 = Вход — Дискретные линии (A0-A7 — PC0-PC7)
point.3 = — точки 3-9 общего назначения
point.10 = Вход — Аналоговая линия 0 (A0 — PC0)
point.11 = Вход — Аналоговая линия 1 (A1 — PC1)
point.12 = Вход — Аналоговая линия 2 (A2 — PC2)
point.13 = Вход — Аналоговая линия 3 (A3 — PC3)
point.14 = Вход — Аналоговая линия 4 (A4 — PC4)
point.15 = Вход — Аналоговая линия 5 (A5 — PC5)
point.16 = Вход — Аналоговая линия 6 (A6 — PC6)
point.17 = Вход — Аналоговая линия 7 (A7 — PC7)
point.18 = — общего назначения
point.19 = — общего назначения
point.20 = Выход — ШИМ 0 (D5 — PD5)
point.21 = Выход — ШИМ 1 (D6 — PD6)
point.22 = Выход — ШИМ 2 (D7 — PD7)
point.23 = Выход — ШИМ 3 (D8 — PB0)
point.24 = Выход — ШИМ 4 (D9 — PB1)
point.25 = Выход — ШИМ 5 (D10 — PB2)
point.26 = Выход — ШИМ 6 (D11 — PB3)
point.27 = Выход — ШИМ 7 (D12 — PB4)
point.28 = Выход — ШИМ 8 (D13 — PB5) — индикатор Arduino
point.29 = — общего назначения
point.30 = Выход — Сервопривод (D3 — PD3)
point.31 = Выход — Зуммер (D4 — PD4)
point.32 = — точки 32-46 общего назначения
point.47 = — Зеркало 1WIR-сети (системная точка)
point.48 = — ИК-код последней нажатой кнопки пульта (системная точка)
point.49 = — Флаги устройства (системная точка)
point.50 = — Время «жизни» устройства (системная точка)
point.51 = — Случайное число (системная точка)

Параметры устройства:
— 51 точка доступа
— 320 байт EEPROM и 512 байт RAM для сценария поведения
— поддержка 32 кнопок ИК-пульта (с возможностью изучения любого пульта)
— 24 ячейки памяти EEPROM для хранения точек

Схема устройства для микроконтроллеров ATmega88/168/328:
Для случая применения своей платы с микроконтроллером ATmega88/168/328 схема будет иметь следующий вид:

 

Инфографика по устройству:

Для построения алгоритма работы устройства используется набор элементов:

0 Разделитель
Элемент не выполняет никаких действий, не использует ресурсов устройства. Используется лишь для визуально разделения блоков сценария.

  1 Конец сценария
Элемент, которым должен заканчиваться любой сценарий. После этого элемента все последующие элементы будут проигнорированы устройством.

  2 Начало микропрограммы
Элемент является указателем начала микропрограммы.

  3 Конец микропрограммы
Любая микропрограмма должна завершаться этим элементом.

  4 Инициализирующая микропрограмма
Элемент является аналогом элемента «Начало микропрограммы», но начатая с такого элемента микропрограмма выполнится только один раз при запуске (или сбросе) устройства. Применяется для инициализирующих действий в сценарии.

  5 Запрет микропрограммы
В случае, если нужно временно исключить микропрограмму из сценария (не удаляя цепочки элементов и их настройки), применяется данный элемент (вместо «Начало микропрограммы»).

  7 Изменение события
Элемент изменяет тип предыдущего события, позволяя организовывать более гибкие варианты реагирования на события.

  8 Засыпание
Переводит устройство в режим пониженного энергопотребления. Любое сообщение по сети возобновляет нормальную работу устройства. Очевидно, бесполезно применять этот элемент в сети с активными пересылками сообщений по ней. (в разработке)

  9 Комментарий
Элемент не выполняет никаких действий, не использует ресурсов устройства. Используется лишь для ставки комментария в сценарий.

  10 Событие от изменения точки
Элемент формирует событие, в случае если произошло изменение значения заданной точки доступа.

  11 Событие по условию
Элемент формирует событие по заданному условию изменения значения в заданной точке доступа.

  12 Событие от кнопок
Элемент формирует событие по факту нажатия кнопок устройства.

  13 Событие от ИК-пульта
Элемент формирует событие по факту нажатия кнопок на ИК-пульту.

  14 Событие по таймеру
Элемент формирует событие по таймеру с заданным количеством повторов.

  15 Событие от АЦП
Элемент формирует событие по изменению значения АЦП

  16 Событие случайное
Элемент формирует случайное событие с заданной вероятностью его возникновения.

  19 Событие от сателлита
Элемент формирует событие по факту приема нужного сообщения от IR-сателлита

  30 Действие со светодиодом
Элемент выполняет дискретные действия (включить, выключить, переключить) со светодиодом, подключенным к ШИМ-выходу.

  31 Действие с ШИМ-выходом
Элемент изменяет скважность (уровень сигнала) на ШИМ-выходе.

  32 Действие с зуммером
Элемент формирует звуковые сигналы на зуммере устройства.

  33 Действие с мотором
Элемент управляет скоростью и направлением вращения двигателей устройства.

  34 Действие с сервоприводом
Элемент управляет поворотами сервопривода устройства.

  35 Действие с цифровыми выходами
Элемент управляет выходами устройства, формируя на выбранных линиях двоичный код.

  36 Возврат значения точки
Элемент запоминает и возвращает значение выбранной точки после «ухода» события (возврат к исходному значению).

  40 Дублирование точки
Элемент выполняет заполнение определенного количества последовательных точек заданным значением. Также используется для различных действий копирования и наложения точек.

  41 Отправка значения точки
Элемент отправляет значение точки другой сетевой точке. (в разработке)

  42 Запрос значения точки
Элемент формирует запрос значения точки другого сетевого устройства (другое устройство в автоматическом режиме отправит значение запрашиваемой точки назад). (в разработке)

  43 Арифметические действия
Элемент выполняет различные арифметические действия над точками

  44 Формирование случайного числа
Элемент формирует случайное число для заданной точки.

  45 Битовая сборка
Элемент «сбивает» заданные биты точки источника и помещает их в точку приемник.

  46 Сохранение значения точки
Элемент сохраняет значение точки в ячейке памяти EEPROM. (в разработке)

  47 Восстановление значения точки
Элемент извлекает значение из ячейки памяти EEPROM и помещает его в заданную точку. (в разработке)


Устройство, на данный момент, не является полностью законченным. Продолжается работа над новым функционалом и над улучшением существующего.

Общие принципы 258_Base_Duino

258_Base_Duino – это готовое устройство с определенным функционалом, позволяющее простыми и доступными средствами настроить логику работы «под себя». Кроме того, 258_Base_Duino по умолчанию поддерживает сеть устройств и в любой момент можно внести новое устройство в сеть и «прописать» его взаимодействие с уже работающими устройствами.

В устройстве 258_Base_Duino есть три ключевых момента, относительно которых все работает:
1 Точки доступа (интерфейс устройства)
— это, своего рода, ячейки памяти, которые содержат результат работы обработчиков входных сигналов и исходные данные для формирования выходных сигналов. Точки доступа выполняют роль стандартного способа получения данных и управления устройством вне зависимости от того, что из себя это устройство представляет. Аналогией могут служить порта ввода/вывода у микроконтроллера, выполняющие роль интерфейса между программой и периферией.

2 Обработчики и формирователи (функционал устройства)
Обработчики это независимые асинхронные модули в устройстве, которые по факту входного воздействия (нажата кнопка, изменилось значение АЦП и т.д.) формируют результат этого воздействия (номер нажатой кнопки, значение АЦП и т.д.) в точке доступа.
Формирователь сигнала работает «в обратную сторону». Исходными данными для него служит точка доступа (вернее значение в ней) а выходной сигнал формируется на ножке МК (или нескольких ножках, если требуется управление более сложной периферией). Например, для ШИМ-выхода значение точки доступа будет содержать значение скважности.

3 Сценарий поведения, микропрограммы (логика работы устройства)
Сценарий поведения – это набор элементов формирующих логику работы устройства. Сценарий состоит из независимых частей — микропрограмм.
Микропрограммы — это правила реакции (алгоритмы поведения) устройства на различные воздействия. Одна микропрограмма отвечает за одно воздействие и реакцию на него. Если в устройстве нужно обрабатывать несколько воздействия, то для каждого создается своя микропрограмма. Можно условно считать, что каждая микропрограмма независимо друг от друга обрабатывает входные события и формирует выходной сигнал.
Микропрограмму формируют (описывают) элементы устройства

Графически взаимодействие всех вышеописанных частей ZiChip можно отобразить следующим образом:

Логика формирования управления при помощи микропрограммы показана на диаграмме:

Для пользователя скрыты механизмы работы обработчиков и формирователей. Микропрограмма (вернее элементы ее составляющие) работает исключительно с точками доступа, получая от них исходные данные и формируя в них результат (управляя формирователями выходных сигналов).

Элементы сценария разделены на два типа:
— «События» — элементы формирующие условие для выполнения и отвечающие за получение данных из точек доступа обработчиков
— «Действия» — выполняющие определенную работу по условию (формируют управляющие значения в точках доступа)

В самом простом случае (нажали кнопку – загорелся светодиод) микропрограмма будет иметь следующий вид:

Данный сценарий следует «читать» следующим образом:
— если нажата кнопка (в настройщике указывается точка, отвечающая за кнопки и номер опрашиваемой кнопки)
— выполнить действие со светодиодом (в настройщике указывается точка, отвечающая за светодиод и вариант выполняемого действия).

Ниже приведены окна настройщиков для кнопки и светодиода.

Общие правила построения сценария:
— каждая микропрограмма в сценарии должна начинаться элементом «Начало микропрограммы» и заканчиваться — «Конец микропрограммы»;
— микропрограмма должна иметь хотя бы один элемент «событие» и один — «действие»;
— микропрограмма может содержать больше чем одно «событие», тогда сигнал для выполнения «действия» будет формироваться по логическому «И», то есть «действие» будет выполнено при условии что все предыдущие «события» сформируют сигнал одновременно;
— микропрограмма может содержать больше чем одно действие, в этом случае при активном сигнале от «события» все последующие «действия» будут выполнены одновременно;
— любой сценарий должен заканчиваться элементом «конец сценария» — любые элементы после него будут проигнорированы.

47 Извлечение из памяти

    Элемент восстанавливает из ячейки памяти значение точки.

ОПИСАНИЕ

Элемент восстанавливает из Мемо-ячейки значение в заданную точку доступа. В устройстве организовано 24 ячейки Мemo, все они являются энергонезависимыми.

ПАРАМЕТРЫ ЭЛЕМЕНТА

1 Ячейка Мемо — источник:
Выбираем Мемо-ячейку для восстановления значения точки.

2 Точка доступа — приемник:
Выбираем точку доступа, в которую запишется значение из Мемо-ячейки.

ИНФОРМАЦИЯ ДЛЯ РАЗРАБОТЧИКОВ
Размер элемента:
EEPROM – 3 байта, SRAM – 0 байт

Распределение параметров элемента в EEPROM:
0 – Номер элемента (всегда = 47)
1 – Точка доступа — приемник
2 – Ячейка памяти — источник

46 Сохранение в память

    Элемент сохраняет выбранную точку в энергонезависимую EEPROM-память.

 ОПИСАНИЕ

Элемент записывает (сохраняет) значение заданной точки доступа в ячейку Мemo. В устройстве организовано 24 ячейки Мemo, все они являются энергонезависимыми.
Внимание!
Количество перезаписей ячейки EEPROM (Memo) ограничено. Не допускайте бесконтрольной записи в ячейку Мемо!

ПАРАМЕТРЫ ЭЛЕМЕНТА

1 Точка доступа — источник:
Выбираем точку доступа, значение которой необходимо сохранить в ячейку Мемо.

2 Ячейка Мемо — приемник:
Выбираем Мемо-ячейку для сохранения значения точки.

 

ИНФОРМАЦИЯ ДЛЯ РАЗРАБОТЧИКОВ
Размер элемента:
EEPROM – 3 байта, SRAM – 5 байт

Распределение параметров элемента в EEPROM:
0 – Номер элемента (всегда = 46)
1 – Точка доступа — источник
2 – Ячейка памяти — приемник

 Распределение параметров элемента в SRAM:
3-0 – буфер для хранения значения точки
4 – таймер повторной записи в ячейку

45 Битовая сборка

    Элемент выполняет «упаковку» выбранных бит в точке.

 ОПИСАНИЕ

Элемент «собирает» из указанных бит значение, «сбивая» результат влево (младшая сторона).

ПАРАМЕТРЫ ЭЛЕМЕНТА

1 Точка доступа источник данных:
Выбираем точку доступа над которой будет проведена операция.

2 Битовое поле участвующих бит:
Выбираем биты точки которые будет смещены в младшую часть точки.

3 Точка доступа для результата:
Выбираем точку, куда нужно поместить результат.

ИНФОРМАЦИЯ ДЛЯ РАЗРАБОТЧИКОВ

Размер элемента: EEPROM – 7 байт, SRAM – 0 байт

Распределение параметров элемента в EEPROM:
0 – Номер элемента (всегда = 45)
1 – Точка доступа источник
2 – Точка доступа приемник
3,4,5,6 – битовое поле собираемых бит

44 Случайное число

    Элемент формирует случайное число в выбранной точке.

 ОПИСАНИЕ

Случайное число может иметь различный размер, диапазон, а также случайно могут изменятся только выбранные биты,

ПАРАМЕТРЫ ЭЛЕМЕНТА

1 Точка доступа для случайного числа:
Выбираем точку доступа, где будет формироваться случайное число.

2 Вариант формирования случайного числа:

— размером в байт
— размером в слово
— размером в двойное слово
— в заданном промежутке (в пределах слова)
— по битовому полю

ИНФОРМАЦИЯ ДЛЯ РАЗРАБОТЧИКОВ

Размер элемента: EEPROM – 3(7) байта, SRAM – 0 байт

Распределение параметров элемента в EEPROM:
0 – Номер элемента (всегда = 44)
1 – Точка доступа приемник
2 – селектор
b0-4 – вариант формирования случайного числа=
=0 – величиной в байт
=1 – слово EEPROM=3
=2 – двойное слово EEPROM=3
=3 – по заданному промежутку (не больше слова) EEPROM=7
=4 – по битовому полю) EEPROM=7
3, 4 нижняя граница случайного числа b0-4=3
5, 6 верхняя граница случайного числа b0-4=3
3,4,5,6 – битовое поле b0-4=4

43 Арифметическое действие

    Элемент выполняет различные арифметические операции над точкой и константой (или точкой и точкой).

 ОПИСАНИЕ

Довольно насыщенный функционалом элемент. Позволяет выполнять различные предустановленные арифметические операции с точками,

ПАРАМЕТРЫ ЭЛЕМЕНТА

1 Точка доступа — А-аргумент:
Выбираем точку доступа — первый аргумент.

2 В-аргумент, задан:
Выбираем тип второго аргумента. Может быть или константой или другой точкой доступа.

3 Результат поместить в точку С:
Выбираем точку, куда нужно поместить результат.

4 Выполнить следующую операцию:
Выбираем тип операции над аргументами.
— прямое копирование  А -> С
— битовый сдвиг вправо А>> -> С (деление на 2)
— битовый сдвиг влево <<А -> С (умножение на 2)
— битовая инверсия |А -> С
— инкремент А++ -> С
— декремент А— -> С
— сложение   A + B -> C
— вычитание  A — B -> C
— логическое (побитовое) сложение  A OR B -> C
— логическое (побитовое) умножение  A AND B -> C
— исключающее или A XOR B -> C
— копировать если больше  IF A>B {А -> С}
— копировать если меньше IF A<B {А -> С}

ИНФОРМАЦИЯ ДЛЯ РАЗРАБОТЧИКОВ
Размер элемента:
EEPROM – 4(5|8) байта, SRAM – 0 байт

Распределение параметров элемента в EEPROM:
0 – Номер элемента (всегда = 43)
1 – Точка доступа А – аргумент
2 – Точка доступа С – результат
3 – селектор
b7 значение аргумента В (0-константа EEPROM=8 /1-точка EEPROM=5)
b4-0 — Тип арифметической операции=
=0 – прямое копирование  А -> С EEPROM=4
=1 – битовый сдвиг вправо (деление на 2) EEPROM=4
=2 – битовый сдвиг влево (умножение на 2) EEPROM=4
=3 – битовая инверсия |А -> С EEPROM=4
=4 – инкремент А++ -> С EEPROM=4
=5 – декремент А— -> С EEPROM=4
=6 – сложение   A + B -> C EEPROM=5|8
=7 – вычитание  A — B -> C EEPROM=5|8
=8 – логическое (побитовое) сложение  A OR B -> C EEPROM=5|8
=9 – логическое (побитовое) умножение  A AND B -> C EEPROM=5|8
=10 – исключающее или A XOR B -> C EEPROM=5|8
=11 – копировать если больше  IF A>B {А -> C} EEPROM=5|8
=12 – копировать если меньше IF A< B {А -> C}) EEPROM=5|8
4 – Точка доступа B – аргумент
4,5,6,7 — константа

42 Запрос точки у другого устройства

    Элемент отправляет запрос для получения значения точки от другого устройства.

 ОПИСАНИЕ

Элемент реализовывает возможность запроса значения любой точки у любого устройства в сети. Получив подобный запрос, устройство отправит назад требуемое значение.
Внимание! Контролируйте частоту отправки сообщений для уменьшения нагрузки на сеть и во избежании переполнения буфера.

ПАРАМЕТРЫ ЭЛЕМЕНТА

1 Устройство и точка доступа — источник значения:
Выбираем устройство и точку доступа от которой хотим получить значение.

2 Точка доступа для принятого значения:
Выбираем точку доступа куда запишется запрашиваемое значение.

ИНФОРМАЦИЯ ДЛЯ РАЗРАБОТЧИКОВ
Размер элемента:
EEPROM – 4 байта, SRAM – 0 байт

Распределение параметров элемента в EEPROM:
0
– Номер элемента (всегда = 42)
– Номер точки-приемника
2 – Номер точки-источника
3 – Номер устройства-источника

41 Отправка значения точки другому устройству

    Элемент отправляет по сети значение точки другому устройству.

 ОПИСАНИЕ

Это один из базовых элементов устройств ZiChip. Позволяет организовывать связь устройств между собой. Отправляет значение точки любому устройству в сети.
Внимание! Контролируйте частоту отправки сообщений для уменьшения нагрузки на сеть и во избежании переполнения буфера.

ПАРАМЕТРЫ ЭЛЕМЕНТА

1 Пересылаемая точка доступа — источник:
Выбираем точку доступа, которую нужно отправить другому устройству.

2 Устройство и точка доступа — приемник:
Выбираем устройство и точку доступа куда необходимо направить значение.

 

ИНФОРМАЦИЯ ДЛЯ РАЗРАБОТЧИКОВ
Размер элемента:
EEPROM – 4 байта, SRAM – 0 байт

Распределение параметров элемента в EEPROM:
0
– Номер элемента (всегда = 41)
1 – Номер точки-источника
– Номер точки-приемника
3 – Номер устройства-приемника