-
Notifications
You must be signed in to change notification settings - Fork 31
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
Framework Laptop 16 Keyboards #1
base: master
Are you sure you want to change the base?
Conversation
Fixed the build and made sure that GH Actions also tests that. |
0e78ecb
to
8098783
Compare
Firmware sizes currently:
Much of that is UF2 overhead. The last byte in the .hex file is |
Testing while twisting potentiometer to provide ADC voltage, set the threshold at 3V:
|
Works out of the box with a raspberry pi pico. |
Printing many times per cycle on the console slows QMK down A LOT! Will have to measure latency without logging every matrix scan. |
Current ANSI FW size: Without LTO: 61924 |
keyboards/lotus/matrix.c
Outdated
mux_select_row(row); | ||
|
||
// Wait for column select to settle and propagate to ADC | ||
wait_us(30); |
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.
Probably way too high. With 30us we get only 100Hz scanrate because the inner loop is executed 16*8=3840 times.
To get 1000Hz scan rate we need to keep the scan under 1000us.
@kiram9 can you help me figure out an estimate?
I'm not quite sure what many of the words on the datasheets mean.
MUX: http://www.sg-micro.com/uploads/soft/20220512/1652340158.pdf
Pico datasheet says: "Capturing a sample takes 96 clock cycles (96 × 1/48MHz) = 2μs per sample (500ksps)." But currently I'm using the function that sleeps until the interrupt wakes it up when the measurement is done.
keyboards/lotus/matrix.c
Outdated
*/ | ||
static void read_adc(void) { | ||
// Need to sleep a bit, otherwise we seem to get stuck | ||
wait_us(5); |
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.
Seems to be fine now actually, changed some other code and probably don't need this anymore.
Signed-off-by: Daniel Schaefer <dhs@frame.work>
If the backlight brightness was changed and the keyboard unplugged and replugged, the lights would stay off. They should come back to the previous value, which will happen automatically but the code would override. Signed-off-by: Daniel Schaefer <dhs@frame.work>
Factory mode enables layer 2 which has a regular keycode mapped to every key. This way the factory can easily test whether the keys are working or not. It can either be disabled again or it'll turn of itself when the keyboard resets. Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Our schematic uses these custom names but they just map to the per-controller names. Signed-off-by: Daniel Schaefer <dhs@frame.work>
Previous URLs are not set up yet. Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
@JohnAZoidberg Sorry to hijack this PR but is it the current best source to build a custom firmware (=> not using VIA's web UI) ? |
v0.2.9 is the latest version. You can find it here |
Building:
Other commands:
Resources:
Tasks
PICO_FL16
BOOT_DONE
docs/feature_rgb_matrix.md
)platforms/chibios/drivers/wear_leveling/wear_leveling_rp2040_flash_config.h
.qmk console
)