Generally, I think we want the guides to track major blocks of
functionality in Mynewt. To me, the major blocks are:
- OS
- Bluetooth Stack
- Bootloader, Flash & FS
- Console & Shell
- HAL
- Newtmgr
For the OS, I think we want:
- How to define a task that uses event queues to manage multiple events
- How to use memory pools and heap, and how to layout memory on embedded
systems
For the Bluetooth Stack:
- How do we create an endpoint device, and define a GATT attribute
- How do we create a beacon device using the Bluetooth stack
- Connecting to a remote device, and reading attributes using the
Bluetooth stack
Bootloader, Flash & FS
- How do we create a flash image, including bootloader and images
- How do you create, size and install NFFS on a device's flash
- How do you read & write files with the FS APIs
Console & Shell
- How do you initialize the console and shell, and log messages to the
console
- How do you create custom shell commands
HAL
- The HAL is relatively undeveloped at the moment, I think we should add
HAL tutorials in the next release.
Newtmgr
- How do you access a device using Newtmgr over BLE and Serial
- How do you do an image upgrade with Newtmgr
- How do you add a custom Newtmgr command
With the first release of Apache Mynewt poised to be unleashed to the world,
I’d like to brainstorm some tutorial topics to get people trying out the OS and
seeing how easy it is to use. Let’s try to come up with 10 tutorial topics.
Here are a few I thought of. I’d like us to come up with at least 10 additional
tutorials. And yes, it would mean doing them and documenting them. Feel free to
pick the list apart and suggest your own ideas. And we can come up with a final
list and vote.
1. How to create a custom LED blink pattern on the STM32F Discovery board from
STMicro
2. Turn on the LED x mins after specified wall clock time (like security lights
that automatically on after 6 pm)
3. How to define a new event or statistic (e.g. available memory is less than a
specified threshold) and log an alert (or read it with newtmgr)
4. How to write a test utility for a pkg
+1
5. How to plug in a different file system instead of nffs (say, yaffs ?)
I'd say this one should go in the later bucket.
6. Connect a digital sensor to a board (Arduino?) via GPIO or UART, detect and
log level changes.
+1
7. Quiz buzzer - scan the push button input and display the corresponding
number on a display
I think this one may be on the complicated side for what we can get
done. But it would be nice to have.
8. Build a BLE beacon that broadcasts some internal information (manufacturing
specific info or firmware info)
9. Query your Mynewt BLE device (board) remotely via console terminal
+1
10. Slinky - this is already there but could do with some embellishment esp. in
the documentation.
Yeah. Slinky right now has too many things initialized for testing
purposes. This needs to be stripped down.
Sterling