💾 Archived View for gem.librehacker.com › gemlog › tech › 20220615-0.gmi captured on 2024-06-20 at 12:07:56. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2022-07-16)

-=-=-=-=-=-=-

Various Updates

An update on various things I have been working on:

Ham VHF

I don't have much free time at home, due to the busyness of taking care of three little kids. But I got a rare 30 minute break recently, and I used it fix my little indoor dipole antenna for 2 meters. I figured out that a connector was not making contact with another connector. I then dusted off my HF/VHF radio and keyed up the nearby UAF repeater. Unfortunately due to my bad geographical position besides a dirt-bank, and inside an apartment, I cannot key up the more popular KL7KC or KL1AC repeaters, at least at the low power settings I am using.

BEHEAD

I learned some more about the Mecrisp Stellaris dictionary management tools, and wrote a BEHEAD word. It hides words in the dictionary by unlinking them from the dictionary chain, without deleting the word entry or code. Basically this allows you to have private words in a code module, by BEHEADing them at the end of your module.

BEHEAD word for Mecrisp Stellaris Forth

I used this new word in various places in the mf-lcd project to clean-up the module interfaces.

I2C Keypad

I wanted to start writing drivers for a 4x4 keypad matrix. I bought the usual cheap model off Amazon, but got sick of dealing with the cheap solderpads which don't hardly transfer heat, and break off easily. So, I tossed that, and instead bought the Silicone Elastomer keypad from adafruit, which looked nice, along with their I2C interface board for it.

https://www.adafruit.com/product/1611

https://www.adafruit.com/product/1616

Unfortunately, Mecrisp Stellaris Forth does not have I2C drivers written yet for the RP2040 target, so I am taking on that challenge. I spent a while reading up on I2C. I wrote drivers once for SPI in the past, but I haven't needed to use I2C before. RP2040 has built-in I2C support so hopefully this won't be too difficult.

To help me in development, I started writing some code to interpret and print out the control register settings of the GPIOs on the RP2040 — more specifically the GPIO function settings. With RP2040, the individual pins can be configured to quite-a-few different functions, as much as nine different functions on some pins.