Talking Tock

Talking Tock 30 A world tour, docs, and so many contributors Nov. 29th 2017 by Amit

This 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)

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

Proposed