Каталог

REMOTEXY

Быстрый старт

Способы связи

Редактор

Исходный код

Библиотека RemoteXY.h

Элементы управления

Элементы индикации

Системные элементы

Элементы оформления

Модули связи

Как перенести интерфейс в IDE FLProg

Взаимодействие с графическим интерфейсом



Взаимодействие с графическим интерфейсом осуществляется через поля структуры RemoteXY. Состав полей структуры соответствует переменным графического интерфейса. Каждое поле структуры привязано к переменной какого либо элемента графического интерфейса. Имя переменной задается в редакторе интерфейса для каждого элемента. Записывая и считывая значения переменных вы получаете доступ к состоянию элементов управления графического интерфейса.

struct { // input variables uint8_t switch_01; float setTemperature; // output variables float temperature; uint8_t led_01; // complex variables RemoteXYType_Print terminal_01; } RemoteXY;

Внимание. Нельзя изменять структуру RemoteXY. Не добавляйте и не удаляйте поля структуры RemoteXY. Так же не изменяйте порядок полей в структуре. Любые изменения приведут к неработоспособности интерфейса.

Все поля структуры разделены на входные и выходные.

  • input - данные преимущественно передаются из графического интерфейса в контроллер. Но могут передаваться из контроллера в графический интерфейс.
  • output - данные всегда передаются из контроллера в графический интерфейс.
  • complex - переменные, поведение которых зависит от их типа.

Получение данных из графического интерфейса

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

void loop() { RemoteXY_Handler (); if (RemoteXY.switch_01 == 1) { handleMyProcess (); } }

Отправка данных в графический интерфейс

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

void loop() { RemoteXY_Handler (); RemoteXY.temperature = getTemp (); }

Комплексные переменные

Структура RemoteXY может содержать комплексную переменную если вы разместили в интерфейсе соответствующий элемент управления. В этом случае вы должны использовать методы этой переменной. Какие методы доступны зависит от типа переменной. Изучите документацию соответствующего элемента управления.

void loop() { if (need) { RemoteXY.terminal_01.println ("Hello world"); } }