1 (edited by jaymzys 2017-04-07 05:38:25)

Topic: Проблема с графическим интерфейсом

Добрый день.
Сделал в редакторе интерфейс управления водонагревателем. Есть прямое управление водонагревателем. Обратная связь производится путем вывода значений в текстовых полях (ON/OFF,  значение температуры и т.д.)

http://s019.radikal.ru/i605/1704/38/3f0727d2c7c2.png

Залил код на плату, написал саму программу для водонагревателя.
Все отлично, реле от кнопок управляются, обратная связь работает. Но, какая то беда с размещение строк "text" на экране при подключении к плате по TCP/IP.

Ниже скриншот того, как производится вывод строк на iPhone 5S  (iOS 10.2.1).
http://i013.radikal.ru/1704/88/ec052e98524e.jpg

Та же проблема наблюдается и на Android планшете от Acer (под рукой нет, привести версию Android пока не могу).

На телефоне ОС Android 5.1 все выводится как надо:
http://s009.radikal.ru/i308/1704/71/b05335ef73f7.jpg


Ниже приведена часть скетча для RemoteXY:

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

#include <RemoteXY.h>

// настройки соединения 
#define REMOTEXY_WIFI_SSID "USERNAME"
#define REMOTEXY_WIFI_PASSWORD "USERNAME"
#define REMOTEXY_SERVER_PORT 6377

// конфигурация интерфейса   
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 255,14,0,12,0,142,0,6,8,0,
  1,0,3,3,28,28,1,208,146,208,
  154,208,155,0,1,0,36,3,28,28,
  1,208,157,208,176,208,179,209,128,208,
  181,208,178,0,1,0,69,3,28,28,
  1,84,0,7,5,6,51,90,7,2,
  11,67,1,6,31,22,9,6,4,67,
  1,39,31,22,9,6,5,67,1,72,
  31,22,9,6,3,129,0,8,45,87,
  5,9,208,146,209,128,208,181,208,188,
  209,143,32,208,178,208,186,208,187,209,
  142,209,135,208,181,208,189,208,184,209,
  143,32,208,178,208,190,208,180,208,190,
  208,189,208,176,208,179,209,128,208,181,
  208,178,208,176,208,187,209,143,0 };
   
// структура определяет все переменные вашего интерфейса управления 
struct {

    // input variable
  uint8_t button_1; // =1 если кнопка нажата, иначе =0
  uint8_t button_2; // =1 если кнопка нажата, иначе =0
  uint8_t button_3; // =1 если кнопка нажата, иначе =0
  char edit_1[11];  // =строка UTF8 оканчивающаяся нулем 

    // output variable
  char text_1[4];  // =строка UTF8 оканчивающаяся нулем
  char text_2[5];  // =строка UTF8 оканчивающаяся нулем
  char text_3[3];  // =строка UTF8 оканчивающаяся нулем

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

} RemoteXY;
#pragma pack(pop)
/*_________________________________________________________*/


Ниже кусок скетча, показывающий, как происходит обратная связь с водонагревателем и, к примеру в переменной text_1 появляется строка соответствующая состоянию водонагревателя:
/*_________________________________________________________*/
//Heater Direct Control part
    //считывание состояния цифрового входа D6//смена состояния режима ON/OFF нагревателя по уровню HIGH//
  if ((digitalRead(ON_OFF_button_FB)== HIGH) && (millis() - ON_OFF_start > delay_300)) {
    ON_OFF_start = millis();
    switch (ON_OFF_state) {
      case 1:
        ON_OFF_state *= -1;
        Serial.println("Heater now is OFF");
        strcpy (RemoteXY.text_1, "OFF");
        break;
      case -1:
        ON_OFF_state *= -1;
        Serial.println("Heater now is ON");
        strcpy (RemoteXY.text_1, "ON");
        break;
    }
  }



У вас есть мысли, почему так может происходить?

P.S. вечером напишу версию ОС на планшете.

2 (edited by jaymzys 2017-04-07 16:20:57)

Re: Проблема с графическим интерфейсом

Планшет Acer A3-A20, версия Android 4.4.2

На телефоне Asus Zenfone 2 ML550    Android 5.0  -  все стабильно.

3

Re: Проблема с графическим интерфейсом

Интересно! Версия приложения последняя на всех устройствах?
Будем воспроизводить и искать ошибки. Будут результаты - отпишусь.

