VS Code + PlatformIO

Arduino je pojav za katerega bi težko rekli, da opisuje samo HW ali samo SW, zato mu tu namenajm poseben prostor.

Moderator: tilz0R

VS Code + PlatformIO

OdgovorNapisal/-a VolkD » 01 Sep 2021, 16:13

DomenV je napisal/-a:Nočem pametovati, bi pa vseeno priporočal, da se za IDE izbere VS Code + PlatformIO. Je uporabniku bolj prijazen, kot Arduino IDE.


Resnici na ljubo, še Arduino ne poznam dobro, a mi je nekako ... odbijajoč. Povej kaj o tem VS Code + ... Je zastonj ? Kje se ga dobi,...
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 52960
Pridružen: 29 Dec 2014, 20:49
Kraj: Kačiče (Divača)
Zahvalil se je: 13306 krat
Prejel zahvalo: 8219 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: VS Code + PlatformIO

OdgovorNapisal/-a zanka » 01 Sep 2021, 17:36

VS Code je samo urejevalnik. Na spletu: https://code.visualstudio.com/download
Uporabniški avatar
zanka
 
Prispevkov: 3240
Pridružen: 17 Mar 2016, 01:16
Kraj: SI-8000
Zahvalil se je: 123 krat
Prejel zahvalo: 381 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 76

Re: VS Code + PlatformIO

OdgovorNapisal/-a VolkD » 01 Sep 2021, 18:16

Kaj pa PlatformIO ?
V čem in zakaj je boljše od arduino, ki je že dokaj uveljavljen in ima ogromno knjižnic ?
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 52960
Pridružen: 29 Dec 2014, 20:49
Kraj: Kačiče (Divača)
Zahvalil se je: 13306 krat
Prejel zahvalo: 8219 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: VS Code + PlatformIO

OdgovorNapisal/-a Kroko » 01 Sep 2021, 18:38

Saj je to še vedno Ardiono. Samo trapast Ardiuino IDE zamenjaš za kaj bolj resnega.
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 5134
Pridružen: 14 Jan 2015, 12:12
Kraj: Ljubljana
Zahvalil se je: 714 krat
Prejel zahvalo: 1825 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: VS Code + PlatformIO

OdgovorNapisal/-a VolkD » 01 Sep 2021, 18:58

aha, torej new skin ?
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 52960
Pridružen: 29 Dec 2014, 20:49
Kraj: Kačiče (Divača)
Zahvalil se je: 13306 krat
Prejel zahvalo: 8219 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: VS Code + PlatformIO

OdgovorNapisal/-a forest70 » 01 Sep 2021, 20:13

Arduino IDE je urejevalnik kode in vstavljaš knjižnice. Za prevajnje uporablja GCC, za nalaganje pa Avrdude.
Torej je Arduino IDE samo školjka ....
V končni fazi lahko zadevo pišeš v notepadu, prevedeš z GCC-jem in naložiš z Avrdude.
Toliko.
If you pay in bananas, you got monkeys.
Uporabniški avatar
forest70
 
Prispevkov: 2596
Pridružen: 14 Jan 2015, 01:11
Kraj: Koper
Zahvalil se je: 478 krat
Prejel zahvalo: 588 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 130

Re: VS Code + PlatformIO

OdgovorNapisal/-a DomenV » 02 Sep 2021, 08:07

Bom poizkusil po domače razložit. Arduino IDE in VS Code + PlatformIO sta dva različna programa, ki omogočata programiranje Arduino HW. Arduino IDE je "original" za Arduino HW, VS Code + PlatformIO pa podpira Arduino okolje. Tako kot recimo Keil podpira NXP, ST, Atmel, itd.., čeprav imajo vsi ti svoj original IDE. VS Code je zastonj, prav tako plugin PlatformIO, s katerim razširiš VS Code, da podpira Arduino. Sama koda za uK je med Arduino IDE in VS Code + PlatformIO kompatibilna oz. prenosljiva.
Arduino IDE je zelo omejen IDE. Po moje je uporaben samo za to, da si snameš kodo iz neta in jo naložiš na Arduino HW. Ali pa za kakšne res osnovne, kratke programčke. Za kaj večjega mi je bolj všeč VS Code. Predvsem zaradi tega, ker podpira debuggning, javljanje napak v realnem času in intellisense.
Ko sem si prilagajal Marlin 2.0 FW za na Troublemaker je na moji mašini kompajlanje trajalo par minut zaradi velikosti kode. VS Code me je pred kompajlanjem že opozoril na vse napake, tako da je šel kompajl brez problemov skozi. Arduino IDE pa ima preverjanje napak samo ob kompajlanju. To pomeni, da bi moral za vsako odpravo napake v kodi projekt kompajlati, kar pa pomeni, da bi zapravil veliko časa.
Verjetno so še kakšne bolj očitne razlike - nisem nek hud poznavalec VS Code + PlatformIO, ker za programiranje uK uporabljam druga razvojna orodja oz. okolja.
lp, D
Uporabniški avatar
DomenV
 
