Talking Tock 30
A world tour, docs, and so many contributors
by AmitThis is the 30th post in a series tracking the development of Tock, a safe multi-tasking operating system for microcontrollers.
Generated Docs
Are now posted to https://docs.tockos.org automatically!
World Tour
We literally went around the world in November!
First, we went to Shanghai to attend SOSP ‘17. We gave a tutorial the day before the conference and presented a paper on Tock on the second day. Next, we were in Delft for SenSys ‘17. We gave another tutorial there, and presented demos for Tock and Signpost.
A Growing Community
There are now a growing number of active contributors from a variety of institutions using Tock for a bunch of reasons. I’m going to try my best to keep an account of what folks are doing and update here. But I’ll probably miss some.
A brief overview:
-
Researchers at U.C. Berkeley are continuing to work on and deploy Signpost.
-
There are a number of ongoing projects at Stanford:
-
6lowpan/Thread support
-
A low power MAC for 802.15.4
-
Dynamic clock management for the SAM4L
-
Support for the Teensy board
-
-
Students at Chalmers University are starting to work on power-aware process scheduling and potentially native support for connection-oriented Bluetooth Low Energy on the NRF52.
-
@niklasad1 continues to improve BLE advertising on the NRF52, including currently advertising from unique addresses from each application.
-
Some folks from the community have begun working on ports to the STM32 series of microcontrollers.
-
@JayKickliter and @Vagabond having been adding support for various controllers to the NRF52 for some, as of yet, undisclosed project.
Pull Requests
Merged
- (#688) Changes to kernel
debug!
semantics (remove some metadata by default) - (#689) Improvements to SAM4L Flash driver’s state machine
- (#690) Update Rust nightly
- (#663) 6lowpan changes and fixes
- (#687) Replace queue-based interrupt handling with NVIC registers
- (#693) NRF52 I2C driver
- (#691) Use LLVM’s size optimizations
- (#648) Imix getting started fixes
- (#649) Convert nrf51 startup to Rust (using corrode)
- (#652) Add RomID support to Max17025
- (#660) Fix sensors app for NRF5x
- (#664) Add the NRF51 serialization capsule to imix
- (#666) Add imix test app
- (#672) Fixes to ELF2TBF
- (#673) Rustdocs posted automatically to https://docs.tockos.org/
- (#677) Generalize nrf5x GPIOTE to work with variable number of channels in NRF51 vs NRF52
- (#678) Remove unsafe from capsules and enforce through crate feature
- (#681) Add write_read to I2CMasterSlaveDriver