-
-
Notifications
You must be signed in to change notification settings - Fork 40.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cipulot refactoring #22368
Cipulot refactoring #22368
Conversation
|
|
for 1, pre-set data can be used while found the ADC data were not as expected. the noise data should be update on every iteration if the data looks good, not only at startup. for 2, some ADC data should be dropped if they looks strange. Not every ADC data can be used during matrix scan and they may lead to unexpect issues especially under RTOS such as chibios bedcause it's time critical. |
Updating the noise floor data on every iteration is pointless, since unless the board is modified while it's powered, the average noise floor doesn't deviate in any noticeable way. It is a good option if scan rates aren't affected in a meaningful way, but they are heavily impacted by basically any operations. A possible mitigation might be checking if during the |
For the point For the actual
|
You mean the chSysLock/chSysUnlock calls? |
@drashna I gotta check the convo that I had with sigprof where we discussed about it. iirc it had something to do with those yeah |
That's ... a rabbit hole, for sure. |
Yeah, one that for now isn't causing any issues. Of course for correctness that should be handled but as of now I have already some work in the pipeline and entering the matrix for that isn't a priority. |
It appears that the recent merge of #22448 causes the conflicts. Since prior to that merge the inclusion of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No idea about the actual implementation of scanning code, but assuming you tested it.
Just a couple of cleanup/enhancement ideas from my end.
BTW, GitHub showed something like "things need to be resolved", unsure if you have some merge conflict or just some "requested changes" pending
PS Didnt look at keyboards' code, just an overview of the common folder
For the conflicts, I applied the new inclusion of |
5a3699e
to
7284c00
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have done my best at testing this by pulling in the firmware files for ssbb/tako. All appears to work well, to the best of my testing ability.
c2fd9da
to
79a34e8
Compare
df5c566
to
40e3d86
Compare
This reverts commit 2238e95719c56e3f5fb240e3329fae0f720e5e28.
The change fixes a misuse of the GNU GPL v2 in files that are using ARM MCUs, based on ChibiOS. Being ChibiOS using GNU GPL v3, the alignment of the license snippets was needed.
Change of the bottoming reading threshold form `50` to `100` to prevent false readings from shared pads. Addition of a `ec_clear_bottoming_calibration_data` function that allows the user to clear the stored calibration if in need to run it again.
Removal of commented section to print raw matrix values. Co-authored-by: Drashna Jaelre <drashna@live.com>
This change removes the use of the term `sensitivity` from the Rapid Trigger logic and replaces with `offset`. This is more in line with what is actually being represented, as well as matching the intuitive usage of the controls.
Added function that allows the board to automatically detect if the noise floor gets lower than the detected one at the boot time. This implementation mitigates the issues that happens in a specific case: the user has keys pressed while plugging in the board. In this specific instance the recalibrated values will be skewed and the user is then forced to recalibrate through the GUI. This code does that for the user automatically. The GUI option to force the calibration is still available in case it's needed.
replaced `#if` with `#ifdef` in the OPEN_DRAIN_SUPPORT checks.
revert of random license alignment that have been included by mistake
Added `BOTTOMING_CALIBRATION_THRESHOLD`, a value that earlier vas fixed, but after some reports it's been determined that a fixed value for all PCBs can cause issues on some boards not behaving properly. Therefore I've included the define on a board-by-board basis with their ideal values. This will help with future board being merged too.
removal of unnecessary `.0` Co-authored-by: Joel Challis <git@zvecr.com>
Change of function name to adhere to the merge in qmk#22979 Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Addition of `#include "quantum.h"` to prevent build errors because of the use of `keyboard_post_init_user()`
7c30c6e
to
7831950
Compare
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Joel Challis <git@zvecr.com>
Description
Refactoring of the EC code used in my boards.
After the suggestion on previous PR for some of my boards and discussion in the QMK server I've managed to consolidate the EC code I use under a
common
folder underkeyboards/cipulot
.This change was initialized in #21233 with the move of the custom
via_apc.c
code used for some custom handling of actuation points etc.The code refactoring includes the following enhancements:
ec_switch_matrixc
,ec_switch_matrix.h
andmatrix.c
from each keyboard folder and put it underkeyboards/cipulot/common
via_apc.c
withvia_ec.c
for additional featuresvoid bootmagic_lite(void)
function that ensures that VIA doesn't re-enable it when in use.OPT
flags to reduce space usage and increase scan rate (tested, OPT flags differ from one board to the other to mitigate bugs in RGB using ARM)#include
in the files to account for changes#define VIA_FIRMWARE_VERSION 1
in VIA keymap to avoid conflicts in menu fetching with boards with an older versionThis refactoring allows the future boards I'll be merging to use shared code as it's supposed to be, that is by use of
#include
and not code cloning.Types of Changes
Issues Fixed or Closed by This PR
Checklist