I kept thinking about the long delay on the keys, and it bothered me because it destroyed the project. The slow response time made it unusable except as a macro keyboard, and that invalidated its primary purpose. I thought about the functions that controlled the keypresses and decided they were probably the issue. Previous keyboard projects communicated over USB, which could handle the overhead communication burden without problems, but with BLE, I had to meter the data carefully. The code was sloppy, and I sat down to revise it.
I used to reference every entry in a 75-position array to check for rising edges. I switched to a queue written by the scanning function that wrote up to six entries. I used that short set to press and release keys, and when the cycle ended and all the pressed and released keys were rectified, I sent the typing data over Bluetooth. The straightforward method used some old functions, but it also got rid of a few bulky ones and reduced the low-memory issues. I may still experiment with speeding up the response further, but I typed this journal, and unlike the first time, it was manageable.
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.
2023-06-23
I used to reference every entry in a 75-position array to check for rising edges. I switched to a queue written by the scanning function that wrote up to six entries. I used that short set to press and release keys, and when the cycle ended and all the pressed and released keys were rectified, I sent the typing data over Bluetooth. The straightforward method used some old functions, but it also got rid of a few bulky ones and reduced the low-memory issues. I may still experiment with speeding up the response further, but I typed this journal, and unlike the first time, it was manageable.
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.
2023-06-23
Comments
Post a Comment