Na początku lipca pojawiło się nowe Arduino IDE oznaczone numerem 1.5.7. Poprawiono w nim dużo błędów. Z praktycznych rzeczy, teraz masz możliwość używania znaków ’.’ i ’-’ w nazwach szkiców.
Pod maską zaktualizowano kompilator AVR-GCC do najnowszej stabilnej wersji 4.8.1. Dzięki czemu do pisania bibliotek można używać języka C++11.
Zaktualizowano też Avrdude do wersji 6.0. Jest to narzędzie do wysyłania programów do płytek Arduino i programowania kontrolerów AVR.
Twórcy IDE dodali też AVR-LIBC 1.8. Aktualizacja tego elementu wymaga najwięcej poprawek w naszych bibliotekach i programach. W nowej jego wersji zmieniono sposób używania pamięci Flash do przechowywania stałych danych programu.
Jeśli używasz tylko F() do przechowywania napisów w pamięci Flash np.:
Serial.println(F(“Ala ma kota”));
To nie masz się czego obawiać. Będzie to działało jak dawniej.
Więcej kłopotu masz, jeśli używałeś bardziej zaawansowanych technik jak:
prog_uchar tablica[] PROGMEM = {1, 2, 3, 4, 5, 6, 7};
Fragment tworzy tablicę typu unsigned char tylko do odczytu w pamięci Flash pod nazwą “tablica”.
W nowym IDE ten fragment wywoła błąd o treści:
“sketch_jul23a.ino:1:1: error: ‘prog_uchar’ does not name a type”
“błąd: ‘prog_uchar’ nie jest nazwą typu”
Lub w wielu przypadkach taki błąd:
“sketch_jul23a.ino:1:16: error: variable ‘tablica’ must be const in order to be put into read-only section by means of ’__attribute__((progmem))’”
“błąd: zmienna ‘tablica’ musi być stałą typu ‘const’ by mogla być w sekcji tylko do odczytu oznaczonej przez ’__attribute__((progmem))’”.
Wtedy ten kawałek kodu musisz zamienić na:
const byte tablica[] PROGMEM = {1, 2, 3, 4, 5, 6, 7};
Zamiast “byte” możesz wybrać inny typ, pasujący dla zmiennej.
Zatem jeśli zauważysz taki błąd w swoich programach, albo bibliotekach, których używasz, teraz możesz go łatwo poprawić.
Dopatrzyłem się też pewnej usterki w Arduino IDE pod Windows. Gdy klikasz w menu “Narzędzia”, menu wyświetla się z pewnym opóźnieniem. Nic nie szkodzi jeśli masz nowoczesne Arduino. Gorzej jeśli posiadasz model Duemilanove z układem USB typu FTDI. Wtedy menu może się pojawić nawet po kilkunastu sekundach.Twórcy Arduino IDE zrobili wykrywanie Arduino po kliknięciu w menu “Narzędzia” i kiepsko to napisali ;-). Jeśli też masz takiego laga, to się nie martw. Program się nie zawiesił.
sprae