Wprawdzie napisałem to już nieco wyżej (tylko nieco) ale powtórzę, że zdecydowałem się na takie rozwiązanie z wersją zerową oprogramowania wyłącznie z braku miejsca w pamięci na program, nie chcąc redukować żadnej istniejącej funkcjonalności i traktuję to rozwiązanie jedynie doraźne aż czegoś bardziej sensownego nie wymyślę. Obecnie wskaźnik rozmiaru kodu programu po kompilacji wskazuje na 99% i nie daje się dopisać do kodu nawet najprostszego podstawienia bez przeładowania zakresu pamięci programu. Dlatego w wersji zerowej musiałem zablokować kilka poleceń aby ustawienie początkowe zmiennych było w ogóle możliwe.
Nie zapisuję do pamięci Eprom każdej zmiany częstotliwości a jedynie te częstotliwości, które użytkownik chce zapamiętać w jednej z czterech pamięci, nie ma więc problemu trwałości tej pamięci jak ktoś nieuważny mógłby przypuszczać.
Nie muszę też niczego zapamiętywać przy zaniku zasilania.
Biorąc to wszytko pod uwagę zgadzam się w całej rozciągłości z ogólnymi uwagami na temat dobrych zasad pisania oprogramowania oraz chwytów programowych przy inicjowaniu zmiennych oraz zapamiętywaniu ich w sytuacjach awaryjnych.
L.J.
Poprawiłem kod programu w sposób umożliwiający wstępne ustawienie zmiennych. Wykorzystałem do tego celu jeden z prawych klawiszy (skrajny lub drugi z prawej), który należy nacisnąć i przytrzymać podczas włączenia zasilania.
Zupełnie przypadkowo, zgadza się to z sugestią Krzysztofa sq6ade
To działanie ustawia częstotliwość pracy (F1) na 10MHz oraz częstotliwość offset-u (Fof) na 0. W ten sposób można już ustawić bez problemu wszystkie zmienne systemowe (Fx, Fof, D) oraz pamięci częstotliwości pracy (F1-F4).
Nowy kod programu jest na mojej stronie:
si570v1.2
Miejsce na kod programu udało się znaleźć kosztem zmniejszenia rozmiarów napisów i komunikatów. Dało to kilkanaście bajtów ale wystarczyło.
L.J.