This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
thesis:work-journal [2019/03/02 16:03] avnerus |
thesis:work-journal [2019/03/07 17:08] avnerus * |
||
---|---|---|---|
Line 263: | Line 263: | ||
===== Fri 01/03/2019 ===== | ===== Fri 01/03/2019 ===== | ||
+ | |||
+ | ==== Continuing the gst-rpicamsrc saga ==== | ||
+ | I finally got an answer from someone in the #uclibc-ng channel. He wasn't from the actual development team, but he had very good insights. The log of the chat is here: {{ :thesis:work-journal:uclibc-ng.txt |}}. To summarize the points from the conversation: | ||
+ | - Uclibc-ng has plenty of flaws. The dynamic linker is a big mess. | ||
+ | - All of the embedded/micro linux distributions, including OpenWRT, Yocto and Alpine Linux have moved from uclibc to another faster and cleaner library called [[https://www.musl-libc.org/|musl]]. | ||
+ | - Buildroot supports musl, but it still maintains uclibc-ng as the default libc implementation, the main reason being that the developers of both platforms are closesly related. | ||
+ | |||
+ | To sum it up from the words of sh4rm4^bnc: | ||
+ | <code> | ||
+ | < sh4rm4^bnc> if you want a slim, fast, memory-efficient OS, musl should be the first choice | ||
+ | < sh4rm4^bnc> if you want the kitchen sink and be able to run all kinds of unportable crap, then you should use glibc | ||
+ | < sh4rm4^bnc> uclibc is for when you have no other choice | ||
+ | < sh4rm4^bnc> glibc is the bloated stuff running on your desktop linux | ||
+ | </code> | ||
+ | |||
+ | So I already built a new image using musl. I had to update and apply [[https://github.com/WebPlatformForEmbedded/meta-wpe/blob/master/recipes-wpe/wpewebkit/wpewebkit/0001-Fix-build-with-musl.patch|this patch]] for WPE, but I'm excited to see how gst-rpicamsrc works, **with the original rpi-userland**, stay tuned. I also posted my problem to the uclibc-ng mailing list [[https://mailman.uclibc-ng.org/pipermail/devel/2019-March/001824.html|here]]. | ||
+ | |||
+ | ==== Fried Teensy and Motor drivers ==== | ||
+ | |||
+ | Over the past week, while mostly working on the uclibc issue, I also managed to fry my Teensy. I was setting up the pressure board when suddenly I heard one of the solenoids flip, and after that the Teensy would not respond anymore and was declared **bricked**. | ||
+ | |||
+ | Since I am still using a breadboard with tons of wires, it may have been that a loose wire from somewhere touched something that it shouldn't be touching, but Janne suggested that it may have been [[https://en.wikipedia.org/wiki/Counter-electromotive_force|"Back EMF"]] - a transient counter electromagnetic force that goes the wrong way, and fries your components. I am still not sure about it, but the manual for TB6612FNG suggests that it is something worth considering in your circuit, and the solution is pretty simple - Diods. As described [[https://www.instructables.com/id/Using-the-Sparkfun-Motor-Driver-1A-Dual-TB6612FNG-/|here]], if your motor is driving in just one direction, all it takes is one diode that is parralel to the motor's +/- , with the direction (line) of the diode going from (-) to (+). | ||
+ | |||
+ | With great delight I installed diodes on all of the valves and the pumps, and when turning on the power, **3 motor driverss were fried**, one of them even burst into a flame, because it burned the paper label that was on it: | ||
+ | |||
+ | {{:thesis:work-journal:burned_motor_driver_label.jpeg?400|}} | ||
+ | |||
+ | Apparently, the black/red wires going from the valves were actually reversed, because what actually determines which pin of the driver is plus and which is minus, is how I set the HIGH and LOW on the input pins. So I basically diverted all of the current right back at the motor driver. Damn. **Next time try one motor driver first **. Luckily the teensy survived and the motor driver is not too expensive. After organizing and reversing all of the wires, I now have a working setup again, which is also protected from Back EMF, and //apart from 1 teensy and 3 motor drivers //, everything else seems fine. | ||
+ | |||
+ | ===== Tue 05/03/2019 ===== | ||
+ | |||
+ | For just adding some task notes so I won't forget: | ||
+ | |||
+ | * Chcek out the WPE Webkit performance tips for RPi [[https://github.com/Igalia/meta-webkit/wiki/PerformanceTips|here]] and [[https://github.com/Igalia/meta-webkit/wiki/RPi|here]]. | ||
+ | * Add GSTREAMER_GL setting. | ||
+ | * Modify GPU memory settings. | ||
+ | |||
+ | ===== Thu 07/03/2019 ===== | ||
+ | |||
+ | Again a reminder: | ||
+ | |||
+ | * **Patch gst-omx to remove the hdmi / analogue audio sink plugins from gstomx.conf** | ||
+ | |||
+ | |||
+ | |||
+ | |||