Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 16:10


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 29 lut 2020, o 19:28 
Offline
Użytkownik

Dołączył(a): 09 lip 2019
Posty: 106
Pomógł: 10

Aplikacja w QT + AVR + MK MENU + Komenty AT
Obrazek


Cześć wszystkim :-)

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
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Oczywiście funkcję parse_uart0 trzeba odpowiednio zarejestrować w MULTI UART
Składnia: [ Pobierz ] [ Ukryj ]
język c
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.

Kod źródłowy aplikacji znajduje się pod adresem:
https://github.com/k-moskwa/kmComTester

A z tego miejsca można ściągnąć ostatnią skompilowaną wersję
https://github.com/k-moskwa/kmComTester/raw/develop/dist/kmComTester-20200228.zip
(ponieważ program zapisuje plik .ini, to lepiej nie umieszczać go w katalogu Program Files ani innym systemowym, chyba, że mamy zamiar uruchamiać go z uprawnieniami Administratora)

Mam nadzieję, że komuś się przyda :-)
Pozdrowienia,
-krzysiek-



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2020, o 21:03 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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 ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2020, o 21:21 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

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:
Obrazek

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.

_________________
Pozdrawiam,
sq8mvy, Paweł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2020, o 21:46 
Offline
Użytkownik

Dołączył(a): 09 lip 2019
Posty: 106
Pomógł: 10

Super... cieszę się, że się spodobało :-)

gizmo5418 napisał(a):
[...]
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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2021, o 11:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 lis 2019
Posty: 147
Pomógł: 37

gizmo5418 napisał(a):
dużą uwagę przywiązuj do wielkości liter w nazwach inkludowanych plików.

moscow napisał(a):
Qt Creator coś zdziczał

Myślę, że tworzenie nazw plików oraz wstawianie nazw w inkludach lepiej zostawić QtCreatorowi.

_________________
Think for yourself and question authority.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2021, o 14:24 
Offline
Użytkownik

Dołączył(a): 09 lip 2019
Posty: 106
Pomógł: 10

Spoko dostałem dyspensę od autora QtCreatora ;-)

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 :-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO