2022-01-21 (F) Weekly Summary

I dug into some of my old code to retrieve the part that generated pseudo-random notes, and it didn't match what was in my head. The version I kept mentally was sleek and easily controlled, but the version I wrote years ago didn't meet that elegance. I plan to rewrite a streamlined version for this project.
EWC pseudo code

I replaced Adafruit's buggy OLED library with GuyverOLED, but it has different issues. Before, I had trouble uploading code because it would say that the display failed to boot, but now I get a warning that my dynamic memory is low and could cause stability issues.
New library, new problems

I fought with the memory issues more and found that the new display library takes over sixty percent, so I'll have to be stingy with the rest of the code. I started a new function that will test if one note is compatible with the next, but I ran out of time and alertness before finishing.
Function to calculate loop COMPATIBILITY

I went around and around to fix the compatibility checker. I thought there were three circumstances I needed to check regarding the presence or absence of negative integers, but I was confusing myself. There was only one integral equation and check. I confirmed the efficacy of the function in serial output that flagged the loopable arrangements.
Compatibility checker working

I am planning for V2.0 of the instrument panel. There were a few things I didn't like about the interface, like cycling through instruments one at a time with push buttons was cumbersome, but a rotary encoder should streamline that procedure. I made new button overlays to match.
Updated button overlays

I used a switch() function to display my chord names and assign corresponding values to an array for easy access later. If I'm lucky, I can apply this technique to the instrument names and save memory, which is running low.
Displaying chords on screen

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

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.