Talking Tock 20
Low Power, USB and Bluetoothby Amit
This is the 20th post in a series tracking the development of Tock, a safe multi-tasking operating system for microcontrollers.
We’re giving a tutorial co-located with SenSys 2017 Novenmber 5th in Delft, The Netherlands. Go here for details and to sign up to recieve an e-mail when registration opens.
- Low power operation
- USB Enumeration for the SAM4L
- Bluetooth Low Energy Advertising
Low power operation
Easy to write low power applications is one of the main design goals of Tock. While we’ve basically built an architecture that should support it, we haven’t focused much yet on actually getting our development boards in to low power modes. That changed this week, as we got the imix down to 7uA! Read about the details here.
USB Enumeration for the SAM4L
@daniel-scs has been working for several months on supporting the SAM4L’s USB controller. He hit a huge milestone this past week managing to build enough support to enumerate the device on Linux:
If you’ve dealt with bare-metal USB drivers, you probably know that enumeration is a good deal of the way towards building a device, and we’re all in awe of @daniel-scs.
PR #416 includes a few layers of abstraction geared towards building more complete applications: a low-level HAL, a generic USB device interface and a simple enumeration capsule.
Bluetooth Low Energy Advertising
We’ve had support for using the NRF51’s Bluetooth Low Energy capabilities over a serial port for a while, but had not yet had support for BLE natively in Tock (i.e. only when the NRF51 is running as a peripheral chip). @niklasad1 @frenicth’s masters thesis work adds support for Bluetooth Low Energy advertising to the NRF51 port of Tock.
The screenshot is an Android phone picking up on an advertisement running their code on an NRF51DK. The manufaturer data field shown is an actual reading from the NRF51’s temperature sensor.
- (#397) @bradjc wrote an IPC tutorial
- (#406) @bradjc added a MCP23008 GPIO extender capsule and GPIO Async driver
- (#417) @daniel-scs Daniel fixed some comments on the SAM4L clocks
(#409) @niklasad1 and @frenicth are upstreaming their Bluetooth Low-Energy advertisement support for the NRF51.
(#416) @daniel-scs added USB enumeration to the SAM4L
Itching to start using and developing for Tock? There are still Hail development boards, the main board used for Tock development, available in stock. Check them out here.