2025-04-04 (F) Weekly Summary

I spent the day struggling with EEPROM storage. TcMenu had it built in, but I could not get it to work. I poured over the documentation and examples, but the best I could do was accidentally reboot. I can try again with low-level programming.
Unwanted reboot

I missed a step in the TcMenu documentation for selecting EEPROM settings while regenerating code. On the Arduino side, I could not get anything working until I called EEPROM.commit() after saving to write data to non-volatile memory. While some variables are not fully functional, the EEPROM issue is mostly resolved and ready for further work.
Receiving signals after a reboot

I programmed the octave shifting to have a low octave next to a high octave. If I were playing something like a church organ, I could hold a deep note, while fluttering a few higher ones, but I would only need a two-octave keyboard, like my keytar.
Octave shifting

I drafted some pseudo-code to outline melody looping. I am excited to see how useful this is and whether I should build another device to perform this function.
Pseudo-code for making loops

I created a function to assign each octave of a played note to its corresponding channel, which I refined by debugging with print statements. Although I initially struggled with some arithmetic errors and instrument changes limited to channel 0, I reorganized the code to allow unique instruments to play on separate channels and at ideal pitch ranges.
Testing the octave → channel function

Matt Knowles, Steph, Sarah, and I discussed The Goonies. We loved the nostalgia, talked about the problematic parts, and I wore a Hawaiian shirt with plaid pants.
Critical Affection: The Goonies
(1:17)

The rest of the summary posts have been arranged by date.
First time here?

Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5
Completed projects from year 6
Completed projects from year 7
Completed projects from year 8
Completed projects from year 9
Completed projects from year 10
Completed projects from year 11

Disclaimer for http://24hourengineer.blogspot.com and 24HourEngineer.com

This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.

All information on this blog, or linked by this blog, is not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property, or similar, is the responsibility of those involved in the replication.

All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by Brian McEvoy, cannot be used to claim property or assets.

Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim property or assets based on their post.

This blog, including pictures and text, is copyright to Brian McEvoy.

Comments