Sunday, April 23, 2017

Embedded system progress

Airball embedded system code is moving right along.

* Here I've improved the concurrency so that we have a separate input handler (equivalent to an interrupt handler) that puts inputs on a queue, and a separate display thread. This mostly fixes the problem of flakey response to the encoder knob. The rest of the flakiness I suspect will be solved once I've added a proper RC (resistive-capacitive) debounce circuit to the analog inputs.

* The display code timing is fairly primitive right now -- I just sleep for 10ms between each recompute/repaint. This puts me at about 50% CPU load on the Raspberry Pi 2 that I'm using, and a frame rate fast enough that the steps are not perceptible. I need to do more instrumentation and measurement, and use a proper timed display clock, but for now this is very promising.

* The next step is to connect this up to an XBee wireless link so I can get data wirelessly. Once that's done, I'll have a benchtop prototype of pretty much all the moving parts.

* The following steps are to resume work on the airdata probe, and to start looking at high brightness displays and embedded computers. As to the latter, some SODIMM form factor ARM compute-on-module units are looking promising:…/cl-som-imx7-freescale-i-mx-7-sys…/

No comments :

Post a Comment