меню для лсд 2004

MacSim
Offline
Зарегистрирован: 28.11.2012

Подскажите, пожалуйста, есть ли библиотека для создания меню.

Использовал менюсистем. В ней на экран выводится только текущая строка меню и предыдущая родительская. остальных веток не видно.для экрана 1602 самое оно, больше не вывести.

но на экране 2004 не смотрится.

много чего непонятного написал.  меню инетерсует как на 3 д принтере:

https://www.youtube.com/watch?feature=player_embedded&v=FaFHvDMk9VU

для наглядности.

подскажите, плиз, может библиотека такая есть?

MacSim
Offline
Зарегистрирован: 28.11.2012

https://github.com/jonblack/menusystem

вот библиотека меню которую использовал.

Кстати русифицировал. +и2с лсд 1602

void displayMenu() {
  lcd.clear();
  lcd.setCursor(0,0);
  // Display the menu
   Menu const* cp_menu = ms.get_current_menu();
  lcd.print(cp_menu->get_name());
  lcd.setCursor(3,1);
  lcd.print(cp_menu->get_selected()->get_name());
}

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

но и предидущего и последующего?

yul-i-an
yul-i-an аватар
Offline
Зарегистрирован: 10.12.2012
karl2233
Offline
Зарегистрирован: 05.07.2015

yul-i-an, спасибо! очень доходчиво.

MacSim
Offline
Зарегистрирован: 28.11.2012

благодарю, пошел изучать

MacSim
Offline
Зарегистрирован: 28.11.2012

благодаря вашим ответам (каждый пункт - число) разобрался с библиотекой меню систем. теперь меню не только на русском через и2с, но еще и более читаемое.

получилось даже со стрелкой напротив выбранного пунка.

Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

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

MacSim
Offline
Зарегистрирован: 28.11.2012

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

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

В лсд и2с русскую ввел дополнительные символы - часов и градусов цельсия, планирую облегчить выкинув мелкие буквы, совпадений больших с инглишем больше. учитывая, что русских одновременно на экране только 8 одновременно, а экран 20х04=80 знакомест это затрудняет его использование.(русского в нем нет, экран китайский дешево, но измудрятся приходится)