Prispevkov: 486
Pridružen: 18 Jan 2015, 23:38
Kraj: Medvode
Zahvalil se je: 75 krat
Prejel zahvalo: 109 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 24

Re: VS Code + PlatformIO

OdgovorNapisal/-a VolkD » 02 Sep 2021, 09:51

DomenV je napisal/-a:VS Code me je pred kompajlanjem že opozoril na vse napake, tako da je šel kompajl brez problemov skozi.
A to pomeni, da ima vgrajen neke vrste prevajalnik, ki deluje v realnem času, praktično pod prsti, ko piše škodo ?
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 52960
Pridružen: 29 Dec 2014, 20:49
Kraj: Kačiče (Divača)
Zahvalil se je: 13306 krat
Prejel zahvalo: 8219 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: VS Code + PlatformIO

OdgovorNapisal/-a DomenV » 02 Sep 2021, 10:21

Bolj pregledovalnik sintakse.
lp, D
Uporabniški avatar
DomenV
 
Prispevkov: 486
Pridružen: 18 Jan 2015, 23:38
Kraj: Medvode
Zahvalil se je: 75 krat
Prejel zahvalo: 109 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 24

Re: VS Code + PlatformIO

OdgovorNapisal/-a dejko1 » 02 Sep 2021, 12:29

Par prednosti poleg preverjanja sintakse v živo:
Ima integriran auto complete, torej ne rabiš na pamet znat vseh spremenljivk, imen funkcij in registrov, prav tako ne vseh parametrov.
Zna upoštevati definicije oz. ti z obarvanjem pomaga, da veš kateri #ifdef so aktivni.
Z barvno shemo sporoča tip ključne besede.
Lahko s klikom na funkcijo skočiš na njeno deklaracijo in definicijo.
Ima projekt explorer / navigator.
Domnevam da omogoča tudi versioning (git ali podobno), verjetno s kakšnim pluginom.
Ima možnost debugganja, torej priklopa na živ target, pregleda spremenljivk, poteka programa. Za arduino (ATMEGA) sicer ne vem če to gre, za razne ARM kontrolerje pa sigurno.

Funkcije razen zadnjih dveh (ki sta v razvoju splošno uporabni) pridejo do izraza predvsem pri večjih projektih, ko projekt ni več ena sama datoteka. Jaz sicer veliko delam v Eclipse IDE okolju (STM, Nordic), ki prav tako omogoča podobno, je pa sodelavec na nekaj projektih preizkusil VS Code in je kar navdušen. Pri PlatformIO+VS Code je seveda luštna tudi instalacija s parimi kliki :)
dejko1
 
Prispevkov: 249
Pridružen: 12 Feb 2015, 13:47
Kraj: Ljubljana
Zahvalil se je: 31 krat
Prejel zahvalo: 79 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 79

Re: VS Code + PlatformIO

OdgovorNapisal/-a forest70 » 06 Sep 2021, 21:34

DomenV je napisal/-a:Bom poizkusil po domače razložit. Arduino IDE in VS Code + PlatformIO sta dva različna programa, ki omogočata programiranje Arduino HW. Arduino IDE je "original" za Arduino HW, VS Code + PlatformIO pa podpira Arduino okolje. Tako kot recimo Keil podpira NXP, ST, Atmel, itd.., čeprav imajo vsi ti svoj original IDE. VS Code je zastonj, prav tako plugin PlatformIO, s katerim razširiš VS Code, da podpira Arduino. Sama koda za uK je med Arduino IDE in VS Code + PlatformIO kompatibilna oz. prenosljiva.
Arduino IDE je zelo omejen IDE. Po moje je uporaben samo za to, da si snameš kodo iz neta in jo naložiš na Arduino HW. Ali pa za kakšne res osnovne, kratke programčke. Za kaj večjega mi je bolj všeč VS Code. Predvsem zaradi tega, ker podpira debuggning, javljanje napak v realnem času in intellisense.
Ko sem si prilagajal Marlin 2.0 FW za na Troublemaker je na moji mašini kompajlanje trajalo par minut zaradi velikosti kode. VS Code me je pred kompajlanjem že opozoril na vse napake, tako da je šel kompajl brez problemov skozi. Arduino IDE pa ima preverjanje napak samo ob kompajlanju. To pomeni, da bi moral za vsako odpravo napake v kodi projekt kompajlati, kar pa pomeni, da bi zapravil veliko časa.
Verjetno so še kakšne bolj očitne razlike - nisem nek hud poznavalec VS Code + PlatformIO, ker za programiranje uK uporabljam druga razvojna orodja oz. okolja.

