An update on various things I have been working on:
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.
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.
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.
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.