1

Topic: Поле ввода работает не всегда корректно

Тип данных - целое число

struct {
...
  int16_t set_min;  // −32767.. +32767
  int16_t set_max;  // −32767.. +32767
...
} RemoteXY;

в loop():

  if ( RemoteXY.set_min > RemoteXY.set_max)
  {
    RemoteXY.set_min = RemoteXY.set_max - 1;
  }

  sprintf(RemoteXY.text_1, "%d", RemoteXY.set_max);
  sprintf(RemoteXY.text_2, "%d", RemoteXY.set_min);

переменная RemoteXY.set_min меняется, это видно из поля RemoteXY.text_1 (текстовая строка), но на телефоне измененное в контроллере значение поля ввода не изменяется, то есть я ввожу на телефоне значение RemoteXY.set_min = 40 при RemoteXY.set_max = 35, в поле RemoteXY.text_1 выводится число 34, а в поле RemoteXY.set_min остается значение 40.
Замечено что через некоторое время телефон теряет связь с облаком и отваливает.

При этом при первичной инициализации контроллера берутся значения из еепром и присваиваются значения в поле ввода нормально.

2

Re: Поле ввода работает не всегда корректно

Поле вводя является элементом управления и передает данные только из смартфона в контроллер. Обратная передача не предусмотрена. Это утверждение справедливо для всех элементов управления.
Попробуйте установить последнюю версию библиотеки 2.3.5 для Arduino IDE для корректной работы с облаком http://remotexy.com/ru/library/