Here’s the development machine. I love hardware that folds down almost as much as I love free hardware that I picked up because someone else didn’t need it, and this is a blend of the two.
Everything I have in this photo fits into the official touch screen box, along with a chunky battery and a spare USB lead for power. It’s a Pi 3 with blinkt hat, touch screen, Rii-diculously small keyboard on which yes, I genuinely type, and two Fold Holds (by Jonathan Woolf) to hold it all up and protect the screen when it’s packed. You might say the touch screen is overkill – I don’t have a GUI on the machine.
I’m going to design a hat to go on top, which will be able to fly out the unused pins currently covered by the blinkt, giving me breadboarded GPIO access. Nothing could possibly go wrong with that plan.
I may have got a little carried away.
The Blinkt hat has a perfectly* good python library which does everything you might reasonably want to do with a set of 8 APA102 lights. My problem there is the word ‘reasonably’. So, I re-wrote it in C++, because my soul has never seen the light of day.
(* nearly perfectly. Some might say that flushing the visible buffer by writing white pixels off the end of it is a little much if you decide to define the number of LEDs as 6 for testing and OW MY EYES.)
It’ll take arbitrary pixel length, just like the python library, but unlike the python library it’s built with the assumption you’ll want to make and use multiple patterns, and manipulate those patterns with regard to each other. I can cross over patterns based on whatever input I like, as long as I painstakingly craft that input and sanitise it myself.
The reason I wanted to dig deeper than the python framework was that the Raspberry Pi is my lightweight development machine. I have a laptop that fits into a box. More on that in the next post.
I’m reliably informed that it’s against the law to have a blinkt and not use it to output something something pop culture Davis Hasselhoff – so here is the Larson Scanner in use: Video 19-04-2017, 14 00 28
The C++ library is available at https://github.com/dianaprobst/clinkt. You’ll need the bcm28somethingorother library, but the README.txt has that information. If you want to use cheerlights or APIs you’ll also need libcurl.
I can see why the Ark of the Covenant burned the faces off Nazis. It was full of LEDs.
It would be faster if I were allowed to code this:
for i in range(sensible, rangelimits):
Or in C++:
for (int i = 0; i < range; i++)
The gilded cannonball is ready. It’s so cool I made myself one too, to carry on me. Artists need gold-leafed 6lb cast iron spheres so often!
accu.co.uk is a very dangerous website for me. I needed to buy screws and nuts for a client project.
Yep, my own collection got some new sizes. Judge me if you want. My M8x20 says I don’t need to care.
Yep, should have ordered more acrylic.
This is not about cannonball gilding at all. I showed a friend a photo from the process of making his Christmas Present and he said he was in need of a cannonball, so that’s my code name for this. I have pictures of it being polished as well. But, as there’s a chance he might see this before Christmas, let me just say that the gilding powder picture came out badly.
I need to mess with the PID loop on the 3D printer. Right now it’s got about 12 possible temperature states in a look-up table, and that’s not enough. It needs 60, I think. The symptom is that the print never starts, and I believe that’s because the temperature never stabilises enough. If the change in loop doesn’t fix it, I’ll end up using an Arduino/Ramps combo, but I need to do this.
I’ve needed to do it for about five months now. I do not want to flash that damned thing Yet Again. For one thing, it’s been months since I have and I’ve forgotten most of the steps.
Update: Have accidentally ordered an Arduino Mega to go with the early RAMPS board I picked up. I was on eBay and it fell into my basket.
I’ve replaced the head on the 3D printer. Mechanically, it’s all fine. Physically, it looks good. There’s a bit of wobble, but that’s a matter I can deal with trivially with shims.
Now I need to flash new firmware. Probably not using a .hex file – I should be able to expand the Arduino environment a bit. So listen out for sobbing.