![]() |
|
Monitor ramek APRS - Wersja do druku +- Forum HomeMade (https://sp-hm.pl) +-- Dział: Forum Praktyczno-Techniczne HomeMade (https://sp-hm.pl/forumdisplay.php?fid=3) +--- Dział: Projekty Grupy HomeMade (https://sp-hm.pl/forumdisplay.php?fid=37) +--- Wątek: Monitor ramek APRS (/showthread.php?tid=269) Strony:
1
2
|
Monitor ramek APRS - SQ9MDD - 09-08-2010 Witam, po miesiącach obijania się w temacie hobby (praca mnie zaabsorbowała), postanowiłem powalczyć z programowaniem AVR-ów w Bascomie. To moje pierwsze podejście do programowania AVR, napisałem monitor ramek do ARPS. Urządzenie ma za zadanie wyświetlać na panelu lcd 20x4 ramki które wyrzuca MiniTNC za pomocą łącza szeregowego. Jako środowisko testowe użyłem kitu AVT 3500 i procesora 2313. Oczywiście 2kb miejsca na procesorze i kod w baskomie to straszna bieda. Ale na początek wystarcza. Może koledzy podzielą się jakimiś ciekawymi programami (własnego autorstwa). Gdzie na przykładzie będzie można się czegoś nauczyć. Środowisko testowe na zdjęciu. A tutaj kod. Kod: ' SQ9MDD <rlabus@luxmat.com> 2010RE: Bascom - SP5FCS - 09-08-2010 Ryszard, ciekawa konstrukcja, może udałoby się wspólnymi siłami ją rozwijać, narysować schemat, płytkę drukowaną no i oczywiście soft. Kilku kolegów programuje w Bascomie i zapewne chętnie podzielą się swoim doświadczeniem. Gdyby byli chętni do pracy zespołowej można by zbudować własny moduł trakera z wieloma ciekawymi funkcjami np obsługą ramek stacji meteo. Wszystko zależy od zainteresowania projektem i chęci do współpracy. Przy okazji mielibyśmy praktyczny kurs programowania w Bascomie. RE: Bascom - HM_DIPOL - 10-08-2010 Koledzy a może by tak napisać to oprogramowanie w C na AVR. Wiem, że Bascom jest popularny, jest pełno funkcji do obsługi "prawie wszystkiego" ale podobno ma też sporo wad i ogramiczeń. Dodatkową zaletą jest to, że C jest za free a za Bascoma trzeba płacić bo wersja demo to raczej do zabawy. RE: Bascom - SQ9MDD - 10-08-2010 Myślę że i na C przyjdzie czas tym bardziej że C jest mi lepiej znane. Natomiast na początek by poznać budowę procesora i złapać o co tam chodzi, to bascom jest wystarczający. Minusem jest niewątpliwie mało oszczędny kod wynikowy. Czy z tego urodzi się projekt? zobaczymy... Wracając do tematu monitora aprs, urządzenie to podstawowa aplikacja procesora AT90S2313 lub ATTiny2313, składająca się z jednego portu szeregowego plus obsługę wyświetlacza. Dzisiaj przepisałem cały kod od nowa. Zamiast ośmiu zmiennych do przechowywania znaków stacji i typów trakerów. zastosowałem dwie zmienne tablicowe i pętle do wyświetlania ich zawartości. Poniżej kod: Kod: ' SQ9MDD <rlabus@luxmat.com> 2010RE: Bascom - HM_DIPOL - 12-08-2010 Ryszard, wybacz ale nie rozumiem skąd kompilator wie na których pinach procka wisi LCD, czy to się ustawia w innym pliku czy w samym Bascomie. Sorry, nigdy nie pisałem w Bascomie a chciałem zrozumieć jak działa ten program. Druga prośba to zamieść proszę w programie przykładową ramkę jaka wchodzi na kanał szeregowy procesora, znając format ramki łatwiej analizować kod programu. RE: Bascom - SQ9MDD - 12-08-2010 Tak to moje niedopatrzenie, przepraszam, nie ma tego w kodzie ale jest w ustawieniach kompilatora środowiska Bascom-AVR oczywiście te opcje można też ustawić w kodzie programu. W helpie piszą tak (to tylko przykład) : Kod: Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6Poniżej przykładowe ramki które generuje MiniTNC: Kod: SQ9MDD-7>URQU03,WIDE1-1,WIDE2-2,NOGATE :`0SXl [/`op.Rysiek _RE: Bascom - SQ6ADE - 12-08-2010 Jednak polecam ASM. W 2kB pozwala na bardzo wiele - a i proca poznaje się do kości. Tak - wymaga nieco więcej niż CTRL+C / CTRL+V
RE: Bascom - SQ6ADE - 13-08-2010 No jasne ![]() Napisz czy masz już wizję jak co ma wyglądać na LCD - jakie dane będą prezentowane itd. Z tych wpisów widzę że znak stacji i rodzaj urządzenia z którego pochodzi pakiet. RE: Bascom - HM_DIPOL - 13-08-2010 Ryszard dzięki za ramki i sposób konfiguracji LCD, teraz wszystko jest jasne. Nigdy nie przepadałem za Basic-iem ale łatwość robienia prostych projektów oraz oszczędność czasu na pisanie własnych funkcji jest jego wielką zaletą. Stosowanie asseblera wymaga większego doświadczenia, lepszej znajomości procesora oraz posiadania własnych procedur do obsługi urządzeń. Na wyświetlaczu 4x20 znaków zmieści się dość dużo informacji, trzeba tylko dodać kilka klawiszy sterujących i zmieniać rodzaj wyświetlanej informacji np. wybieramy znak stacji, naciskamy [KEY-info] i mamy na LCD wszystkie dane o stacji: znak, termin ostatniej ramki, położenie, itd. Większy problem aby dobrze znać co "siedzi w tych ramkach" i zaproponować ciekawy interfejs pokazywania tej treści. RE: Bascom - SQ9MDD - 13-08-2010 No właśnie o tę łatwość chyba chodzi bo tutaj naprawdę można szybko zrobić użyteczne urządzenie. Co do ramek APRS , same jako takie są mało interesujące (i kiepsko się mieszczą na lcd-ku 4x20). Dopiero ich analiza i wyświetlanie informacji było by Ciekawe. Przydatna jest lista stacji, z czasem wysyłania ramek i ew jakaś informacja o typie stacji (mobilna, stała, obiekt). Jak najbardziej interesujące są szczegóły każdej z tych stacji. Czyli wybieramy stacje z listy i pobieramy dodatkowe informacje, czyli Znak, ikona, typ stacji, lokator odległość od naszej pozycji i kurs, pole komentarza. Ostatnia funkcjonalność to wyświetlanie ramek w czasie rzeczywistym, czasami się przydaje podczas uruchamiania digi czy analizy problemów z siecią. Oczywiście to wykracza już poza możliwości 2313 (jeśli piszemy w Bascomie). Przy okazji piszę prosty sterownik przemiennika pod ATTiny2313, jeśli ktoś jest zainteresowany to wkleję tutaj kod źródłowy... I zachęcam kolegów pokażcie co napisaliście i wyjaśnijcie jak i dlaczego. Ja bardzo chętnie się nauczę czegoś nowego. |