Well it's doing _something_. EDIT: Ok, it works. Straightforward, as I thought. Splitting hw and logic seems to be a really good idea. Also makes it clear that the API between the two isn't clear until the logic is fully debugged. I.e. testing does need to happen on the actual hardware to shift some of those arbitrary decisions around.