[StabiloRose] Lastday, let the bug hunt beggin

So today I started my activities by mounting a “ppt” presentation for tomorrow. I passed some time after that helping at the implementation of some animations and stuff. The real problem that made me going bed at this hour was a led problem. Fortunately or not we discovered that for mystery reasons (probably a curt circuit somewhere) the first 6 leds of our top semi-sphere were burned. So back to soldering. Thanks for the higher forces now everything is ok.

That is it.

So this is it I guess !

Hi everyone !

This post will be my last one, so enjoy it as much as you can ! 😉

During this week, I mostly focused on making the streaming of images work other Wi-Fi. I’m not proud it too me this long, and even after that, and a lot of re-factoring, changing of plans, and debugging, it wouldn’t work properly.

In fact, it did. For ~20s. And each time it failed after that. I was giving up to focus on a lesser, stabler version for the presentation, but Sam told us this morning that there wasn’t any interest in our project without it. And with his help, things started to get better. But the real hard work was done by and with Natolumin. He helped to eradicate the remaining bugs and found my problem: sometime, TCP cut a command string in half, crashing the program by filling buffers with unexpected values.

I already have heard of pair programming, and wasn’t especially keen on the concept. I pictured it as annoying for both the observer and the writer. Too much frustration on one side and too much judgment on the other. But I was surprised to find there weren’t any of them. In fact, we were both so tired and depressed that a second brain and motivation was more than convenient.

Now, we’re still stuffing server and flash with the best animations to make you dream and wonder. See you tomorrow !

[StabiloRose] The Fuck !


[StabiloRose] Reaching the goal

Today I altered some animation codes and translated them to the language our server is coded at. I also helped at the recording of some videos and photos with the sphere. After a brainstorm of ideas for the final presentation i think we are going to do a pretty little show.

That’s it for today. Now sleep.

[StabiloRose] gotta go fast !

Today, we did some pretty good optimization on the critical path of the application : applying rotations and computing distances. We went from ~24ms per frame to ~1.5ms per frame, using precomputed tables to compute arccos and the famous fast inverse square root from quake III.

Since our IMU only gives position at a 100Hz rate, we can’t really improve much on the stability now, except with some kind of inertia-compensating algorithm using the gyrometer, which we probably can’t do in the alloted time, but it already looks pretty good now ! (sorry, I don’t have a video)


[StabiloRose] A day full of emotions

Today we finally merged plenty of the work we were doing in parallel, we had a hard time solving eventual bugs an conflicts. We also made a test with the ball closed and turning a test routine (as you can see in the video posted by my colleagues).

Thats it for today

[StabiloRose] For the code is dark, and full of bugs

I’ve probably seen every one of them today (hyperbole intended) : {integer, buffer, stack} overflow, null pointer dereference, divide-by-zero, encoding issues… Even what seems to be a hardware problem : when our JTAG probe is unplugged, the USB connection hangs, even after a hardware reset.

Tomorrow (well, today) is the first-last-day. It’ll be over soon !

[StabiloRose] 9 hours left…

What’s the best adjective to describe ROSE ? The first word which comes is “intense”. Even if our sphere is not perfect. There are a few crazy LEDs near to the poles. The assembly is a bit fragile. We’ll see that tomorrow.

The next step is to read a few tutorials and courses.

[StabiloRose] Neighbor average at leds

Today I worked at the algorithm to calculate the neighbor points of our digital representation of sphere. After some time yesterday translating the math from the paper we are using to map the sphere I implemented the function to use it. Now our sphere is capable of display more smooth transitions of colors. I also worked re soldering parts etc.

That’s it for today

[StabiloRose] Today was not that bad

Yet, I would not have said that a few hours ago. Since this morning, I have not been productive. First, I was not able to fix a corrupt stack. But, thanks to Natolumin, the problem have been solved since 7 pm. I could not fix the calibration of the LEDs. To sum up, all I did until this evening was making a few hole and the assembly of the PCB support (and a trip to bricorama). Nothing really useful.

However, thanks to the team, “we” obtained good results during the night, a few bug fixes and features implemented. And it is good to see that the project complete its PSSC.

For the anecdote, I fixed the calibration issue about an hour ago. In one hemisphere, one of our strip was reversed. The problem is trivial. You spot the beginning and the finishing LEDs, then flip the calibration data. However, when you swap cells like this with libreoffice, it automatically adapts formulas such that the other column remains identical. What a great idea ! For me, the opposite behavior is so obvious that I have not even thought about checking that. Anyway, it is ok now.

Good night.