Daniel Schaefer
637fce7232
lotus: Enable all effects
...
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-31 17:02:46 +08:00
Daniel Schaefer
455ecb6777
lotus: Debug row 5 and 6 on ANSI keyboard
...
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-19 22:37:59 +08:00
Daniel Schaefer
9c57fcece9
lotus: Fix keyscanning on gridpad
...
WORKS!!!
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-19 17:27:27 +08:00
Daniel Schaefer
759198c65f
lotus: Fix factory HID when via is disabled
...
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-19 17:25:32 +08:00
Daniel Schaefer
68b622cf8a
lotus: Disable mouse mode
...
It's not a mouse
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-19 17:24:19 +08:00
Daniel Schaefer
e721465ce2
lotus: Enable internal pull-up on ADC input
...
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-19 14:51:04 +08:00
Daniel Schaefer
738be6b515
lotus: DEBUG ADC
...
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-19 11:51:58 +08:00
Daniel Schaefer
c471bf4677
lotus: Fix MUX
...
Needs to be pulled low to enable
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-19 11:50:39 +08:00
Daniel Schaefer
7d86ccce03
lotus: Fix BOOT_DONE
...
Must be pulled low when we're done.
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-19 11:47:48 +08:00
Daniel Schaefer
a1480478f8
fixup! lotus: Clean up serial number code
2023-01-17 13:48:56 +08:00
Daniel Schaefer
924ddf3296
lotus: Clean up serial number code
...
More close to upstreaming ready.
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-17 11:29:52 +08:00
Daniel Schaefer
24f6dbc4a9
lotus: Use dummy serial number if flash was erased
...
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-16 22:06:28 +08:00
Daniel Schaefer
84e018fecf
lotus: Read serial number from flash
...
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-16 17:56:52 +08:00
Daniel Schaefer
3f5388f97f
Read serial number from flash
...
Write there with OpenOCD and GDB:
```
(gdb) monitor flash write_bank 0 serial.bin 0x00ff000
Writing 18 bytes starting at 0xff000
wrote 18 bytes from file serial.bin to flash bank 0 at offset 0x000ff000 in 0.206887s (0.085 KiB/s)
```
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-16 17:01:55 +08:00
Daniel Schaefer
c97f3cd6d8
lotus: Avoid using floats
...
RP2040 doesn't have hardware floats. Software floats are slow.
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-13 17:17:24 +08:00
Daniel Schaefer
dc0f2a6afa
lotus: Print matrix scan frequency
...
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-13 17:10:32 +08:00
Daniel Schaefer
2ce52c5b54
lotus: keypress command just does RGB handling
...
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-10 17:58:39 +08:00
Daniel Schaefer
e7061ed797
lotus: Update matrix to use NO_LED
...
Clearer than magic number.
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-10 17:53:33 +08:00
Daniel Schaefer
5b4f836e8c
lotus: Fix Key Matrix to LED Index
...
Now the key press based animations work!
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-01-10 16:26:09 +08:00
Daniel Schaefer
78e762028f
lotus: Remove factory commands that overlap with VIA
...
Can use qmk_hid for those now, yay!
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-10 11:29:40 +08:00
Daniel Schaefer
30328f6f57
lotus: Enable RGB effects that react to keypress
...
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-10 10:18:35 +08:00
Daniel Schaefer
920b502077
lotus: Reduce sleep before ADC read
...
5us seems enough sleep. Still works
Also need to measure delay not between each ADC scan but between each
matrix scan! That's what matters to the user.
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-07 22:49:16 +08:00
Daniel Schaefer
8d392644b0
lotus: Remove pins that we don't use
...
Now if you grep GP0 through GP29 they'll all only show for the exact
uses we need them for.
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-07 22:25:27 +08:00
Daniel Schaefer
48deca2b32
lotus: Add host SLEEP# detection
...
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-07 22:17:19 +08:00
Daniel Schaefer
50136360e7
lotus: Auto start ADC conversion
...
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-07 21:58:51 +08:00
Daniel Schaefer
b192ff0c3e
lotus: Fix print_float
...
Would print 3.09 as 3.9. Need to add leading 0.
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-07 21:53:35 +08:00
Daniel Schaefer
1413dfa26e
lotus: Add some comments
...
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-07 21:47:46 +08:00
Daniel Schaefer
e37039c23e
lotus: Add two missing columns
...
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-07 21:35:35 +08:00
Daniel Schaefer
12c192c323
lotus: Integrate ADC reading into matrix logic
...
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-07 21:35:16 +08:00
Daniel Schaefer
72247be69f
lotus: Clean up ADC code a bit
...
Should now work on non-pi and prints:
```
...
Framework Computer Inc:Lotus Keyboard:1: scan
Framework Computer Inc:Lotus Keyboard:1: 5 ms (200 Hz)
Framework Computer Inc:Lotus Keyboard:1: Temperature: 18.71
Framework Computer Inc:Lotus Keyboard:1: ADC Voltage: 0.1
Framework Computer Inc:Lotus Keyboard:1: scan
Framework Computer Inc:Lotus Keyboard:1: 6 ms (166 Hz)
Framework Computer Inc:Lotus Keyboard:1: Temperature: 18.24
Framework Computer Inc:Lotus Keyboard:1: ADC Voltage: 0.1
Framework Computer Inc:Lotus Keyboard:1: scan
Framework Computer Inc:Lotus Keyboard:1: 6 ms (166 Hz)
...
```
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-07 20:58:38 +08:00
Daniel Schaefer
37aae1748e
lotus: Implement quick ADC reading
...
Has to be started manually:
hidapitester --vidpid 32ac/0012 --usagePage 0xFF60 --usage 0x0061 -v --open -l33 --send-output 0,11,3
Will print:
```
Framework Computer Inc:Lotus Keyboard:1: After handle_samplescan
Framework Computer Inc:Lotus Keyboard:1: prev: 959345
Framework Computer Inc:Lotus Keyboard:1: curr: 959352
Framework Computer Inc:Lotus Keyboard:1: 7 ms
Framework Computer Inc:Lotus Keyboard:1: 142 Hz
Framework Computer Inc:Lotus Keyboard:1: letsgo
Framework Computer Inc:Lotus Keyboard:1: adc_end_callback
Framework Computer Inc:Lotus Keyboard:1: After adcConvert
Framework Computer Inc:Lotus Keyboard:1: Raw ADC samples: 1004, 892, 1003, 892
Framework Computer Inc:Lotus Keyboard:1: Temp: 19.64
Framework Computer Inc:Lotus Keyboard:1: ADC Voltage: 0.80
```
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-07 19:49:24 +08:00
Daniel Schaefer
e1997affa0
lotus: Fix non-pico build and GPIOs
...
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-07 17:01:33 +08:00
Daniel Schaefer
877e2f9ace
lotus: Implement ADC on correct pin
...
Verified with potentiometer knob. Voltage goes from 0.1V to 3.1.
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-07 16:52:28 +08:00
Daniel Schaefer
4eb191c845
lotus: Add ifdef for pico variant
...
Pico doesn't expose all the pins so it'll be a bit different.
Just for prototyping.
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-07 13:34:25 +08:00
Daniel Schaefer
8990a17d32
fixup! lotus: Add RGB factory commands
2023-01-07 13:31:44 +08:00
Daniel Schaefer
229d5eebe2
fixup! lotus: Add RGB factory commands
2023-01-06 18:26:10 +08:00
Daniel Schaefer
e61c85c212
lotus: Add RGB factory commands
...
Example to enable RGB:
```
hidapitester --vidpid 32ac/0012 --usagePage 0xFF60 --usage 0x0061 \
--open -l32 --send-output 0,11,4
```
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-06 18:11:39 +08:00
Daniel Schaefer
aef9c8a91b
lotus: Fix RGB LED order
...
This makes them work with the correct x/y position.
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-06 18:02:55 +08:00
Daniel Schaefer
dd1de24050
lotus: Update gridpad LED positions
...
New schematic!
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-06 17:05:23 +08:00
Daniel Schaefer
f56d8cf742
lotus: Fix RGB
...
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-06 15:41:11 +08:00
Daniel Schaefer
02a496cad2
fixup! lotus: Configure I2C
2023-01-06 09:43:48 +08:00
Daniel Schaefer
f0d6021e84
lotus: Enable RGB effects
...
Same as Keychron Q1. Can adjust.
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-06 08:30:37 +08:00
Daniel Schaefer
15def1ac4b
lotus: RP2040 UART driver isn't ready yet
...
https://github.com/qmk/qmk_firmware/issues/17744
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-06 08:29:48 +08:00
Daniel Schaefer
80b4bc533a
lotus: Enable MUX on init
...
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-05 21:09:18 +08:00
Daniel Schaefer
c7f8acb4ce
lotus: Configure I2C
...
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-05 21:02:13 +08:00
Daniel Schaefer
f7f339c414
WIP: Dummy serial number
...
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-05 16:08:12 +08:00
Daniel Schaefer
3ea4ec2a9c
lotus: Update USB PIDs
...
Different PID for each layout so that VIA can tell them apart.
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-04 17:30:38 +08:00
Daniel Schaefer
b23e075e19
fixup! Add analog support for RP2040
2023-01-04 15:50:46 +08:00
Daniel Schaefer
116a4af371
lotus: Need to define ADC IRQ priority
...
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-04 15:40:57 +08:00
Daniel Schaefer
42db647ce6
lotus: Add ADC reading code
...
Trigger with:
```
hidapitester --vidpid 32ac/0012 --usagePage 0xFF60 --usage 0x0061 \
--open -l32 --send-output 0,11,3
```
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2023-01-04 14:01:45 +08:00