1

Topic: Вопрос о поле ввода

такой вопрос, данные из поля ввода передаются на контроллер при каждом вызове RemoteXY_Handler или только однократно после изменения значения в поле ввода?

2

Re: Вопрос о поле ввода

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

3

Re: Вопрос о поле ввода

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

4

Re: Вопрос о поле ввода

Не могу разобраься с полем ввода.У меня проэкт теплицы и надо вводить уставки .Проэкт сделан через FLprog с использованием WiFi модуля ESP8266.http://remotexy.com/ru/editor/
При подключении переменных к блоку значений меню показаня не меняются

5

Re: Вопрос о поле ввода

Используютя аналоговые кнопки в связи с экономией цифровых входов.

6

Re: Вопрос о поле ввода

Появился такой вопрос. В поле ввода, в режиме числа,  значение по умолчанию =0, можно ли его как-то установить другим?

7

Re: Вопрос о поле ввода

maild999 wrote:

Появился такой вопрос. В поле ввода, в режиме числа,  значение по умолчанию =0, можно ли его как-то установить другим?

Вы можете установить переменную поля в нужное значение прямо в контроллере, например при инициализации. В момент подключения значения ВСЕХ переменных передаются на смартфон.

8

Re: Вопрос о поле ввода

" ...В момент подключения значения ВСЕХ переменных передаются на смартфон."
А можно ли передать значение в поле ввода в произвольный момент или это возможно только в момент установки соединения?

9

Re: Вопрос о поле ввода

Naladchik wrote:

А можно ли передать значение в поле ввода в произвольный момент или это возможно только в момент установки соединения?

В текущей реализации только в момент установки соединения.

10

Re: Вопрос о поле ввода

Подскажите, как реализовать, чтобы при вводе текста поле ввода тут же обнулялось? Задача запускать рэле на 1 секунду, сейчас так
if (strcmp (RemoteXY.edit_1, "run")==0)
  {
    digitalWrite(PIN_BUTTON_1, HIGH);
    delay(100);
    digitalWrite(PIN_BUTTON_1, LOW);
  }
но все равно пока в поле введен текст, продолжает работать, подскажите если кто знает

11

Re: Вопрос о поле ввода

zelenchukov.mi wrote:

Подскажите, как реализовать, чтобы при вводе текста поле ввода тут же обнулялось? Задача запускать рэле на 1 секунду, сейчас так
if (strcmp (RemoteXY.edit_1, "run")==0)
  {
    digitalWrite(PIN_BUTTON_1, HIGH);
    delay(100);
    digitalWrite(PIN_BUTTON_1, LOW);
  }
но все равно пока в поле введен текст, продолжает работать, подскажите если кто знает

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

12

Re: Вопрос о поле ввода

То что вы хотите реализовать - это передача событий.
Однако поле ввода - это статический текст который ввел пользователь приложения, ардуино изменить его не может.
Передача событий в проекте на данный момент не реализована.

13

Re: Вопрос о поле ввода

Подскажите. Можно ли реализовать сброс значений в поле не самим полем, а другой кнопкой на интерфейсе?
Проще говоря имеется большое количество полей для ввода значений и их значения нужно сбросить нажав на кнопку "сброс".

14

Re: Вопрос о поле ввода

BlackWolfSpb wrote:

Подскажите. Можно ли реализовать сброс значений в поле не самим полем, а другой кнопкой на интерфейсе?
Проще говоря имеется большое количество полей для ввода значений и их значения нужно сбросить нажав на кнопку "сброс".

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

15

Re: Вопрос о поле ввода

Просветите меня с полем ввода пожалуйста. Как в нем обновлять данные, если они изменились внутри программы? В блоке Setup начальное значение записывается в поле ввода и выводиться на экран вполне успешно. В примере, нажатие кнопки изменяет переменную "val" на еденичку. Как заставить новое значение отразиться в поле ввода? Плата NodeMcu V3.

//////////////////////////////////////////////
//        RemoteXY include library          //
//////////////////////////////////////////////

// определение режима соединения и подключение библиотеки RemoteXY 
#define REMOTEXY_MODE__ESP8266WIFI_LIB_CLOUD
#include <ESP8266WiFi.h>

#include <RemoteXY.h>

// настройки соединения 
#define REMOTEXY_WIFI_SSID "....."
#define REMOTEXY_WIFI_PASSWORD "....."
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "....."


// конфигурация интерфейса  
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 255,3,0,0,0,22,0,8,13,1,
  7,21,17,24,30,15,2,26,2,1,
  0,26,51,12,12,2,31,88,0 };
  
// структура определяет все переменные вашего интерфейса управления 
struct {

    // input variable
  int16_t edit_1;  // −32767.. +32767 
  uint8_t button_1; // =1 если кнопка нажата, иначе =0 

    // other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0 

} RemoteXY;
#pragma pack(pop)

/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////

byte val=10;
bool fbt;

void setup() 
{
  RemoteXY_Init (); 
  RemoteXY.edit_1=val; // Это работает
  
  // TODO you setup code
Serial.begin(115200);  
}

void loop() 
{
  RemoteXY_Handler ();
if (RemoteXY.button_1 && !fbt) {
  fbt=1;
  val++;
  RemoteXY.edit_1=val; //А вот это не работает

}
if (!RemoteXY.button_1 && fbt) {
  fbt=0;
}
  
  if (val!= RemoteXY.edit_1){
  val = RemoteXY.edit_1;
  Serial.print ("val=");
  Serial.println (val);
  }

  
  // TODO you loop code
  // используйте структуру RemoteXY для передачи данных


}

Спойлер не нашел.... Ткните носом.