Categories
Computing

conway: Native Yarg

I’ve been using a Cube:bit running Conway’s Life as a test for Yarg for a while. Today marked a milestone, when the C driver it was previously using was removed. This now runs exclusively Yarg.

The need for C was because the WS2812 LEDs used a PIO based driver, and PIO was outside the scope of what Yarg could manipulate. That’s now changed, and Yarg can host and setup PIO programs. Along the way I needed to add DMA support too.

Both of these (PIO, DMA) need a lot more work to become general purpose, but this milestone remains significant. This is a non-trivial use of Yarg on a microcontroller with no need for C drivers.

Conway’s life running on an LED cube.
Categories
Computing

Test Hardware

As I test Yarg, I need to run it on circuits that include more than just a standard Pico board. The circuits are mostly trivial, so it is not clear to me if they should be ‘licensed’ explicitly, or perhaps better left stand-alone. As a way of learning about the problem of licensing open hardware, I’ve elected to use an easily discoverable ‘permissive’ license: CERN-OHL-P v2. The CERN Open Hardware Licence seems a good place to start.

These designs are shared in a specific repo, so that the meta-data kicad and other programs need can be maintained away from the Yarg repo.

Categories
Computing

What’s in a Name?

Raspberry Pi Pico boards and a piece of Cornish Yarg cheese.

I need a name for the language I’m creating. I’m a fan of cheese, and Cornish Yarg is one I’ve enjoyed a few times. Yarg is nice and short, and is not currently a language name I can see in use. So yarg-lang.dev seems like a good place to host the project, and a good first stop for people interested in a programming language called Yarg.

Pushing things a bit further, Cornish Yarg is wrapped in nettle leaves. These are edible by the time you buy the cheese. Starting out with something that might sting you and ending with something useful… That sounds analogous to many of my experiences developing Microcontroller firmware!