4

Re: Проблема с графическим интерфейсом

На iOS стоит RemoteXY 1.0.7
На Android - 4.0.1

5

Re: Проблема с графическим интерфейсом

Ошибка воспроизведена и найдена.
Ошибка присутствует только под iOS и касается отображения текстовых элементов интерфейса при установленном выравнивании текста либо по центу либо вправо. При выравнивании влево все отображается корректно.
Ошибка будет исправлена с выходом очередной версии приложения под iOS.
В Android такой ошибки нет.

6 (edited by jaymzys 2017-04-12 09:21:32)

Re: Проблема с графическим интерфейсом

Добрый день.
Спасибо за обратную связь. Буду тогда допиливать программу и ждать релиза новой версии.
А насчет Androida - наблюдаю ту же ошибку на планшете на базе Android 4.4.2.
На всех устройства с версией выше 5 такого не наблюдал.

Вам интересно будет размещение проекта у вас на форуме после окончания?

У меня есть краткий вопрос по покупке приложения под Android. Если есть 2 устройства с одной учеткой Google Play, достаточно покупки "1 лицензии" или нужно на каждое устройство?

7

Re: Проблема с графическим интерфейсом

jaymzys wrote:

Вам интересно будет размещение проекта у вас на форуме после окончания?

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

jaymzys wrote:

У меня есть краткий вопрос по покупке приложения под Android. Если есть 2 устройства с одной учеткой Google Play, достаточно покупки "1 лицензии" или нужно на каждое устройство?

Приложение покупается по всем правилам плей маркета. Там нет исключений.

jaymzys wrote:

А насчет Androida - наблюдаю ту же ошибку на планшете на базе Android 4.4.2.

Пока не удалось воспроизвести ошибку на Android. Код места программы, который вызывал ошибку на iOS слегка отличается от Android. На Android все прописано верно. Но все равно будем продолжать тестировать по возможности на разных устройствах.

8

Re: Проблема с графическим интерфейсом

Добрый день.
Спасибо за ответ и исправление ошибки. Работает стабильно и на iOS и на Android.

9

Re: Проблема с графическим интерфейсом

Здравствуйте ,есть проблема,при создании новых проектов на андроид выдаёт ошибку:"Connection is established, bat interfeace version of device is not supported by app. Update the application".
Есть прошлогодний проект в Arduino IDE  который нормально работает,этот проект так же сохранён в редакторе.Скачиваю новый код этого проекта с редактора и при запуске выдаёт ошибку. Сравнив исходники обнаружил разницу в конфигурации интерфейса.

Новая версия:

#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 255,13,0,2,0,113,0,6,0,0,
  2,0,77,51,22,11,6,49,0,79,
  70,70,0,2,0,77,1,22,11,6,
  50,0,79,70,70,0,2,0,1,51,
  22,11,6,51,0,79,70,70,0,2,
  0,1,1,22,11,6,52,0,79,70,
  70,0,1,0,4,37,12,12,4,76,
  0,1,0,4,14,12,12,4,72,0,
  1,1,81,35,14,14,1,76,0,1,
  1,81,15,14,14,1,72,0,7,13,
  20,19,57,24,2,3,3,130,36,45,
  30,17,2,65,14,30,3,41,9,2 };
 
Старая:
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 13,2,113,0,6,0,0,2,0,77
  ,51,22,11,6,49,0,79,70,70,0
  ,2,0,77,1,22,11,6,50,0,79
  ,70,70,0,2,0,1,51,22,11,6
  ,51,0,79,70,70,0,2,0,1,1
  ,22,11,6,52,0,79,70,70,0,1
  ,0,4,37,12,12,4,76,0,1,0
  ,4,14,12,12,4,72,0,1,1,81
  ,35,14,14,1,76,0,1,1,81,15
  ,14,14,1,72,0,7,13,20,19,57
  ,24,2,3,3,130,36,45,30,17,2
  ,65,14,30,3,41,9,2 };

Что делаю не так?

10

Re: Проблема с графическим интерфейсом

mikgrebnev wrote:

Что делаю не так?

Обновить библиотеку надо. Вот недавно была аналогичная проблема http://forum.remotexy.com/viewtopic.php?id=198

11

Re: Проблема с графическим интерфейсом

Старую библиотеку "RemoteXY"удалил, новую установил ,всё работает,спасибо!!!