Historia zmian == wersja 3.7.0.2723 (31.05.2026) === Nowe funkcje i usprawnienia: - Dodano panel "Pinout View" generujący diagramy obsługiwanych mikrokontrolerów AVR. Definicje diagramów obejmują obecnie około 60% urządzeń i zawierają obudowy THT, SMD oraz BGA. Wyszukiwanie w legendzie pinów powoduje podświetlenie odpowiednich sygnałów oraz odpowiadających im pinów na diagramie obudowy. - Zaktualizowano plik ReadMe.txt. == wersja 3.6.0.2627 (30.03.2026) === Nowe funkcje i usprawnienia: - zaktualizowano charakterystyki: ATA6285, ATTINY28, ATA6286, ATTINY416AUTO, ATTINY1624, ATTINY1626, ATTINY1627 - dodano obsługę AVRSIM: - umożliwiono kompilację w trybie AVRSIM (dodano brakujące moduły RTL) - umożliwiono wyświetlanie danych (write/writeln) w obszarze Messages podczas emulacji w AVRPascalDbg == wersja 3.5.0.2619 (14.12.2025) === Nowy port dla systemu FreeBSD 13 (64-bit, instalator PKG) Nowa paczka portable dla Linux (na potrzeby tworzenia niestandardowych instalatorów np. dla Arch, Fedora, openSUSE) Nowe funkcje i usprawnienia: - usprawnienie działania wykrywania dyrektyw blokujących tak aby obsługiwało bardziej złożone konstrukcje (opcja "Detect controller type in IFNDEF directive") - usprawniono działanie funkcji "Search"/"Replace", dodano opcje "from cursor" oraz pytanie o ponowne przeszukanie (podziękowania dla @Dzandaa za sugestie) - program otwiera się odtąd w jednej instancji, co zabezpiecza przed przypadkowym nadpisywaniem pliku konfiguracyjnego ini - przeprowadzono refaktoryzację kodu, co pozwoliło na zmniejszenie wielkości pliku wykonywalnego: - Windows 71 -> 60 MB - Linux 55 -> 49 MB - MacOS 31 -> 20 MB - FreeBSD 96 -> 81 MB Poprawki błędów: - poprawiono wklejanie danych ze schowka do pola numerycznego dziesiętnego w oknie "Data Converter" (podziękowania dla @Dzandaa za sugestie) == wersja 3.4.0.2546 (13.11.2025) === Nowa wersja UnoLib (1.2, szczegóły na stronie https://sourceforge.net/projects/unolib/) - w katalogu "docs" umieszczono dokumentację UnoLib Nowe funkcje i usprawnienia: - okno "Image Information" zostało przeniesione do wtyczki debugera (AVRPascalDbg), krótka informacja o zajętości pamięci flash pojawia się odtąd w obszarze "Messages" po kompilacji zakończonej powodzeniem - dodano okno konwertera "Data Converter" pozwalające na konwersję liczb zmiennoprzecinkowych w formacie decymalnym na ich heksadecymalną/binarną reprezentację w formacie IEEE-754 i Q16.16, przydatne podczas korzystania z typów TFloat32 i TFix16 z UnoLib. - zmieniono parametry domyślne: wielkość czcionki (10), rozmiar tabulacji (2) oraz definicję częstotliwości zegara (F_CPU) (domyślnie zaznaczone) - dodano przycisk "Serial Monitor" na pasku narzędziowym (dziękuję @Dzandaa za sugestię) - zaktualizowano plik Readme.txt o nową licencję Poprawki błędów: - poprawiono funkcje "Check for updates" (sprawdzająca aktualizacje aplikacji) i "Send for Manufacturer" (wysyłająca informację o błędach) z uwagi na zmianę protokołu strony akarwowski.pl (z http na https) == wersja 3.3.0.2498 (17.08.2025) === Nowa wersja UnoLib (1.1, szczegóły na stronie https://sourceforge.net/projects/unolib/) Nowe funkcje: - dodano opcję "Add conditional directive for current device" w oknie "New File" - automatyczna zmiana nazwy programu/modułu po zapisaniu pliku z nową nazwą - nowe opcje w oknie "Serial Port Monitor": "line ending" (No, NL, CR, NL&CR) i "mode" (Ascii, szesnastkowy) (podziękowania dla @Dzandaa za sugestie) - ulepszony instalator dla systemu Linux, teraz AVRPascal pojawia się w sekcji "Programowanie" (podziękowania dla @Dzandaa za sugestie) Poprawki błędów: - naprawiono problemy z odczytem danych przez monitor portu szeregowego (podziękowania dla Christofa Binera za szczegółowy opis problemu) - drobne zmiany estetyczne w oknie "Upload" == wersja 3.2.0.2481 (23.03.2025) === Poprawiona wersja FPC (poprawka @ccrause w aasmcpu.pas) Nowe funkcje: - zmieniono ikonę "New", dodano przycisk "Upload" na pasku narzędzi (dzięki @Dzandaa za sugestie) - dodano okno dialogowe "New file" z możliwością wyboru szablonu nowego dokumentu - dodano monitor portu szeregowego (Serial Port Monitor) inspirowany "RS232 Terminal" autorstwa @Dzandaa oraz monitorem portu szeregowego Arduino IDE; dostępny w menu View->Serial Port Monitor, parametry konfigiuracji w oknie Options, zakładka Other Poprawki błędów: - MacOS: poprawiono działanie mechanizmów korzystających z wątków - drobne poprawki w oknie About - usunięto nieznaczne wycieki pamięci == wersja 3.1.0.2429 (24.01.2025) === Nowa wersja UnoLib (0.9, szczegóły na stronie https://sourceforge.net/projects/unolib/) Nowe funkcje: - nowe parametry dla klawisza TAB i działania wcięcia edytora (dzięki @Dzandaa za sugestie) - dodano nowe definicje makr podczas kompilacji: AVRPASCAL, AVRPASCAL_VERSION, AVRPASCAL_RELEASE, AVRPASCAL_PATH, AVRPASCAL_BUILD, AVRPASCAL_FULLVERSION, aby umożliwić tworzenie bloków IFDEF przeznaczonych dla edytora AVRPascal Poprawki błędów: - naprawiono błąd Access Violation podczas wyświetlania podpowiedzi parametrów procedury z modułu system.pp - wyłączono podpowiedzi parametrów procedur/funkcji i listy uzupełnień wewnątrz bloku komentarzy - usunięto zduplikowane adresy na liście symboli (Run->Image information->Symbols) == wersja 3.0.0.2409 (10.12.2024) === Nowa wersja UnoLib (0.8, nie zawiera katalogu "extras"; szczegóły na stronie https://sourceforge.net/projects/unolib/) Nowe funkcje: - dodano historię skoków, dostępną przy pomocy skrótów Ctr+H (poprzedni skok) i Ctrl+Shift+H (następny skok) Poprawki błędów: - poprawiono przeskakiwanie między sekcjami interface i implementation danej metody, informacje o ewentualnych błędach składniowych przeniesiono do obszaru Messages - poprawiono wyszukiwanie deklaracji identyfikatorów w sytuacji, gdy znajdują się w blokach $IFDEF - poprawiono obsługę portu szeregowego (lista urządzeń, resetowanie portu) == wersja 2.9.0.2385 (18.11.2024) === Nowa wersja AVRdude (8.0) Nowa wersja UnoLib (0.7; szczegóły na stronie https://sourceforge.net/projects/unolib/) Nowe funkcje: - zapamiętywanie położenia ostatniego otwieranego katalogu po użyciu funkcji "Open File", "Save File", "Save File As", "Export to HTML", "Upload from File", "Download to File". - domyślnie włączono parametry kompilatora -Sg (enable goto) i -Si (enable inlining) Poprawki błędów: - poprawiono działanie "Tab" i "Shift+Tab"; ich użycie w przypadku zaznaczonego tekstu powoduje zmianę wcięcia - poprawiono wywoływanie linii komend kompilatora tak aby możliwe było użycie plików o ścieżce zawierającej spacje (Linux, MacOS) Dziękuję @Dzandaa, @ccrause i @VisualLab za cenne sugestie i pomoc w testach. == wersja 2.8.0.2318 (07.11.2024) === Nowe funkcje: - dodano możliwość pokazania parametrów linii komend użytych do wywołania kompilatora i uploadera w obszarze Messages; opcje "Show command line" dostępne są w oknie "Options", w zakładkach "Compiler" i "Uploader"; dziękuję @VisualLab, @Dzandaa oraz @ccrause za inspirację do tych zmian. == wersja 2.7.0.2272 (27.10.2024) === Nowa wersja kompilatora FPC 3.3.1. (commit 2262d2050defed7a5df8aa6c70ad696603335d3d) Poprawki błędów: - zredukowano rozmiar binarnych plików wynikowych; podziękowania dla @mizar, @Dzandaa a szczególnie @ccrause za pomoc w znalezieniu i rozwiązaniu problemu. Nowe funkcje: - dodano formater kodu źródłowego oparty na DelForEx (patrz ReadMe.txt); dwa schematy formatowania kodu: "Delphi" i "Turbo Pascal" definiowane w okni Options; funkcja wywoływana poprzez skrót klawiszowy Ctrl+D dla aktywnej zakładki edytora (podziękowania dla Henka Heemstry za sugestię dodania formatera kodu do programu) == wersja 2.6.0.1982 (21.10.2024) === Poprawki błędów: - usunięcie małych wycieków pamięci - poprawiona nazwa etykiety PID w oknie edycji urządzenia USB - poprawiono treść powiadomienia o podłączeniu USBAsp (port: USB) Nowe funkcje: - zapamiętanie wysokości obszaru Messages Inne: - nowa wersja biblioteki UnoLib (podziękowania dla Henka Heemstry za testy i kod TestBlinkWithoutDelay.pas) == wersja 2.5.0.1952 (04.10.2024) === Usprawnienia dotyczące wykrywania urządzeń USB przez aplikację: - w oknie Options (zakładka Uploader) dodano możliwość wyłączenia wykrywania obsługiwanych urządzeń USB (USBasp, płytki Araduino; opcja domyślnie włączona) - dodano listę predefiniowanych urządzeń, które można poszerzyć o własne definicje tak, aby program mógł np. wykrywać klony Arduino z zastrzerzeniem, że numery VID i PID muszą być unikatowe dla każdej definicji - jeśli opcja wykrywania urządzeń USB jest aktywna, wówczas obok ikonki USB pojawi się "dymek" z listą wykrytych urządzeń i przypisanych im portów szeregowych - generalnie mechanizm służy ułatwieniu współpracy programu z płytkami Arduino, głównie w zakresie automatycznej detekcji numeru/nazwy portu szeregowego przypisanego do urządzenia Usprawnienia dotyczące pracy z kodem źródłowym: - dodano możliwość detekcji typu mikrokontrolera jeśli w kodzie źródłowym występuje dyrektywa $IFNDEF/$IF NOT DEFINED na niego wskazująca; opcja dostępna w oknie Options, zakładce Editor (domyślnie wyłączona) Dziękuję użytkownikowi sp3ots za pomoc w testach dotyczących wykrywania i definiowania urządzeń USB przez aplikację oraz sugestie dotyczące wykrywania typu mikrokontrolera na podstawie kodu źródłowego == wersja 2.4.0.1605 (27.09.2024) === - dodano nowy schemat kolorystyczny tekstu o wysokim kontraście (Twilight) oraz możliwość zmiany rozmiaru czcionki kodu źródłowego - dodano możliwość powiększania i zmniejszania rozmiaru czcionki kodu źródłowego za pomocą skrótó klawiaturowych (Ctrl i +/- na klawiaturze numerycznej) - na pasku stanu dodano informację o podłączonych urządzeniach (obsługiwane USBAsp i płytki Arduino) oraz informację formie "dymku" nad ikonką USB o wykryciu nowego urządzenia lub odłączeniu uprzednio podłączonego; mechanizm detekcji nie wykrywa klonów Arduino Dziękuję użytkownikowi sp3ots z forum www.elektoda.pl za sugestie i pomoc w doborze kolorów oraz pomoc w testach i cenne sugestie == wersja 2.3.0.1320 (13.09.2024) === - poprawiono błąd kompilacji kodu dla mikrokontrolerów o pamięci flash poniżej lub równej 1 KB (niektóre mikrokontrolery z rodziny ATTiny, np ATTiny13) - dodano możliwość otwierania plików *.pas, *.pp i *.inc metodą "przeciągnij i upuść" - poprawiono mechanizm nadawania nazwy nowemu plikowi podczas jego zapisywania - poprawiono mechanizm podpowiadania parametrów procedur/funkcji i pól/metod typów rekordowych/klasowych == wersja 2.2.0.1186 (07.09.2024) === - poprawiono mechanizm wyświetlania podpowiedzi parametrów funkcji/procedur i typów (słowo kluczowe pogrubione) - dodano funkcję Run->Image Information wyświetlającą statystykę skompilowanego obrazu oraz listę symboli wygenerowanych przez kompilator - dodano funkcję Help->Check for Updates informującą o aktualizacjach AVRPascala (wymaga połączenia z internetem) == wersja 2.1.0.929 (21.08.2024) === - aktualizacja funkcji "Get Device Fuses" i "Set Device Fuse" o nowe mikrokontrolery obsługiwane przez FPC 3.3.1 - aktualizacja AVRDude do wersji 7.2 (Windows, Linux, MacOS) - współpraca z płytkami Arduino: Leonardo, Mega, Micro, Nano, Nano Every, Uno - poprawiono mechanizm pobierania listy portów szeregowych - dodano możliwość określenia niestandardowej prędkości przesyłu danych (Options->Uploader) == wersja 2.0.0.498 (18.07.2024) === - bazuje na FPC 3.3.1, który uwzględnia 62 nowe mokrokontrolery AVR oraz kilka odmian płytek Arduino - poprawiono działanie funkcji Replace edytora == wersja 1.10.0.418 (28.04.2024) === - poprawiono mechanizm podpowiedzi typów klasowych i rekordowych; wyłączono pliki typu include z mechanizmu podpowiedzi - dodano opcję zamiany wyszukiwanego ciągu znaków na wskazany (Search->Replace...) - dodano możliwość rpzesuwania kolejności zakładek edytora za pomocą myszy (drag&drop) - dodano listę ostatnio otwieranych plików (File->Reopen->) == wersja 1.9.0.391 (27.02.2024) === - dodano opcje edytora: schematy kolorowania składni, parametry współpracy z kodem źródłowym i in. - podpowiedzi parametrów procedur i funkcji: automatycznie zamykane po 5 sekundach, poprawiono łamani linii - poprawiono mechanizm zapisywania ustawień ścieżek kompilatora == wersja 1.8.0.353 (19.01.2024) === - poprawiono współpracę z zewnętrznym debugerem AVRPascalDbg - dodano możliwość zamknięcia wszystkich zakładek edytora poza aktywną == wersja 1.7.0.341 (09.01.2024) === - poprawiono obsługę błędów; dodano możliwość zapisu raportu do pliku oraz wysłania do autora == wersja 1.6.0.300 (01.01.2024) === - nowa ikona aplikacji - poprawki w instalatorach dla Windows i Linuxa == wersja 1.5.0.298 (14.12.2023) === - dodano obsługę trybu F(orce) programatora == wersja 1.4.0.293 (28.11.2023) === - drobne zmiany w GUI i poprawki techniczne - nowe ikony paska narzędzi == wersja 1.3.0.264 (3.11.2023) === - dodano możliwość zapisu kodu binarnego do pamięci mikrokontrolera za pomocą Arduino (tylko ATmega328p) - drobne zmiany w GUI (głównie nazwy menu) - poprawki w instalatorze dla Linuxa == wersja 1.2.0.240 (1.11.2023) === - dodano opcję eksportu pliku źródłowego do HTML (File->Export to HTML; bez MacOS) - dodano opcję przebudowy źródeł RTL dla bieżącego mikrokontrolera (Run->Rebuild RTL sources) - dodano opcję odczytu i zapisu fuse-bitów mikrokontrolera (Tools->Get/Set Configuration Fuse Bits) - w plikach źródłowych UnoLib dodano dyrektywy warunkowego błędu w przypadku próby kompilacji z RTL innego mikrokontrolera niż ATmega328p ({ifndef atmega328p}...) - drobne zmiany w GUI i poprawki techniczne == wersja 1.1.0.187 (21.10.2023) === - dodano obsługę błędów z uwzględnieniem stosu wywołań oraz numerów linii w kodzie programu - dodano wersję dla MacOS (64-bit), zrezygnowano z wersji 32-bitowej dla Windows - drobne zmiany w GUI == wersja 1.0.0.153 (05.10.2023) === - drobne zmiany techniczne - dodano wersję dla systemów Linux (64-bit) == wersja 1.0.0.129 (28.09.2023) === - wersja pierwotna dla systemu Windows