TinyGo â Go keele kompilaator, mis on mĂ”eldud kasutamiseks sellistes valdkondades nagu mikrokontrollerid, WASM ning kĂ€sureautiliitide vĂ€ljatöötamine.
TinyGo kasutab Go projekti tööriistu ja raamatukogusid, pakkudes samas alternatiivset meetodit programmide kompileerimiseks, mis pÔhineb LLVMi arendustel.
Projekti eesmÀrgid:
- Tagada minimaalne tÀidetavate failide suurus.
- Toetada vÔimalikult paljusid mikrokontrollereid.
- Toetada WebAssembly't.
- Hea CGo tugi.
- Toetada originaalkoodi Go keeles muutmata.
NĂ€ide LED-i lĂŒlitamise kasutamisest mikrokontrolleris:
package main
import (
"machine"
"time"
)
func main() {
led := machine.LED
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
for {
led.Low()
time.Sleep(time.Millisecond * 1000)
led.High()
time.Sleep(time.Millisecond * 1000)
}
}
Versioon 0.6.0 sisaldab mitmeid muudatusi. Peamised neist seotud CGo toe tÔhustamise, js.FuncOF (Go 1.12+) ning kahe uue arendusplaadi: Adafruit Feather M0 ja Adafruit Trinket M0, toega.
Muudatuste tÀielik nimekiri on saadaval Projekti GitHubi leht.
Allikas: linux.org.ru
