Siemka wszystkim. Jak wiecie lub nie, jestem zwolennikiem rozwiązań open-source dla rozwiązań niekomercyjnych i dlatego chciałbym się z Wami podzielić moim programem do tworzenia menu na AVR. Rozwiązanie opiera się na utworzeniu maszyny stanów, więc dobrze doczytać sobie tutorial zalinkowany w pliku readme. Następnie zabrać się za swój kod. Jak od razu zauważycie, każda zmiana w strukturze menu powoduje masakryczne zmiany w kodzie opisujących naszą maszynę. Dlatego zdecydowałem się wykodzić program, który wczyta sobie menu w łatwej do edytowania postaci .txt a następnie wygeneruje dwa pliki: menu.h i menu.cpp, gdzie będą wszystkie funkcje etc. użyte w menu.
# - na końcu lini (po znaku "\t") oznacza, że pozycja odwołuje się sama do siebie np. zmiana godziny, daty - wydajne rozwiązanie, w zalezności jaki przycisk naciśniemy, odwołujemy się do jednej funkcji, która zmienia wartość statycznie.
$ - na końcu lini (po znaku "\t") oznacza, że jest to pozycja końcowa, czyli wyrzucamy informacje dla użytkownika a następnie w callbacku robimy co trzeba i zmieniamy pozycję w ciele funkcji.
Jest to pierwsza wersja programu, kodzona na szybko(trzeba sprawdzić czy wszystko gra), jednakże kod się generuje:)
Kod można zmieniać, używać etc. w zakresie użytku niekomercyjnego. Pozdrawiam wszystkich!
https://github.com/FrancoCorleone/AVR-UTILSOczywiście czekam na feedback i w chwili wolnej spróbuję zoptymalizować kod i upiększyć;)