Size: a a a

2021 April 26

RC

Roman Clor in Embedded Group
а если вынести то будут мега макароны switch
источник

AM

Aleksander Mironov in Embedded Group
Что вы под логикой работы имеете ввиду?
источник

AM

Aleksander Mironov in Embedded Group
Логика того что делает кропка на странице или как эта кнопка мигает?
источник

RC

Roman Clor in Embedded Group
ну вот скажем просмотр архива показаний
источник

RC

Roman Clor in Embedded Group
надо построить список всех записей и как то его прокручивать так
источник

RC

Roman Clor in Embedded Group
а в нем  собственно сами записи как 2 слой меню они отображают данные и могут содержать несколько экранов текста.
источник

r

romanetz in Embedded Group
а почему на классах это не сделать?
источник

RC

Roman Clor in Embedded Group
и да обработчик ввода тоже может быть свой от страницы к странице.
источник

RC

Roman Clor in Embedded Group
потому что я дурачек и взял си(
источник

AM

Aleksander Mironov in Embedded Group
Ну это дикий замес разных ответственностей в одном.
источник

r

romanetz in Embedded Group
компилятор - gcc?
источник

RC

Roman Clor in Embedded Group
gcc c11
источник

AM

Aleksander Mironov in Embedded Group
Вы пишите либу дисплея, где все ввиды ввода и отображения.
источник

r

romanetz in Embedded Group
ну так gcc и в плюсы умеет, можно миксовать смело
источник

RC

Roman Clor in Embedded Group
нет, это только меню.
источник

RC

Roman Clor in Embedded Group
надо этот cubeide перенастраивать, там запара
источник

ED

Electronics Designer in Embedded Group
Я делал меню так:

#define ITEM_TYPE_ACTION            1
#define ITEM_TYPE_START_PROCESS     2
#define ITEM_TYPE_MENU              3
#define ITEM_TYPE_LIST_END          0

typedef struct {

   const uint8_t item_string_name[ITEM_NAME_MAX_LENGTH];
   const uint8_t item_type;
   const void *item_ptr;

} menu_item_t;


item_ptr может указывать либо на функцию-обработчик (ITEM_TYPE_ACTION), которая выполняет однократное действие (скажем, просмотр того же списка записей), ее движок меню вызовет в своем же процессе (дело происходит под FreeRTOS), либо указатель на функцию, которую надо запустить как процесс (ITEM_TYPE_START_PROCESS), либо указатель на подменю (ITEM_TYPE_MENU), и тогда движок подгружает ветку меню по этому указателю, ну и есть служебный тип - конец ветки меню (ITEM_TYPE_LIST_END).
источник

RC

Roman Clor in Embedded Group
источник

r

romanetz in Embedded Group
источник

AM

Aleksander Mironov in Embedded Group
Это не меняет сути.
Пишите либу преобразования отображаемых данных под либу дисплея.
А страницв у вас в идеале должны быть просто описаниес чего там.
источник