Корректировка библиотеки U8g2

han2001
Offline
Зарегистрирован: 09.01.2015

Здравствуйте.

В библиотеке U8g2 есть интересная команда для работы с меню в которой указываются железные кнопки для управления

u8g2.begin(/*Select=*/ 7, /*Right/Next=*/ A1, /*Left/Prev=*/ A2, /*Up=*/ A0, /*Down=*/ A3, /*Home/Cancel=*/ 8);

У меня вопрос, кто нибудь ковырял эту библиотеку в части возможности замены железных кнопок на определенные коды? Например вместо кнопок указать коды команд  ИК пульта.

Ну или может натолкнет на мысль как это сделать? 

sadman41
Offline
Зарегистрирован: 19.10.2016

Переписать пятую часть исходников - как такая мысль?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Эта библиотека сделана достаточно грамотно, поэтому такая замена возможна.

Вся работа с пинами спрятана и наружу торчит только функция u8x8_GetMenuEvent, которая выдаёт уже готовое событие. Она определена в файле u8x8_debounce.c, причём определена как weak, т.е. авторы предполагали, что кто-то захочет её заменить и предусмотрели это.

Но размер библиотеки таков, что замена в ней даже того, что предполагалось заменять, всё равно операция непростая. Если бы она была Вам по силам, не думаю, что Вы написали бы этот пост :-(

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

как обычно to screw someone over )))

han2001
Offline
Зарегистрирован: 09.01.2015

ЕвгенийП большое спасибо за наводку.

Благодаря вам наткнулся на ответы автора этой библиотеки. Оказывается многие люди уже неоднократно хотели применять этот код под свои нужды.

Буду изучать и разбираться. Получиться хорошо, не получиться буду писать по своему.

Остальным, которым лишь бы пукнуть, пока.

SAB
Offline
Зарегистрирован: 27.12.2016

Принимая на работу очередную бухгалтершу, всегда говорил, не пытайтесь править под себя 1С, каждый новый выходящий релиз делают профессионалы. Подстраивайте себя под программу. И когда наступало время ставить обновления программы, те кто слушал моего совета, без проблем проходили это действие. А те, кто  выделывался в конфигураторе, потом начинали кусать локти, восстанавливая большие куски базы. Это я к тому, что библиотеки править надо в том случае, если уж совсем всё плохо, и правка хоть как то спасёт. Но практика показывает, что в 99,9% искать надо либо обновленный релиз, или совсем другую библиотеку, но не править под себя. IMHO.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

SAB пишет:

Принимая на работу очередную бухгалтершу, всегда говорил, не пытайтесь править под себя 1С, каждый новый выходящий релиз делают профессионалы. Подстраивайте себя под программу. И когда наступало время ставить обновления программы, те кто слушал моего совета, без проблем проходили это действие. А те, кто  выделывался в конфигураторе, потом начинали кусать локти, восстанавливая большие куски базы. Это я к тому, что библиотеки править надо в том случае, если уж совсем всё плохо, и правка хоть как то спасёт. Но практика показывает, что в 99,9% искать надо либо обновленный релиз, или совсем другую библиотеку, но не править под себя. IMHO.

автор библиотеки о чём-то думал назначая именно эти пины под кнопки, тут я с Макаревичем (пусть этот мир прогнётся под нас) не согласен )))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

del

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ua6em пишет:

автор библиотеки о чём-то думал назначая именно эти пины под кнопки, тут я с Макаревичем (пусть этот мир прогнётся под нас) не согласен )))

Цитата переврана, что полностью искажает ее смысл.

В оригинале было слово "изменчивый", являющееся ключевым в данном контексте.

(другими словами, Макаревич явно различает ситуации когда "стоит" и когда "не стоит" прогибаться, а из приведенного обрезанного фрагмента вроде бы следует, что "никогда не стоит")

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

andriano пишет:

ua6em пишет:

автор библиотеки о чём-то думал назначая именно эти пины под кнопки, тут я с Макаревичем (пусть этот мир прогнётся под нас) не согласен )))

Цитата переврана, что полностью искажает ее смысл.

В оригинале было слово "изменчивый", являющееся ключевым в данном контексте.

(другими словами, Макаревич явно различает ситуации когда "стоит" и когда "не стоит" прогибаться, а из приведенного обрезанного фрагмента вроде бы следует, что "никогда не стоит")

видимо у нас разное понятие о его творчестве...да по правилам русского языка повторять второй раз слово изменчивый - моветон, то-есть дословно (по правилам русского языка) фраза звучит именно так|: "не стоит прогибаться под изменчивый мир пусть этот (изменчивый) мир прогнётся под нас"...и никак иначе ...ИМНО

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Ну я не возражаю против Вашего филологического разбора, значит, дело в чем-то другом.

Если Вы не согласны с Макаревичем (при том, что разбор Вы осуществили правильно), вероятно, Вы все-таки не так Макаревича понимаете: Не стоит прогибаться только под изменчивые обстоятельства. В то же время попытка "не прогнуться" под стабильные обстоятельства может закончиться разбитым лбом. Другими словами, следует сначала оценить внешние обстоятельства, а только потом решать, стоит ли "прогибаться под них" или не стоит.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

andriano пишет:

Ну я не возражаю против Вашего филологического разбора, значит, дело в чем-то другом.

Если Вы не согласны с Макаревичем (при том, что разбор Вы осуществили правильно), вероятно, Вы все-таки не так Макаревича понимаете: Не стоит прогибаться только под изменчивые обстоятельства. В то же время попытка "не прогнуться" под стабильные обстоятельства может закончиться разбитым лбом. Другими словами, следует сначала оценить внешние обстоятельства, а только потом решать, стоит ли "прогибаться под них" или не стоит.

уж как понимаю так понимаю )))