
Ha Arduino IDE 2.3.9-et használsz, akkor a 2.3.10 frissítés erősen ajánlott. És jegyezd meg: A Shift + Verify vagy Ctrl + Shift + R! Nem azért, mert látványos új funkciókat kaptunk, hanem mert egy kifejezetten kellemetlen, sőt fejlesztés közben veszélyes hibát javít: előfordulhatott, hogy a módosított sketch nem fordult újra, hanem az IDE a régi, gyorsítótárban maradt fordítási eredményt használta. A 2.3.10 ezt javítja, és végre ad lehetőséget a teljes újrafordítás kikényszerítésére is. Csak hát… ezt sikerült megint kissé eldugni.
Mi volt a baj a 2.3.9-cel?
Az Arduino IDE 2.3.9 egyik nagy ígérete a gyorsabb fordítás volt. A háttérben működő Arduino CLI már nemcsak a core-okat és library-ket tudta jobban cache-elni, hanem a sketch-hez tartozó fordítási eredményeket is. Ez önmagában nagyon jó irány: nagyobb ESP32, kijelzős, WiFi-s vagy sok könyvtárat használó projekteknél a fordítás ideje nem mindegy.
A gond ott kezdődött, hogy a cache nem mindig vette észre, ha a sketch megváltozott. Vagyis módosítottad a kódot, megnyomtad a fordítást vagy feltöltést, az IDE pedig bizonyos esetekben mégis a korábban lefordított állományt használta. Ez nem apró kényelmetlenség, hanem kifejezetten rossz hibafajta: a képernyőn már az új kódot látod, a panelen viszont akár még a régi logika fut. A hivatalos GitHub release is így fogalmazza meg a javítást: bizonyos esetekben a sketch kód módosítás után sem fordult újra.
Ilyenkor kezdődik az a klasszikus fejlesztői rémálom, amikor az ember először a panelt gyanúsítja, utána a kábelt, majd a bootloadert, aztán saját magát. Pedig csak a fordítási cache nem azt csinálta, amit kellett volna.
Arduino IDE 2.3.10 – ez most nem csilivili kiadás, hanem tűzoltás
A 2.3.10 nem nagy, látványos frissítés. Nem ettől lesz új szerkesztőfelület, nem ettől lesz varázslatosan okosabb a Serial Monitor, és nem ettől oldódik meg az Arduino IDE 2.x összes régi nyűgje.
De most nem is ez volt a feladat.
Ez a verzió elsősorban javítókiadás. A legfontosabb pont: a 2.3.9-ben bevezetett, problémás sketch-cache kezelés javítása. Ha valaki 2.3.9-re frissített, és furcsa jelenségeket látott — például törölt Serial.print() sorok mégis megjelentek, vagy egy változtatás mintha nem jutott volna el a panelig —, akkor ez a frissítés pont neki szól. A fórumon több ilyen visszajelzés is megjelent, köztük olyan eset is, ahol a felhasználó szerint a régi Serial.print kimenetek tovább futottak, miközben már nem is voltak benne a kódban.
Végre van „tiszta fordítás” – csak éppen eldugva
A jó hír: a 2.3.10-ben már van lehetőség teljes újrafordításra.
A rossz hír: ezt nem sikerült igazán felhasználóbarát módon megoldani.
A hivatalos leírás szerint a teljes újrafordítás kétféleképpen indítható:
Shiftnyomva tartása közben kattintás a Verify gombra;Ctrl + Shift + Rbillentyűparancs, MacenCommand + Shift + R.
Ez működik, és végre van rá megoldás. De legyünk őszinték: ez nem az a funkció, amit egy átlagos felhasználó magától meg fog találni. Nincs szépen látható Rebuild, Clean Build vagy Teljes újrafordítás menüpont a Sketch menüben. Nincs egyértelmű gomb. Nincs külön figyelmeztetés, hogy „ha gyanús a cache, használd ezt”.
Van helyette egy rejtett billentyűs megoldás.
A fórumon ezt más is szóvá tette: felhasználói oldalról nehéz megjegyezni, és nem életszerű, hogy valaki véletlenül rájöjjön, hogy a Verify gomb másképp viselkedik, ha közben a Shiftet tartja. Emiatt már GitHubon is született kérés arra, hogy legyen rendes Rebuild menüpont a Sketch menüben.
És ez a kritika jogos.
Egy ilyen funkció nem extra kényelmi apróság. Ez hibakeresési alapművelet. Ha a cache miatt gyanús a fordítás, akkor a felhasználónak látnia kellene, hova kattintson. Nem fórumposztokból, release note-ból vagy GitHub issue-ból kellene megtanulnia.
Mikor használd a teljes újrafordítást?
A Shift + Verify vagy Ctrl + Shift + R akkor jöhet jól, ha:
- módosítottad a sketch-et, de a panel mintha még a régi programot futtatná;
- furcsa fordítási vagy linkelési hibák jelennek meg;
- library-t, board core-t vagy platformcsomagot frissítettél;
- ESP32/STM32/SAMD jellegű nagyobb projektnél gyanúsan gyorsan „elkészül” a fordítás;
- oktatási vagy műhelygépen több projekt és több board-csomag váltogatása után valami nem stimmel;
- biztosra akarsz menni, hogy a fordítás tényleg nulláról történik.
Ez nem azt jelenti, hogy mindig teljes újrafordítást kell használni. A cache jó dolog, ha jól működik. Nagyobb projekteknél sok időt spórolhat. De legyen a kezünkben egy jól látható vészfék is. Most már van vészfék — csak egyelőre a műszerfal alá szerelték.
Az első visszajelzések biztatóak
A 2.3.10 nagyon friss kiadás, ezért hosszú távú tapasztalatokról még korai beszélni. Az első visszajelzések alapján viszont a javítás iránya jó. A fórumon már megjelentek mérések is: a cache-elt fordítás továbbra is jelentős gyorsulást adhat, miközben a teljes újrafordítás lehetősége most már rendelkezésre áll, ha valami gyanús.
Ez a helyes irány: legyen gyors a fordítás, de ne a megbízhatóság rovására.
Az Arduino IDE 2.x egyik állandó kihívása éppen ez. Egy modern, kényelmes, többplatformos fejlesztőkörnyezetet próbál adni kezdőknek és haladóknak egyaránt. Csakhogy amikor a fejlesztőeszköz elkezd „okoskodni”, cache-elni, automatikusan kezelni és gyorsítani, akkor nagyon fontos, hogy a felhasználó bízhasson benne. Ha megnyomom a fordítást, akkor azt fordítsa, ami a kódban van. Ez alap.
Frissítsek?
Ha Arduino IDE 2.3.9-et használsz: igen, érdemes frissíteni 2.3.10-re.
Ha még 2.3.8 vagy régebbi verzión vagy, és stabilan működik a műhelyben, oktatásban vagy napi használatban, akkor nem kell fejvesztve rohanni. De ha az IDE 2.x vonalon maradsz, akkor a 2.3.10 jobb választásnak tűnik, mint a 2.3.9.
Különösen ajánlott a frissítés, ha:
- 2.3.9 alatt furcsa, régi kódra emlékeztető viselkedést láttál;
- sokat dolgozol
.inofájlokkal; - gyakran váltasz boardok, library-k vagy platformcsomagok között;
- oktatási környezetben használod az IDE-t, ahol nagyon nem mindegy, hogy a diák azt látja-e futni, amit éppen átírt.
TavIR vélemény
A 2.3.10 jó javítás, de nem hibátlan felhasználói élmény.
A fejlesztők javították a legfontosabb problémát, és ez mindenképpen pozitív. A teljes újrafordítás lehetősége régóta hiányzó, hasznos funkció. Az első visszajelzések alapján a megoldás működőképes, a gyorsítás pedig továbbra is értékes.
De egy ennyire fontos műveletet nem lenne szabad elrejteni egy billentyűkombináció mögé.
Egy kezdő Arduino-felhasználó nem fogja tudni, hogy a Shift + Verify mást csinál, mint a sima Verify. Egy műhelyben dolgozó oktató nem akarja minden alkalommal külön magyarázni, hogy „ha gyanús, akkor nyomd a Shiftet is”. Egy haladó felhasználó pedig joggal várná el, hogy legyen egy rendes Clean Build vagy Rebuild menüpont.
Szóval:
Arduino IDE 2.3.10 – ajánlott frissítés, főleg 2.3.9-ről.
De a felület még mindig adós egy normális, látható teljes újrafordítás gombbal vagy menüponttal.
Addig pedig érdemes megjegyezni:
Teljes újrafordítás: Shift + Verify
Billentyűparancs: Ctrl + Shift + R
Macen: Command + Shift + R
Nem elegáns. De végre van.
Források
- Arduino IDE hivatalos kiadási jegyzetek [GitHub]
- Megjelent az Arduino IDE 2.3.10 [Arduino forum]
- Arduino IDE 2.3.9 cache-hiba felhasználói visszajelzések [Arduino forum]
- Rebuild menüpont kérése az Arduino IDE-ben [GitHub]
- Arduino IDE 2.3.9 – gyorsabb fordítás, de figyelj a cache-re [TavIR]
- Hordozható Arduino: telepítési útmutató és az előnyök, hátrányok [TavIR]
Kapcsolódó cikkek:
– Arduino IDE 2.3.9 – ha a régi program fut tovább…
– Arduino IDE 2.3.9 – gyorsabb fordítás, de figyelj a cache-re
– Arduino VENTUNO Q: merre tart az Arduino az UNO után?
– Arduino IDE 2.3.8: nem látványos kiadás, de végre javítja az idegesítő hibákat
– Infravörös vevőmodul tesztelése Arduino UNO-val – hogyan olvassunk távirányítót digitálisan (KY-022)?