Sem poskusil, uvozil moje delo okoli ene aplikacije, po vseh mukah, z harderji in ostalo ropotijo, je zadevo prevedel. Naložim na ESP32 in rezultat je: Watch dog resetira in resetira. Ta ide sigurno ni za začetnike. Ima sicer nekaj bombončkov, vendar po moji izkušnji ne odtehta.
Toliko.
If you pay in bananas, you got monkeys.
Uporabniški avatar
forest70
 
Prispevkov: 2596
Pridružen: 14 Jan 2015, 01:11
Kraj: Koper
Zahvalil se je: 478 krat
Prejel zahvalo: 588 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 130

Re: VS Code + PlatformIO

OdgovorNapisal/-a tomazp » 07 Sep 2021, 08:32

forest70 je napisal/-a:Sem poskusil, uvozil moje delo okoli ene aplikacije, po vseh mukah, z harderji in ostalo ropotijo, je zadevo prevedel. Naložim na ESP32 in rezultat je: Watch dog resetira in resetira. Ta ide sigurno ni za začetnike. Ima sicer nekaj bombončkov, vendar po moji izkušnji ne odtehta.
Toliko.


Tudi za začetnike je po mojem mnenju primeren. Obstaja precej kvalitetnih youtube navodil kako začeti. Poizkusi najprej z enostavnimi primeri da dobiš občutek. Na ta način tudi vidiš kje ga polomiš in zakaj kakšna zadeva ne deluje. VS + Plaformio je bistveno bolj prijazen, hitrejši in uporaben kod okorni Arduino IDE. Je pa nekaj manjših razlik med njima. Arduino ima določene stvari poenostavljene medtem, ko je Platformio čisti C, C++. Ena od njih se mi zdi da je tudi, da moraš paziti kako so funkcije zložene (vidnost) ali pa uporabiš najavo vseh funkcij na začetku.
Esp32 je bolj kompleksen in ga lahko hitro spraviš iz tira. Še zlasti pri uporabi prekinitev, večopravilnosti (RTOS) oz. dvojedernem delovanju. Obstaja pa obilo informacij na spletu. Kjer je volja je tudi pot :).
tomazp
 
Prispevkov: 672
Pridružen: 19 Jan 2015, 10:14
Kraj: Ljubljana
Zahvalil se je: 113 krat
Prejel zahvalo: 215 krat
Uporabnika povabil: Zeci
Število neizkoriščenih povabil: 45

Re: VS Code + PlatformIO

OdgovorNapisal/-a zanka » 07 Sep 2021, 11:02

Veliko babic, kilavo dete.

Ko se mi karkoli zalomi skušam čimbolj oklestiti spremenljivke. Če so te spremeljivke odvisne od urejevalnika in z vsem, s čimer je obložen zaradi česar mi ni znano, kako stvari delajo skupaj, je lahko odpravljanje težav daljše. Recimo Arduino uporabniku omogoči uporabo funkcije millis(), vendar se uporabniku na spletni strani o tej funkciji https://www.arduino.cc/reference/en/lan ... me/millis/ ne obrazloži, da uporabnik s tem izgubi en časovnik. Če uporabnik, navajen dela kopiraj-in-prilepi, od nekje v svoj program povleče kodo, ki uporablja isti časovnik, so lahko težave ... zato je 1. naloga uporabnika ta, da ve in se zaveda svojega početja.

Če uporabnik ne ve, kaj počne, potem mu ne pomaga niti sočasno preverjanje kode, saj to preverjanje preverja samo pravopis (sintakso) in ne logike programa.
Uporabniški avatar
zanka
 
Prispevkov: 3240
Pridružen: 17 Mar 2016, 01:16
Kraj: SI-8000
Zahvalil se je: 123 krat
Prejel zahvalo: 381 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 76

Re: VS Code + PlatformIO

OdgovorNapisal/-a zanka » 07 Sep 2021, 11:06

Zaenkrat ostajam na istem kot pred letom. Ničesar ne pogrešam.
viewtopic.php?f=29&t=18249#p224483

To mi pokrije tako AVR kot tudi ARM, vključno z razhroščevanjem preko SWD, kot tudi programe za Windows in Linux
Uporabniški avatar
zanka
 
Prispevkov: 3240
Pridružen: 17 Mar 2016, 01:16
Kraj: SI-8000
Zahvalil se je: 123 krat
Prejel zahvalo: 381 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 76


Vrni se na Arduino

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost