#openHardware #openSource #webPBrick
Dear chaos bubble,
during #37C3 there were two scheduled meetups: "Bällebad-Sortiermaschine // Let’s build a ball pit sorting machine (MeetUp)
flair" - Did any plans turn up from this?
Also, I could provide you with some oldschool #LEGO #Mindstorms #RCX (from the first generation).
Wooohoo. I've been able to talk to my #LEGO #Mindstorms yellow programmable #RCX brick. This time via the infrared USB(!) tower (and not the serial one)... via WebUSB in the browser. This is lacking some robustness still.. but loading firmware and user programs compiled from NQC doesn't feel to far away. Just pushed the experimental code to the #WebPBrick git repository.
Could still need some help getting my JavaScript right though (less hacky, more robust): https://chaos.social/@maehw/112832014771094684
Attached: 2 images Dear folks of #JavaScript #async #programming. This #Promise stuff is still voodoo to me. Any simple solution to set a timeout on this byte-receiving loop? I have to collect data from an USB IN endpoint... and let's assume(!) I don't know when I am done (how much data to receive) so that I always have to cancel the last started `transferIn` (#WebUSB) after a timeout (let's say 500 milliseconds). How would you do it? I've trued hacky Promise/timeout stuff, but don't feel comfortable with it.
Wrote a "high level USB decoder" which sits on top of Saleae's USB LS/FS analyzer so that I can see the really relevant data. Should help getting me the #LEGO #USB Infrared Tower for the #Mindstorms #RCX analyzed better... and maybe provide #WebUSB support on #WebPBrick some day. Sometimes you cannot to see the wood for the trees. (I was surprised recently that this saying could be translated from German to English 1:1.) Planning to open source the tool.
Another day playing around with the #LEGO #Mindstorms #RCX:
This time, I've reactivated some #brickOS demo files. I just found out that I had installed the toolchain on my Debian-based laptop earlier but never really tried it out. It works!
You can now let a GitHub action build brickOS user programs for you: https://github.com/maehw/BrickOsTest
More details here:
https://maehw.wordpress.com/2024/06/23/using-l%cc%b5e%cc%b5g%cc%b5o%cc%b5s%cc%b5-brickos-for-the-lego-mindstorms-rcx-after-25-years/
👀 @luis_in_brief you migt be interested.
- Can you confirm that the `dll` download utility is based on LNP?
I am currently testing the #LEGO #Mindstorms #RCX analog clock. The NQC source code distributed with the original model does not compile in #WebPBrick's #WebNQC. Not too wild, as the main logic has been commented. I've added a touch sensor to initially set the clock during startup. And the light-based rotation sensor code has been replaced by code that handles the normal rotation sensor. 1/2
Attached: 2 images I've rebuilt Ben Williamson's "analog clock" #LEGO model which uses the #Mindstorms #RCX. Unfortunately, I do not have the fiber-optic component which he had used as rotation sensor. The rotation sensor I have still needs have its broken wire fixed. The clock gear defines a ratio so that the it needs to be driven with 48 discrete steps per hour (4 out of 5 minutes). Its programmed in #NQC. Mike Brandl has shared the PDF manual for this ancient technology on his website: https://lego.brandls.info/legbau.htm