No description
Find a file
2024-07-31 03:14:52 +03:00
testdata vibration for pinetime 2024-07-31 03:14:52 +03:00
board-badger2040.go vibration for pinetime 2024-07-31 03:14:52 +03:00
board-gameboy-advance.go vibration for pinetime 2024-07-31 03:14:52 +03:00
board-gopher-badge.go vibration for pinetime 2024-07-31 03:14:52 +03:00
board-mch2022.go vibration for pinetime 2024-07-31 03:14:52 +03:00
board-pinetime.go vibration for pinetime 2024-07-31 03:14:52 +03:00
board-pybadge.go vibration for pinetime 2024-07-31 03:14:52 +03:00
board-pyportal.go vibration for pinetime 2024-07-31 03:14:52 +03:00
board-simulator.go vibration for pinetime 2024-07-31 03:14:52 +03:00
board-thumby.go vibration for pinetime 2024-07-31 03:14:52 +03:00
common.go vibration for pinetime 2024-07-31 03:14:52 +03:00
common_test.go vibration for pinetime 2024-07-31 03:14:52 +03:00
dummy.go vibration for pinetime 2024-07-31 03:14:52 +03:00
go.mod vibration for pinetime 2024-07-31 03:14:52 +03:00
go.sum vibration for pinetime 2024-07-31 03:14:52 +03:00
LICENSE.txt vibration for pinetime 2024-07-31 03:14:52 +03:00
README.md vibration for pinetime 2024-07-31 03:14:52 +03:00
simulator.go vibration for pinetime 2024-07-31 03:14:52 +03:00
tinygo_test.go vibration for pinetime 2024-07-31 03:14:52 +03:00

TinyGo board abstraction

This is an experiment. It may go stale, or it may change in backwards incompatible ways. Don't rely on it too much for now.

Goals

  • Provide a common abstraction for boards supported by TinyGo.
  • Provide a simulated board
  • Auto-generate all board definitions from a devicetree-like format. Don't write any of the definitions by hand. (See Zephyr OS for example).
  • Allow generating a similar board definition from target JSON files for custom boards.
  • Make it possible to identify hardware at compile time instead of relying on build tags, as long as this doesn't impact binary size too much.

Non-goals

  • Provide access to hardware unique to a particular board. A new interface has to be reasonably common, and has to be supported by at least two different boards.
  • Support custom boards from this package. Only boards that are (or were) actually produced should be supported. This includes dev boards, maker boards, electronic badges, etc.

License

BSD 2-clause license, see LICENSE.txt for details.