In the previous article, I described a dataflow environment called “Pure-data” and mentioned that I’m working on something similar. It uses the same dataflow approach as Pd, but it’s (much) simpler so it can fit into a low-end ARM …
Pure-data
For many years I’ve been interested in dataflow as a way to structure software at a high level. Starting out from Flow-based programming (“FBP”), I was really impressed by the open-source Pure Data (“Pd”) project, which is …
Testing I2C and SPI communication
There are a number of driver variants in JeeH for external chips attached via I2C and SPI. To test these (on several different boards), I made a small circuit with both an I2C and an SPI memory chip on it. This way, automated tests can be set up to verify …
Running embedded tests on a µC
Interrupts
Interrupts can be very useful: as the name says, they signal when something has happened while you’re busy doing something else. In embedded systems they can tell you when a a timer expires, when a pin level changes, and when an I/O operation …
Sync mode drivers
As described in the previous article, JeeH’s “tasks” implement a limited form of concurrency. This includes “async” drivers to deal with interrupts. But asynchronous I/O requests are somewhat inconvenient: once such a request …
Multitasking
It's been a while
How time flies … (and there’s a reason: we’ve moved to a new apartment).
I’ve started working on JeeH again (which is now at version 7). There have been several substantial changes, affecting all parts of the project:
Goodbye threads, hello workers
The big picture in JeeH is still not right: I don’t like the way device drivers run in an exception-centric “handler” mode, whereas the rest of the application uses “thread” mode. This distinction was needed to provide atomic …
JeeH 6.1.0
JeeH version 6.1.0 release notes and highlights:
This is a minor release. I’m pushing this release out to prepare for some new ideas - mostly aimed at reducing overhead and complexity, and at improving JeeH’s low-power capabilities.
The current …