2023-03-21 (Tu) EWC_Box First fixes to five()

I made a list of problems with mode5() and set to fixing them. The first problem was the system seemed to ignore the first melody channel, but when I tracked it down, the culprit was a less-than sign which should have been a less-than-equal comparison. When I decremented the melody channels, the device left notes "hanging" if they came from instruments that perpetuated, such as bowed strings or woodwinds. I added a line that turned off notes in the unused channel. I updated my function that ran upon starting a new mode to prevent a bug that prompted the melody channels to their max.

I changed my startup code to begin in mode4(), so I could transition into mode5() immediately after rebooting, but I wanted to start in mode0(), as I had from the beginning. I added another feature to the serial input that let me enter a number 0-9, and it would switch to that mode immediately. If I enter a number outside the usual range, it goes to a default mode which turns all the notes off across the MIDI port and displays a waiting screen.
Serial communications

The rest of the posts for this project 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.