Witam. Chciałbym przedstawić mój projekt Salamandra. Główna idea programu Salamandra to umożliwienie szybkiego skonfigurowania panelu współpracującego z mikrokontrolerem. Może to być fajna alternatywa dla terminala jeśli pragniemy pokazać na ekranie PC dane pochodzące z naszego procesorka np. ADC, temperaturę, stany logiczne. Program umożliwia również komunikację w drugą stronę tzn ustawianie/kasowanie bitów w portach poprzez kliknięcie myszką w odpowiedni bottom lub ustawianie wartości analogowych. Cały panel składa się z różnych elementów, które można dodawać w miarę potrzeby. Każdy z elementów można umieścić na panelu w dowolnym miejscu, przeciągając go myszką. Każdy z elementów posiada szereg ustawień dotyczących jego wyglądu np. szerokości, wysokości, zakresu wyświetlania danych itd. Każdy element posiada swój ustawialny adres. Program jest darmowy i do pobrania ze strony Skonfigurowanie takiego panelu jak poniżej trwa kilka minut.
Instalacja Po pobraniu program instaluje się w standardowy sposób z udziałem instalatora. Zaleca się przed tym odinstalowanie poprzedniej instalacji. Program domyślnie instaluje się w „c:\Programfiles\Salamandra”. Instalator tworzy w „moich dokumentach” katalog Salamandra, który służy do przechowywania danych konfiguracyjnych. Prawidłowe działanie programu wymaga zainstalowanie Java JRE 1.7 Program po uruchomieniu sprawdza czy na serwerze pojawiła się nowa wersja - jeśli tak to użytkownik zostaje powiadomiony odpowiednim komunikatem.
Konfiguracja programu.
Z menu "Narzędzia" wybieramy "Konfiguracja". Zostanie otwarte okno pustego panelu Teraz z listy elementów wybieramy to co nas interesuje i klikamy "dodaj". Za pomocą myszki ustawiamy element na naszym panelu. Jednocześnie w lewym oknie pojawia się moduł konfiguracji dodanego elementu.
Charakterystyka elementów
Termometr Element pokazuje dane w formie termometru słupkowego. W tym elemencie można ustawić wartość minimalną oraz maksymalną. Jest to zakres mierzonych wartości. Przykład ramki ustawiającej wartość 21.5 w elemencie o adresie 22(dec). LF 0 0 1 6 4 2 1 . 5 CR 0A 30 30 31 36 34 32 31 2E 35 0D
Miernik analogowy Element naśladujący miernik analogowy. W elemencie możemy ustawić zakres mierzonych wartości oraz rozmiar. Przykład ramki ustawiającej wartość 15.3 w elemencie o adresie 1234(hex). LF 1 2 3 4 4 1 5 . 3 CR 0A 31 32 33 34 34 31 35 2E 33 0D
Licznik Element zliczający zdarzenia. Istnieje możliwość ustawienia liczby cyfr oraz rozmiar graficzny elementu. Licznik umożliwia zwiększanie o wartość różną od jeden. Informacja o ile ma zwiększyć się wartość jest zawarta w ramce danych. Podczas pracy programu jest możliwość ustawienia początkowej wartości licznika, wartości alarmowej oraz zresetowanie do wartości zerowej. Licznik po osiągnięciu wartości alarmowej sygnalizuje to dźwiękiem. Obecnie dźwięk można zmienić podmieniając plik emergency008.wav. Przykład ramki zwiększającej licznik z adresem 3(dec) o 5; LF 0 0 0 3 1 5 CR 0A 30 30 30 33 31 35 0D
Element LED Element służy do przedstawienia sygnałów binarnych. Można skonfigurować liczbę sygnałów binarnych w zakresie 1 do 8 oraz szerokość i wysokość elementu. Wysokość ustawiamy poprzez regulację wielkości czcionki etykiet opisujących sygnały. Stany led odpowiadają poszczególnym bitom w słowie danych. Aby zapalić wszystkie diody należy przesłać wartość FF a aby wygasić wartość 00. Ramka zapalająca pierwsze 4 led w elemencie o adresie 32(dec) LF 0 0 2 0 2 0 F CR 0A 30 30 32 30 32 30 46 0D
Etykieta tekstowa. Element tekstowy służy do opisywania. Elementy te leżą w warstwie ponad wszystkimi elementami więc mogą być usytuowane na obszarze innych elementów. Jest możliwość ustawienia szerokości, wysokości, rozmiaru czcionki, koloru składników, oraz przeźroczystości. Element ten również może być ustawiany poprzez nadchodzące ramki. Przykład ramki ustawiającej wartość „Volt” w elemencie o adresie 1. LF 0 0 0 1 4 V o l t CR 0A 30 30 30 31 34 56 6F 6C 74 0D Element ten choć niepozorny daje dużo możliwości dzięki temu że można zmieniać tekst z poziomu mikrokontrolera. Można za jego pomocą wyświetlać również wartości mierzonych parametrów tak jak na poniższym filmie.
Element przełączników. Element służy do zmiany stanów binarnych. Można skonfigurować wysokość, szerokość oraz liczbę kluczy w zakresie 1 do 8. Dane reprezentują bajt którego bity odpowiadają stanowi poszczególnych bitów. Przykład ramki wygenerowanej po ustawieniu wszystkich kluczy na ON LF 0 0 2 0 2 F F CR 0A 30 30 32 30 32 46 46 0D
Element Slider Element służy do ustawiania wartości analogowych. Można skonfigurować szerokość, wysokość, oraz zakres ustawianych wartości. Podczas pracy nową wartość można ustawić za pomocą suwaka lub wpisując wartość w pole tekstowe i zatwierdzając „Enter” . Ramka wygenerowana po ustawieniu wartości 68(dec) z adresem 5. LF 0 0 0 5 2 4 4 CR 0A 30 30 30 35 32 34 34 0D
Ustawienia portu szeregowego. W menu "Narzędzia" wybrać "opcje". Z listy dostępnych portów należy wybrać ten, do którego podłączony jest moduł mikrokontrolera. Program rozpoznaje również porty poprzez USB. Szybkość transmisji musi być zgodna z szybkością transmisji ustawioną w mikrokontrolerze. Ustawienia będą obowiązywać po ponownym uruchomieniu programu.
Film pokazujący przykładową konfigurację
A tutaj prosty przykład programu na ATMEGA8. Dostępny w załączniku. Jest to projekt zrobiony w atmelstudio 6.0 ale uruchomienie pod eclipse nie powinno być problemów. Uwaga jeśli ktoś używa Codevision to funkcja ftoa jet już tam w stdlib.
Program jest co na razie w wersji RC więc do wydania stabilnej wersji 1.00 pewne funkcjonalności mogą się zmienić. Co jakiś czas będą pojawiać się nowe elementy które można będzie dodawać do panelu.
Załączniki:
Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.
Ostatnio edytowano 25 sie 2013, o 17:06 przez ekrzychoooo, łącznie edytowano 2 razy
Bardzo fajny projekt - ja także od zawsze mam w planach zrobienie czegoś podobnego ... ale uprzedziłeś mnie ... na prawdę fajnie graficznie dopracowane.
nie wiem co jest ale po instalacji salamandry zamiast niej uruchamia mi się Nokia Suite.
Teraz pobrałem salamandrę i zainstalowałem na czystej vista, i jest ok. Napisz jaki system? Robisz tak jak na filmiku powyżej "przykładowa konfiguracja" ? Powinieneś mieć w menu_start --> programy --> salamandra --> salamandra
Mój system to win7 sp1 64 bit. Od dawna Nokie Suite zainstalowana. Po instalacji salamandry pojawia się w menu start jak piszesz. Jednak klikniecie jej uruchamia Nokie Suite. Wiec odinstalowałem salamandrę. Pobrałem jeszcze raz plik instalacyjny i nie instalowałem a wydobyłem z niego katalog 13230423 i w nim uruchomiam Salamadra.jar i ponownie uruchamia się Nokia Suite.
@OdeOn Hmm, na ten moment nie mam pomysłu dlaczego tak się dzieje u Ciebie. Ta wersja instalacyjna jest na 32bit (mimo że to java to wykorzystuje pliki dll które są 32bit), ale nie tłumaczy to chyba uruchamiania Noki. Spróbuj odpalić program wprost z katalogu ProgramFiles/Salamandra. uruchomienie pojedynczego pliku salamandra.jar nic nie da, muszą być pozostałe. Jutro będę miał dostęp do win7 64bit to posprawdzam. Niebawem będzie do pobrania instalka na 64btowce. Pozdrawiam.
Do tej pory po konfiguracji panelu aby zobaczyć efekty należało ponownie uruchomić program. Zdawałem sobie sprawę że może jest to trochę irytujące. Ale jest nowa wersja SalamandraRCf gdzie mamy dostępny przycisk przeładowujący program automatycznie. Również po zmianie ustawień portu szeregowego już nie trzeba ponownie uruchamiać programu.
Witam. Trwają prace nad zmianą struktury ramki. W najbliższym czasie pojawi się wersja gdzie w ramce będzie można oprócz konkretnej wartości przesłać wyrażenie regularne . Salamandra dokona konwersji według przesłanego wyrażenia. Dzięki temu w mikrokontrolerze nie musimy nic przetwarzać. pRzesylamy wprost wartość z ADC. np. [LF] [TYP RAMKI] [ADRES] [ICZBA DANYCH] [REG EX MATH] [PRECYZJA] [DATA] [CR]
REG EX MATH moze wyglądać następująco [5*x/1024]. wyrażenie będzie mogło zawierać sinus, cosinus, tangens cotangens pierwiastek ln log itd.. itd.. PRECYZJA to ilość miejsc po przecinku DATA to dana 16bit (dwa bajty w kodzie naturalnym)
Myślę że to przyniesie bardzo skrócenie zajętości pamięci flash w procku. Byle ATTINY + Salamandra i już mierzymy.
Myślę że w ciągu tygodnia będzie do pobrania.
Program ma pewien feler. Podczas edycji parametrów elementu, po wprowadzeniu adresu trzeba zaakceptować "Enter", przejście do następnego parametru poprzez "tab" nie zapamiętuje adresu. Jutro będzie już do pobrania bez tego feleru. Ci którzy mają wersje od RCd to program sam zgłosi że jest nowa wersja.
Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość
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