June 22nd, 2024

Daily Automated Testing for Milk-V Duo S RISC-V SBC (IKEA Tretakt, Apache NuttX)

The article discusses daily automated testing for Milk-V Duo S RISC-V SBC using IKEA TRETAKT and NuttX RTOS. Tests run via Home Assistant API, Google Assistant, and USB serial port. Future plans include software emulator testing.

Read original articleLink Icon
Daily Automated Testing for Milk-V Duo S RISC-V SBC (IKEA Tretakt, Apache NuttX)

The article discusses the implementation of daily automated testing for the Milk-V Duo S RISC-V Single Board Computer (SBC) using IKEA TRETAKT and Apache NuttX Real-Time Operating System (RTOS). The process involves downloading the daily build of NuttX, powering on the SBC with an IKEA Smart Power Plug via the Home Assistant API, booting NuttX Mainline, and uploading the test log to GitHub Release Notes. The script controls the power plug through Google Assistant and Home Assistant due to the lack of a public API from IKEA. The automated test script, nuttx.exp, sends NuttX commands over the USB serial port to the SBC for testing. Test results are recorded in GitHub Release Notes daily. The article also hints at future plans to run the automated tests on a software emulator. The author expresses gratitude to GitHub sponsors and the NuttX community for their support.

Related

AI-powered conversion from Enzyme to React Testing Library

AI-powered conversion from Enzyme to React Testing Library

Slack engineers transitioned from Enzyme to React Testing Library due to React 18 compatibility issues. They used AST transformations and LLMs for automated conversion, achieving an 80% success rate.

More ARM Linux Laptops Are on the Way

More ARM Linux Laptops Are on the Way

More ARM Linux laptops are emerging, including Tuxedo Computers' "Drako" with Qualcomm's Snapdragon X Elite chipset to rival Apple's M2. This signals progress in ARM-based Linux devices, supported by Qualcomm's collaboration with Linaro for smoother integration. Challenges persist in ensuring compatibility and driver support, akin to Windows ARM laptops and Apple silicon MacBooks.

Hacking eInk Price Tags (2021)

Hacking eInk Price Tags (2021)

Hackers repurpose eInk electronic shelf labels (ESLs) into photo frames or status displays by customizing firmware. Detailed exploration of hacking challenges, including Marvell chip analysis, bootloader functions, memory storage, communication protocols, and debugging methods.

Update on GNOME Newton, the Wayland-native accessibility project

Update on GNOME Newton, the Wayland-native accessibility project

The Newton project aims to enhance accessibility on free desktops, focusing on Wayland-protocols, AccessKit, Mutter, Orca, GTK, and libadwaita components. Progress includes running GTK 4 apps in Flatpak sandboxes, with ongoing work to improve Orca functionality on Wayland. Challenges involve optimizing performance and addressing architectural issues for assistive technologies. Future plans may extend support to GNOME Shell UI.

Is Guix full-source bootstrap a lie?

Is Guix full-source bootstrap a lie?

The article discusses Guix's transparent and secure full-source bootstrap process, enabling users to verify over 22,000 nodes like Python PyTorch with 1150 dependencies. It emphasizes verifying each step to prevent backdoors or fraud.

Link Icon 9 comments
By @techdragon - 5 months
This kind of low level testing can be such a pain. Its fortunate this hardware has netboot. This is the "easy" path for low level testing, I've worked with other stuff where the only option is virtual SD card devices and ... damn its a pain... you end up with devices like this https://hackaday.com/2014/06/08/the-in-circuit-sd-card-switc... or when you're lucky and have more budget, devices like the SDWire ( https://badgerd.nl/sdwirec/ or https://shop.3mdeb.com/shop/open-source-hardware/sdwire/ which are both based on an older Tizen dev team design)
By @yjftsjthsd-h - 5 months
> But IKEA doesn’t provide a Public API for their gadgets!

But it's using ZigBee; you just need a USB/ZigBee bridge to run it locally.

By @cuu508 - 5 months
For turning on daily, perhaps use a 220V programmable timer? You can program the times of day when to turn the switch on and off. Costs less than $10, no wifi, no zigbee, no messing with APIs.
By @gruturo - 5 months
As others said, it's quite wasteful and unnecessarily fragile to introduce Google Assistant (and the Internet itself) in the critical path, although this is just driving an automated test rather than a nuclear reactor, so, sure, ok.

But even the suggestion to bypass Google Assistant still look so unnecessarily complex, especially if you didn't already happen to have a Home Assistant and a Zigbee adapter at hand.

This Milk-V duo seems to have a reset button (sadly not exposed on the GPIO pins, but that's not the end of the world). Find how it works (drive a certain line high or low, just see if one side is permanently 0V or 3.3V), wire it to your USB-UART adapter's DTR or CTS one, and toggle it when you need a reboot.

Done.

It does require soldering 1 wire, and not every USB-UART adapter has a DTR or CTS line (but a majority do), but it's so beautifully simple compared to this.

(Speaking as someone who _does_ have a suitable homeassistant (with zigbee2mqtt and slae.sh's excellent CC2652 stick, deserves a plug on HN: https://slae.sh/projects/cc2652/ ))

By @nyc - 5 months
I think it’s useful to see how this is possible using only consumer products and software!

An alternative solution that’s less roundabout could be to use a uhubctl (https://github.com/mvp/uhubctl) compatible USB hub and directly switch the power of the usb port.

By @a_paddy - 5 months
A TP Link or Belkin smart plug could be controlled locally via REST, removing multiple cloud dependencies.
By @Neywiny - 5 months
I kinda do this at my work using lab power supplies. Most support some kind of remote control. I guess it's a trade-off on time and jank vs upfront cost for a decent lab supply.
By @mike256 - 5 months
If you use Home Assistant you just need a cheap zigbee adapter instead of the ikea thing. If not use something like zigbee2mqtt which provides you an api.
By @akerr - 5 months
Philips Hue has local API access for this sort of thing. Works with non-Hue Zigbee accessories too.