Установка начальных значений RemoteXY

Установка начальных значений RemoteXY

Ответить
kuskov
Рядовой
Сообщения: 30
Зарегистрирован: 13.01.2020{, 11:21}
Репутация: 0
Имя: Вячеслав

Установка начальных значений RemoteXY

#1

Сообщение kuskov » 20.01.2020{, 08:24}

Подскажите Как установить начальные значения ВЫХОДНЫХ параметров RemoteXY.
С точки зрения кода программирования все понятно

Код: Выделить всё

  void setup()
...
RemoteXY.perem_1 = EEPROM.read(10);
RemoteXY.perem_2 = EEPROM.read(20);
RemoteXY.perem_3 = EEPROM.read(30);
...
А вот как это блоком FLProg сделать не понятно.

Sanbi4
Рядовой
Сообщения: 76
Зарегистрирован: 30.10.2019{, 17:58}
Репутация: 3
Имя: Сергей

Установка начальных значений RemoteXY

#2

Сообщение Sanbi4 » 20.01.2020{, 09:01}

что значитт выходных параметров? если имеется ввиду значения переменных, то создайте в еппроме эти переменные, включите в настройках стартовое значение и запретите изменение этих переменных.

Brand2
Лейтенант
Сообщения: 414
Зарегистрирован: 26.02.2018{, 21:27}
Репутация: 42
Откуда: Haifa
Имя: Alex

Установка начальных значений RemoteXY

#3

Сообщение Brand2 » 20.01.2020{, 10:14}

kuskov,
выложите проект сюда,посмотрим

kuskov
Рядовой
Сообщения: 30
Зарегистрирован: 13.01.2020{, 11:21}
Репутация: 0
Имя: Вячеслав

Установка начальных значений RemoteXY

#4

Сообщение kuskov » 20.01.2020{, 10:32}

Вот все значения которые справой стороны блока RemoteXY в проекте
Управление вентилем через Remote.flp
(539.87 КБ) 43 скачивания
необходимо установить в начальные позиции. Вот тут в инструкции написано
Функция setup

Функция setup() обязательно должна содержать код для запуска инициализации библиотеки RemoteXY. Это вызов конструктора RemoteXY_Init (). Не удаляйте этот код. В функции setup() вы можете произвести начальную инициализацию всех элементов управления, в том числе установить начальные положения переключателей, выключателей, слайдеров, джойстиков, и элементов отображения, если это необходимо. Для этого запишите необходимые значения в поля структуры RemoteXY.
Ссылка на проект RemoteXY

И попутный вопрос! Там на первой плате есть блок Bit Change который должен переменной Rec отдавать команду на запись в EEProm, для этого он соединен с выходом установки соединения с сервисом RemoteXY. Но он выдает эту команду как при подключении к сервису (изменение с False на true) так и при отключении. А надо что бы только при отключении от сервиса происходила запись выставленных значений в память.

И еще попутный вопрос! На Плате №4 При записи числа в EEPROM происходит сравнение этого числа с его предыдущим значением, и если значения разные то запись происходит. Как такой же алгоритм сделать для boolean? Блок сравнения с таким типом значения не работает.

kuskov
Рядовой
Сообщения: 30
Зарегистрирован: 13.01.2020{, 11:21}
Репутация: 0
Имя: Вячеслав

Установка начальных значений RemoteXY

#5

Сообщение kuskov » 27.01.2020{, 10:59}

Вот таким кодом вручную устанавливаю начальные значения слайдеров чтением из EEPROM

Код: Выделить всё

void setup()
{
.....
RemoteXY.switch_gr = readBooleanFromEEPROM(0, 0, 0x0);
RemoteXY.switch_pod = readBooleanFromEEPROM(0, 1, 0x0);
RemoteXY.switch_1et = readBooleanFromEEPROM(0, 2, 0x0);
RemoteXY.switch_2et = readBooleanFromEEPROM(0, 3, 0x0);


RemoteXY.slider_pod = readByteFromEEPROM(1, 0, 0x0);
RemoteXY.slider_1et = readByteFromEEPROM(2, 0, 0x0);
RemoteXY.slider_2et = readByteFromEEPROM(3, 0, 0x0);
RemoteXY.slider_gr = readByteFromEEPROM(4, 0, 0x0);
.....
}
Ни сразу понял, что означают данные функции чтения Byte и Boolean и что 8 битов это 8 boolean которые записываются в 1 ячейку EEPROM.

Есть ли какой-нибудь вариант добавить данные значения в FLProg, что бы каждый раз не править Arduino IDE?

semitr
Рядовой
Сообщения: 14
Зарегистрирован: 16.08.2019{, 09:53}
Репутация: 0
Имя: СЕРГЕЙ

Установка начальных значений RemoteXY

#6

