ESP, IoT Мультиинформер. Проект универсального информера на базе ESP32

Пьеро

✩✩✩✩✩✩✩
30 Апр 2025
3
0
Добрый день форум!
Нужна помощь в проекте Мультиинформер. Скачал прошивку библиотеки все которые указаны закинул, пробовал на версии arduino 1.8.18 и 2.3.6 не выводит показания компьютера и год в в календаре показывает не правильно. Сам плохо разбираюсь в написании кода, может кто поможет дописать или подсказать что поправить, автор не отвечает уже долгое время
Библиотету TFT ставил эту TFT
 
Изменено:

asaitov

✩✩✩✩✩✩✩
16 Янв 2024
20
7
  1. Настройки Wi-Fi в информере указаны? Подключение есть?
  2. В календаре неправильный только год или дата и время тоже?
  3. Libre Hardware Monitor на компьютере запущен? Веб-сервер в его настройках включен?
  4. Правильный путь до ПК в настройках информера указан?
 

Пьеро

✩✩✩✩✩✩✩
30 Апр 2025
3
0
@asaitov, поковырял немного, инфу с пк передает, именно год неправильно, с 1901 по 2023 отображает. Может библиотека старая, но новее версию не дает поставить, ошибки. Мультиинформер
 

asaitov

✩✩✩✩✩✩✩
16 Янв 2024
20
7
Похоже, список годов в виджете календаря зашит в библиотеке. Самый простой способ поправить - добавить строку в функции lvlg_create() файла multiinformer.ino, указав свой список годов:
multiinformer.ino:
void lvlg_create()
...
//Первый экран
  //Календарь
  calendar = lv_calendar_create(tab1);
  lv_calendar_header_dropdown_create(calendar);
  lv_calendar_header_dropdown_set_year_list(calendar, "2030\n2029\n2028\n2027\n2026\n2025\n2024\n2023\n2022\n2021\n2020\n2019\n2018\n2017\n2016\n2015\n2014\n2013\n2012\n2011\n2010\n2009\n2008\n2007\n2006\n2005\n2004\n2003\n2002\n2001");
  lv_obj_set_size(calendar, 185, 200);
  lv_obj_align(calendar, LV_ALIGN_LEFT_MID, 0, -10);
...
}
 

Пьеро

✩✩✩✩✩✩✩
30 Апр 2025
3
0
Похоже, список годов в виджете календаря зашит в библиотеке. Самый простой способ поправить - добавить строку в функции lvlg_create() файла multiinformer.ino, указав свой список годов:
multiinformer.ino:
void lvlg_create()
...
//Первый экран
  //Календарь
  calendar = lv_calendar_create(tab1);
  lv_calendar_header_dropdown_create(calendar);
  lv_calendar_header_dropdown_set_year_list(calendar, "2030\n2029\n2028\n2027\n2026\n2025\n2024\n2023\n2022\n2021\n2020\n2019\n2018\n2017\n2016\n2015\n2014\n2013\n2012\n2011\n2010\n2009\n2008\n2007\n2006\n2005\n2004\n2003\n2002\n2001");
  lv_obj_set_size(calendar, 185, 200);
  lv_obj_align(calendar, LV_ALIGN_LEFT_MID, 0, -10);
...
}
Ошибку дает
D:\Githab repository\Multiinformer\Multiinformer\Multiinformer\Multiinformer.ino: In function 'void lvlg_create()':
D:\Githab repository\Multiinformer\Multiinformer\Multiinformer\Multiinformer.ino:992:3: error: 'lv_calendar_header_dropdown_set_year_list' was not declared in this scope
lv_calendar_header_dropdown_set_year_list(calendar, "2030\n2029\n2028\n2027\n2026\n2025\n2024\n2023\n2022\n2021\n2020\n2019\n2018\n2017\n2016\n2015\n2014\n2013\n2012\n2011\n2010\n2009\n2008\n2007\n2006\n2005\n2004\n2003\n2002\n2001");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\Githab repository\Multiinformer\Multiinformer\Multiinformer\Multiinformer.ino:992:3: note: suggested alternative: 'lv_calendar_header_dropdown_create'
lv_calendar_header_dropdown_set_year_list(calendar, "2030\n2029\n2028\n2027\n2026\n2025\n2024\n2023\n2022\n2021\n2020\n2019\n2018\n2017\n2016\n2015\n2014\n2013\n2012\n2011\n2010\n2009\n2008\n2007\n2006\n2005\n2004\n2003\n2002\n2001");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lv_calendar_header_dropdown_create
exit status 1

Compilation error: 'lv_calendar_header_dropdown_set_year_list' was not declared in this scope
 

asaitov

✩✩✩✩✩✩✩
16 Янв 2024
20
7
Значит в вашей версии библиотеки lvgl еще нет этой функици. Тогда есть два варианта:
1. Попробовать обновить библиотеку до версии 8.3.11 и добавить строчку, про которую писал выше.
2. Не добавлять строчку, а поправить список годов в файле src/extra/widgets/calendar/lv_calendar_header_dropdown.c уже установленной у вас библиотеки (скорее всего, нужно будет перезапустить Arduino IDE, чтобы изменения подхватились).
lv_calendar_header_dropdown.c:
...
static const char * year_list = {
    "2030\n2029\n2028\n2027\n2026\n2025\n2024\n2023\n2022\n2021\n2020\n2019\n2018\n2017\n2016\n2015\n2014\n2013\n2012\n2011\n2010\n2009\n2008\n2007\n2006\n2005\n2004\n2003\n2002\n2001"
//    "2023\n2022\n2021\n"
//    "2020\n2019\n2018\n2017\n2016\n2015\n2014\n2013\n2012\n2011\n2010\n2009\n2008\n2007\n2006\n2005\n2004\n2003\n2002\n2001\n"
//    "2000\n1999\n1998\n1997\n1996\n1995\n1994\n1993\n1992\n1991\n1990\n1989\n1988\n1987\n1986\n1985\n1984\n1983\n1982\n1981\n"
//    "1980\n1979\n1978\n1977\n1976\n1975\n1974\n1973\n1972\n1971\n1970\n1969\n1968\n1967\n1966\n1965\n1964\n1963\n1962\n1961\n"
//    "1960\n1959\n1958\n1957\n1956\n1955\n1954\n1953\n1952\n1951\n1950\n1949\n1948\n1947\n1946\n1945\n1944\n1943\n1942\n1941\n"
//    "1940\n1939\n1938\n1937\n1936\n1935\n1934\n1933\n1932\n1931\n1930\n1929\n1928\n1927\n1926\n1925\n1924\n1923\n1922\n1921\n"
//    "1920\n1919\n1918\n1917\n1916\n1915\n1914\n1913\n1912\n1911\n1910\n1909\n1908\n1907\n1906\n1905\n1904\n1903\n1902\n1901"
};
...