Arek, sterownik zapisuje kilkaset parametrów co chwilę trwa. Przypadkowe zakłócenie po zasilaniu może spowodować zapis błędnej wartości do konfiguracji sterownika. Ze względu na oszczędność kodu każdy parametr nie jest sprawdzany na dozwolony zakres zmian, zakładam że wszystkie parametry są poprawne. Pojawienie się wartości poza dopuszczalnym zakresem w niektórych fragmentach kodu może powodować właśnie takie efekty jak miałeś na twoim wyświetlaczu. Wtedy funkcja "nastawy fabryczne leczy" problem poprawności konfiguracji.
Komunikaty CW
W ostatniej wersji oprogramowania sterownika komunikaty CW zostały przeniesione z segmentu kodu programu do pamięci EEPROM na module zegarka. Treść komunikatów jest odczytywana przy starcie sterownika. Pozwoli to na wgrywanie do pamięci 24C512 indywidualnej treści komunikatu wg. potrzeb operatora.
Lokalizacja komunikatów w pamięci 24C512:
Kod:
///////////////////////////////////////////////////////////////////////////////////////////////////
//obsluga pamieci szeregowej 24C512
///////////////////////////////////////////////////////////////////////////////////////////////////
// 512 stron po 128 bajtow
#define AT24C512_ADDR 0xA0 //adres pamieci 24C512
//komunikaty CW
#define AT24_msg_1 0x0000 //komunikat 1
#define AT24_msg_2 0x0080 //komunikat 2
#define AT24_msg_3 0x0100 //komunikat 3
#define AT24_msg_4 0x0180 //komunikat 4
#define AT24_msg_5 0x0200 //komunikat 5
#define AT24_msg_6 0x0280 //komunikat 6
#define AT24_msg_7 0x0300 //komunikat 7
Jeden komunikat może mieć do 127 znaków ASCII + bajt 0xFF jako zakończenie komunikatu. Numer komunikatu odpowiada numerowi klawisza w menu komunikatów CW.
Obsługa sterowania radiem poprzez CAT-a
Obecna wersja oprogramowania ma zaimplementowaną obsługę CAT-a w standardzie Kenwooda.
Typ radia: Kenwood-all lub TS2000
Transmisja: 9600Bd, 8, 1, N
Złącze CAT-a RS485 poziomy 3,3V
Soft aktualnie obsługuje 27 komend (wykaz w załączniku)
Oprogramowanie obsługuje ramki z kilkoma komendami bez gubienia komend np. (FA00014070640;MD0;IF;FA)
Obecnie oprogramowanie współpracuje z Loggerem32 (ramki IF) oraz z logiem UR5EQF poprzez OmniRig (komendy: FA, FB, IF, MD, PT).
W obsłudze CAT-a dodałem dodatkowy rozkaz
[MM morse message] nie występujący w specyfikacji kenwooda do wgrywania indywidualnych komunikatów CW.
Z terminala komputera wprowadzamy ramkę:
MM1CQ CQ CQ DE SP5FCS SP5FCS SP5FCS K;
Powyższa ramka spowoduje zapisanie do pamięci 24C512 komunikatu numer 1 o treści zawartej pomiędzy numerem komunikatu [1] a znakiem końca ramki [;]. W ten sam sposób możemy zaprogramować 7 indywidualnych komunikatów wywoływanych klawiszami z menu sterownika. W dowolnym momencie możemy również przeprogramować każdy komunikat nową treścią.
Ramka:
MM1; spowoduje uruchomienie nadawania radia i nadanie zaprogramowanego komunikatu CW o numerze 1.
Ramka:
MM0 QRZ QRZ DE SP5FCS; pozwala na nadawanie dowolnych łańcuchów znaków wprowadzanych z klawiatury komputera bez zapisywania ich w pamięci EEPROM. Nadawanie rozpoczyna się po wykryciu znaku końca łańcucha znaków [;]. Powyższa opcja pozwala na pracę emisją CW bezpośrednio z terminala komputera bez wykorzystywania dodatkowych programów z makrami.
Zaletą tego rozwiązania jest to, że wszystko odbywa się poprzez ten sam interfejs poprzez który obsługiwany jest CAT i w żaden sposób nie koliduje to ze standardem kenwooda.