Toit - a language for microcontrollers with live reloading
(toitlang.org)
from armchair_progamer@programming.dev to programming_languages@programming.dev on 11 Jul 2024 21:17
https://programming.dev/post/16725734
from armchair_progamer@programming.dev to programming_languages@programming.dev on 11 Jul 2024 21:17
https://programming.dev/post/16725734
Some features:
- Ruby-like syntax, terse lambdas that look like regular control statements.
- Everything is an object.
- Integrated package manager.
Jaguar is a small app that wirelessly connects to an ESP32 and can load and live-reload Toit programs. This is opposed to something like connecting the device via USB and re-installing the program every time you make a change.
Example (github.com/toitlang/toit/blob/master/…/scan.toit, see the GitHub link for syntax highlighting):
// Copyright (C) 2022 Toitware ApS. // Use of this source code is governed by a Zero-Clause BSD license that can // be found in the examples/LICENSE file. // This example illustrates how to scan for WiFi access points. import net.wifi SCAN-CHANNELS := #[1, 2, 3, 4, 5, 6, 7] main: access-points := wifi.scan SCAN-CHANNELS --period-per-channel-ms=120 if access-points.size == 0: print "Scan done, but no APs found" return print """ $(%-32s "SSID") $(%-18s "BSSID") \ $(%-6s "RSSI") $(%-8s "Channel") \ $(%-8s "Author")\n""" access-points.do: | ap/wifi.AccessPoint | print """ $(%-32s ap.ssid) $(%-18s ap.bssid-name) \ $(%-6s ap.rssi) $(%-8s ap.channel) \ $(%-8s ap.authmode-name)"""
threaded - newest