ATNEL tech-forum
https://forum.atnel.pl/

kmComTester, czyli testowania aplikacji za pomocą komend AT
https://forum.atnel.pl/topic22904.html
Strona 1 z 1

Autor:  moscow [ 29 lut 2020, o 19:28 ]
Tytuł:  kmComTester, czyli testowania aplikacji za pomocą komend AT

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-

Autor:  mirekk36 [ 29 lut 2020, o 21:03 ]
Tytuł:  Re: kmComTester, czyli testowania aplikacji za pomocą komend

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

Autor:  gizmo5418 [ 29 lut 2020, o 21:21 ]
Tytuł:  Re: kmComTester, czyli testowania aplikacji za pomocą komend

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.

Autor:  moscow [ 29 lut 2020, o 21:46 ]
Tytuł:  Re: kmComTester, czyli testowania aplikacji za pomocą komend

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.

Autor:  fofex [ 31 mar 2021, o 11:57 ]
Tytuł:  Re: kmComTester, czyli testowania aplikacji za pomocą komend

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.

Autor:  moscow [ 31 mar 2021, o 14:24 ]
Tytuł:  Re: kmComTester, czyli testowania aplikacji za pomocą komend

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

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/