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

Ответить
kuskov
Рядовой
Сообщения: 30
Зарегистрирован: 13 янв 2020, 11:21
Имя: Вячеслав

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

Сообщение kuskov »

Подскажите Как установить начальные значения ВЫХОДНЫХ параметров 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 окт 2019, 17:58
Имя: Сергей

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

Сообщение Sanbi4 »

что значитт выходных параметров? если имеется ввиду значения переменных, то создайте в еппроме эти переменные, включите в настройках стартовое значение и запретите изменение этих переменных.
Brand2
Лейтенант
Сообщения: 450
Зарегистрирован: 26 фев 2018, 21:27
Откуда: Haifa
Имя: Alex
Благодарил (а): 2 раза
Поблагодарили: 5 раз

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

Сообщение Brand2 »

[ref]kuskov[/ref],
выложите проект сюда,посмотрим
kuskov
Рядовой
Сообщения: 30
Зарегистрирован: 13 янв 2020, 11:21
Имя: Вячеслав

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

Сообщение kuskov »

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

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

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

И еще попутный вопрос! На Плате №4 При записи числа в EEPROM происходит сравнение этого числа с его предыдущим значением, и если значения разные то запись происходит. Как такой же алгоритм сделать для boolean? Блок сравнения с таким типом значения не работает.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
kuskov
Рядовой
Сообщения: 30
Зарегистрирован: 13 янв 2020, 11:21
Имя: Вячеслав

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

Сообщение kuskov »

Вот таким кодом вручную устанавливаю начальные значения слайдеров чтением из 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 авг 2019, 09:53
Имя: СЕРГЕЙ

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

Сообщение semitr »

Здравствуйте!
На прошедшей неделе вдруг появился новый вход в блоке 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 янв 2020, 11:21
Имя: Вячеслав

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

Сообщение kuskov »

[ref]semitr[/ref],
он у вас просто задвоился, поэтому и ошибку дает.
А так на этом блоке единица, когда вы со смартфона подключаетесь к облаку.
Я сначала не понял, думал что это когда плата подключается к облаку (по крайней мере из справки такой вывод) но нет это именно когда вы подключаетесь к облаку для управления.
У меня на этом выходе весит условие записи показаний в EEPROM. То есть когда я отключаюсь от соединения, записываю установленные параметры на экране смартфона в EEPROM.
Выход можно отключить, в блоке RemoteXY, на вкладке "Входы/Выходы", снять галочку "Выход статуса соедЕнения" (сохранена орфография автора) :D (Простите Сергей) :smile44:
semitr
Рядовой
Сообщения: 14
Зарегистрирован: 16 авг 2019, 09:53
Имя: СЕРГЕЙ

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

Сообщение semitr »

Спасибо за оперативный ответ!
Но...
эта строка формируется в 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 янв 2020, 11:21
Имя: Вячеслав

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

Сообщение kuskov »

[ref]semitr[/ref],
Да, действительно появился новый выход, который формирует на блоке RemoteXY в FLProg новый вход ))
надо на форуме RemoteXY вопрос запостить зачем он.
Да и здесь стоит написать разработчику.
Пока буду по вашей методике удалять из кода RemoteXY
semitr
Рядовой
Сообщения: 14
Зарегистрирован: 16 авг 2019, 09:53
Имя: СЕРГЕЙ

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

Сообщение semitr »

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

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя