Merge remote-tracking branch 'origin/master' into develop

This commit is contained in:
QMK Bot 2022-05-25 12:11:52 +00:00
commit d83fda01cf
2 changed files with 19 additions and 1 deletions

View File

@ -1,11 +1,22 @@
# Debug version matrix.c # Debug version matrix.c
This matrix.c is quantum/matrix.c with the following additions: This matrix.c is 0.13.19:quantum/matrix.c with the following additions:
* Added the MATRIX_DEBUG_SCAN_{START/END} macro to measure the execution time of matrix_scan(). * Added the MATRIX_DEBUG_SCAN_{START/END} macro to measure the execution time of matrix_scan().
* Added the MATRIX_DEBUG_DELAY_{START/END} macro to measure delay time. * Added the MATRIX_DEBUG_DELAY_{START/END} macro to measure delay time.
* Added the MATRIX_MUL_SELECT handling for symmetric70_proto. * Added the MATRIX_MUL_SELECT handling for symmetric70_proto.
## Current performance
| MCU | delay type | execution time <br> of <br> `matrix_scan()` | matrix scan rate |
|-------------------|---------------|------------|----------------|
| Pro Micro (16MHz) | default | 503us | 1810 scans/sec |
| Pro Micro (16MHz) | adaptive | 383us | 2320 scans/sec |
| Pro Micro (16MHz) | fast adaptive | 382us | 2330 scans/sec |
| Proton C (72MHz) | default | 210us | 4350 scans/sec |
| Proton C (72MHz) | adaptive | 76.4us | 10600 scans/sec |
| Proton C (72MHz) | fast adaptive | 75.6us | 10800 scans/sec |
## Compile ## Compile
* Set MATRIX_IO_DELAY value * Set MATRIX_IO_DELAY value

View File

@ -15,6 +15,13 @@ This matrix.c is faster and more extensible than the standard quantum/matrix.c.
- [ ] support I/O expander (MCP23018) - [ ] support I/O expander (MCP23018)
- [ ] support MCU & I/O expander (MCP23018) mixture like ErgoDox - [ ] support MCU & I/O expander (MCP23018) mixture like ErgoDox
## Current performance
| MCU | delay type | execution time <br> of <br> `matrix_scan()` | matrix scan rate |
|-------------------|---------------|------------|-----------------|
| Pro Micro (16MHz) | fast adaptive | 75.6us | 8090 scans/sec |
| Proton C (72MHz) | fast adaptive | 49.8us | 15100 scans/sec |
## Configuration ## Configuration
This matrix.c requires a different configuration than quantum/matrix.c. This matrix.c requires a different configuration than quantum/matrix.c.