Debugging on Lazy Brown Dog began in earnest. The keys for changing layers were not in the desired place on the drawing, so they were replaced in software to operate in the way I would expect to use the buttons. The schematic was redlined to show the changes too. Since these buttons will perform the same way in all modes, some of the complex switch() statements were removed, so they do not question which keyboard mode (layer) is active.
Another reason the layer changing was not acting as expected was that I numbered them incorrectly. In the beginning they were zero-justified, but that was forgotten, so the keyboard was skipping desired layers. I found this out when I tried to activate the keypad mode, but I got inconsistent numbers when I should have been getting "5" every time the button was pressed. This was especially concerning since the result was different each time. When I reviewed the layers, I remembered that I had put a psuedo-random number generator into the keyboard so that different dice rolls could be spat out anytime I wanted. This explained the inconsistent numbers being typed. The random() function was also repaired in the code by adding 1 to the second digit otherwise a D6 would never roll higher than a 5 and a D4 would never roll higher than a 3, etcetera.
ModuKey on GitHub
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
Disclaimer for http://24hourengineer.blogspot.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.
2019-01-12
Another reason the layer changing was not acting as expected was that I numbered them incorrectly. In the beginning they were zero-justified, but that was forgotten, so the keyboard was skipping desired layers. I found this out when I tried to activate the keypad mode, but I got inconsistent numbers when I should have been getting "5" every time the button was pressed. This was especially concerning since the result was different each time. When I reviewed the layers, I remembered that I had put a psuedo-random number generator into the keyboard so that different dice rolls could be spat out anytime I wanted. This explained the inconsistent numbers being typed. The random() function was also repaired in the code by adding 1 to the second digit otherwise a D6 would never roll higher than a 5 and a D4 would never roll higher than a 3, etcetera.
Results of die rolling, D6
ModuKey on GitHub
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
Disclaimer for http://24hourengineer.blogspot.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.
2019-01-12
Comments
Post a Comment