Сообщение semitr » 27.01.2020{, 16:23}

Здравствуйте!
На прошедшей неделе вдруг появился новый вход в блоке RemoteXY "connect_flag"
При компиляции выдает текст программы (создал просто пример):
#define REMOTEXY_MODE__ESP8266_HARDSERIAL_POINT
#include <RemoteXY.h>
#define REMOTEXY_SERIAL Serial
#define REMOTEXY_SERIAL_SPEED 9600
#define REMOTEXY_WIFI_SSID "RemoteXY"
#define REMOTEXY_WIFI_PASSWORD ""
#define REMOTEXY_SERVER_PORT 800
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] = {1, 1, 19, 0, 8, 13, 1, 1, 0, 5, 13, 23, 23, 2, 31, 88, 0, 65, 4, 38, 15, 19, 19};
struct {
unsigned char button_1;
unsigned char led_1_r;
unsigned char connect_flag;
unsigned char connect_flag;
} RemoteXY;"
А при загрузке в контроллер выдает ошибку с указанием на выделенную желтым цветом строку.
Раньше этого не было.
Помогите разобраться, что на этот вывод вешать?
Пока что решаю это не эту копируя строку в код на RemoteXY. Но ведью для чего-то он появился?

FLPROG V6.1

kuskov
Рядовой
Сообщения: 30
Зарегистрирован: 13.01.2020{, 11:21}
Репутация: 0
Имя: Вячеслав

Установка начальных значений RemoteXY

#7

Сообщение kuskov » 28.01.2020{, 05:15}

semitr,
он у вас просто задвоился, поэтому и ошибку дает.
А так на этом блоке единица, когда вы со смартфона подключаетесь к облаку.
Я сначала не понял, думал что это когда плата подключается к облаку (по крайней мере из справки такой вывод) но нет это именно когда вы подключаетесь к облаку для управления.
У меня на этом выходе весит условие записи показаний в EEPROM. То есть когда я отключаюсь от соединения, записываю установленные параметры на экране смартфона в EEPROM.
Выход можно отключить, в блоке RemoteXY, на вкладке "Входы/Выходы", снять галочку "Выход статуса соедЕнения" (сохранена орфография автора) :D (Простите Сергей) :smile44:

semitr
Рядовой
Сообщения: 14
Зарегистрирован: 16.08.2019{, 09:53}
Репутация: 0
Имя: СЕРГЕЙ

Установка начальных значений RemoteXY

#8

Сообщение semitr » 28.01.2020{, 10:01}

Спасибо за оперативный ответ!
Но...
эта строка формируется в RemoteXY:
REMOTEXY_MODE__ESP8266_HARDSERIAL_POINT
REMOTEXY_SERIAL Serial
REMOTEXY_SERIAL_SPEED 9600
REMOTEXY_WIFI_SSID "RemoteXY"
REMOTEXY_WIFI_PASSWORD ""
REMOTEXY_SERVER_PORT 800
[1,1,19,0,8,13,1,1,0,5,
13,23,23,2,31,88,0,65,4,38,
15,19,19];
input unsigned char button_1; /* =1 если кнопка нажата, иначе =0 */
output unsigned char led_1_r; /* =0..255 яркость красного цвета индикатора */
output unsigned char connect_flag; /* =1 if wire connected, else =0 */

И при копировании кода в блок RemoteXY FLP там, помимо "нужных" входов/выходов, формируется вход connect_flag

А при заливке в Arduino прога находит уже две одинаковые строки и выдает ошибку с указанием на вторую строку
unsigned char button_1;
unsigned char led_1_r;
unsigned char connect_flag;
unsigned char connect_flag;
} RemoteXY;

Я не пойму, откуда она берется эта вторая строка и этот вход на блоке. Повторюсь: раньше этого не было.

kuskov
Рядовой
Сообщения: 30
Зарегистрирован: 13.01.2020{, 11:21}
Репутация: 0
Имя: Вячеслав

Установка начальных значений RemoteXY

#9

Сообщение kuskov » 28.01.2020{, 11:05}

semitr,
Да, действительно появился новый выход, который формирует на блоке RemoteXY в FLProg новый вход ))
надо на форуме RemoteXY вопрос запостить зачем он.
Да и здесь стоит написать разработчику.
Пока буду по вашей методике удалять из кода RemoteXY

semitr
Рядовой
Сообщения: 14
Зарегистрирован: 16.08.2019{, 09:53}
Репутация: 0
Имя: СЕРГЕЙ

Установка начальных значений RemoteXY

#10

Сообщение semitr » 28.01.2020{, 11:15}

НЕт, лучше не копировать эту строку.
Спасибо!
Буду ждать новых сведений и инфы по этой фиче

Ответить

Вернуться в «Помогите, а то я "нимагу"»