TinyGo berhevkarek zimanê Go ye ku ji bo karanîna li deverên wekî mîkrokontroller, WASM, û pêşkeftina karûbarê rêza fermanê hatî armanc kirin.
TinyGo karûbar û pirtûkxaneyên ku di projeya Go de hatine nivîsandin bikar tîne, di heman demê de rêbazek alternatîf ji bo berhevkirina bernameyan li ser bingeha xebata projeya LLVM peyda dike.
Armancên projeyê:
- Mezinahiya herî kêm a pelên îcrakar piştrast bikin.
- Hejmara herî mezin a mîkrokontrolkeran piştgirî dike.
- Piştgiriya WebAssembly.
- Piştgiriya CGo ya baş.
- Piştgiriya koda Go ya orîjînal bêyî guhertin.
Nimûneya karanîna ji bo veguherandina LED-ê li ser mîkrokontroller:
pakêta sereke
anîn(
"makîne"
"dem"
)
func main() {
led := makîne.LED
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
ji bo {
led.Low()
time.Sleep(time.Millisecond * 1000)
led.High()
time.Sleep(time.Millisecond * 1000)
}
}
Guhertoya 0.6.0 gelek guhertin dihewîne. Yên sereke bi piştgirîya çêtir a CGo, js.FuncOF (Go 1.12+), û her weha du panelên pêşkeftinê yên nû ve girêdayî ne: Adafruit Feather M0 û Adafruit Trinket M0.
Navnîşa tevahî ya guhertinan li vir heye Rûpelê projeya GitHub.
Source: linux.org.ru