Tangerine Dream

A comment from Jeremy yesterday planted a seed, which has rapidly become a germinating coconut!

It started with using a RPi B2 to give me the extra CPU cores I wanted rather than wait for the fictional RPi A2.  I’d not considered a B2 as only A+ fit between the top and bottom plates of the frame, but in the past I’ve used Bs, As and B+s sat on the top-plate.  Immediately I thought of Chloe who’s currently just a Phoebe clone – but a RPi B2 could make her so much more – I started rebuilding Chloe to shuffle the bits around to make space for the RPi B2 on the top plate.

I’d need a case of course for protection in her new exposed position on the top plate, and the Tangerine PiBow appealed for some reason.  Perhaps it’s the seasonal stocking filler from Santa?

Then it dawned on me that since using Jessie for Zoe, I’d not seen any I2C errors which have plagued the accuracy of sensor readings for a year now, and that meant I could reconsider using some of the FIFO variants of the code I’d shelved.

By using a FIFO, control of time is no longer tied to the data ready interrupt: additional function does not have to be squeezed into the few milliseconds between sensor readings; the code can do what it wants (for example with additonal sensors) and periodically empty the FIFO and process the contents, with accurate elapsed time based on the number of samples retrieved from the FIFO.

For now, I’m going to focus on getting Zoe and her PiZero up to Phoebe’s standard, but I hope to then raise the Tangerine phoenix that’s Chloe from the flames.

 

Oh, feck!

Something has gone horribly wrong with Zoë.  I can only get one run from her; a second time results in completely duff sensor readings.  A power-reboot allows one more run and then the same happens again.  Any level of the code dating back months shows the same problem.  That suggests sensor damage.  She did take a major crash on her last flight with unknown cause – perhaps that was symptomic of the sensor damage or perhaps the cause?

So it’s RIP Zoë, Chloë and Phoebe for now as I’m out of MPU-6050’s.

Annoying because I’d just recalibrated yesterday, and wanted to test it in today’s good weather along with a set of changed butterworth filter configuration.

On the plus side, it’s now full speed ahead for HoG – first stop is to get some paper so I can print out the MPU-9250 specs and update the code.

Code updated on GitHub

The latest code is up on GitHub, but be aware that because the code is mostly the same for Chlöe and Phoebe, the code checks which of Phoebe or Chlöe are running it so that the right per-platform pieces are used. If the host is not Phoebe or Chlöe. it aborts.

For you to run it, you’ll need to add your own Raspberry Pi hostname to the list of permitted pilots, and

Search for “i_am_phoebe” in the code to see what I mean.