Jakiś czas temu zabrałem się za stworzenie programu z wykorzystaniem MK Menu. W czasie programowania okazało się, że w kółko testuję te same schematy i za każdym razem trzeba odrywać ręce od klawiatury i pochylić nad zestawem startowym choćby po to, zeby pomanipulować enkoderem. Z pomocą przyszła prosta aplikacja napisana z użyciem Qt. Program ma dosłownie kilka przycisków, które umożliwiają wysyłanie wcześniej zdefiniowanych komend po UART do mikrokontrolera.
Poniżej krótka - 3 minutowa prezentacja.
Przykładowy kod do interpretacji komend wysyłanych ao UART z użyciem biblioteki MK_MULTI_UART
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Z użyciem kmComTester mamy możliwość stworzenia sekwencji komend, pomiędzy którymi można umieścić pauzy za pomocną wyrażonych w milisekundach liczb.
Przykład sekwencji H100RR500LD oznacza - wyślij komendę zdefiniowaną pod literą H (domyślnie AT+HID, która odpowiada za schowanie MK Menu), potem odczekaj 100ms następnie wyślij komendę R dwukrotnie, odczekaj 500ms następnie wyślij komendę L oraz D Komenda R została zdefiniowana w taki sposób, aby wejść jeden poziom niżej w menu, komenda L tak, żeby wyjść jeden poziom wyżej, a komenda D to Decrement, czyli przejście do następnej linijki menu.
Nooo panie, teraz to poleciałeś po bandzie ! ... aż miło się patrzy - szaleństwo jak to MENU się steruje tymi komendami AT - COŚ pięknego ! I to jest właśnie mega wykorzystanie możliwości gdy się potrafi programować na PC i do tego na prockach Chulaj dusza - cyfrowego piekła nie ma!
GRATULACJE - świetny i bardzo inspirujący projekt! (aż wrzuciłem na główną stronę portalu forum ale też na nasz profil Facebook'a) bo już dawno nie było tak fajnego projektu na naszym forum
Cóż można powiedzieć. To jest bardzo genialny pomysł, świetnie rozwiązanie wpomagające testowanie. GRATULACJE I jak to bywa, poprawnie napisana aplikacja pod frameworkiem QT jest multiplatformowa, co się ceni.
Skompilowana i uruchomiona natywnie aplikacja pod linux mint:
Jedna bardzo ważna uwaga. Jeżeli już piszesz, to bardzo dużą uwagę przywiązuj do wielkości liter w nazwach inkludowanych plików. To, że koci windows ma to głęboko w d...e, nie znaczy, że tak można bezkarnie robić.
Chodzi o nazwę inkludowanego pliku w main.cpp. KMComTester.h. Nie jest to ta sama nazwa, którą ma plik mkComTester.h. To są różne nazwy plików. Po wprowadzeniu poprawki kompilacja przebega poprawnie.
[...] Jedna bardzo ważna uwaga. Jeżeli już piszesz, to bardzo dużą uwagę przywiązuj do wielkości liter w nazwach inkludowanych plików. To, że koci windows ma to głęboko w d...e, nie znaczy, że tak można bezkarnie robić.
Chodzi o nazwę inkludowanego pliku w main.cpp. KMComTester.h. Nie jest to ta sama nazwa, którą ma plik mkComTester.h. To są różne nazwy plików. Po wprowadzeniu poprawki kompilacja przebega poprawnie.
Tak... wiem, wiem :-) Qt Creator coś zdziczał mi przy generowaniu nowego projektu, stąd to zamieszanie z wielkością liter. W innych miejscach poprawiłem ręcznie, a to jedno mi umknęło. Dzięki za zwrócenie uwagi :-) Dobrze, że ktoś z linuxem przejrzał :-)
Jest jeszcze jedna uwaga - jeśli sekwencja jest zbyt długa - łatwo jest przepełnić bufor UART po stronie MCU. W takim wypadku warto pamiętać o dodawaniu odpowiednich pauz między komendami.
A na serio, to wszystko zależy co się chce zrobić. Akurat zawsze używałem do Qt - Visual Studio i chciałem mieć wspólny projekt dla obydwu środowisk. Dlatego trochę się namieszało, ale już powinno być naprawione
Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości
Nie możesz rozpoczynać nowych wątków Nie możesz odpowiadać w wątkach Nie możesz edytować swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników