qmk_firmware
qmk_firmware copied to clipboard
Restructure Sofle family folders.
Description
Types of Changes
- [ ] Core
- [ ] Bugfix
- [ ] New feature
- [x] Enhancement/optimization
- [x] Keyboard (addition or update)
- [x] Keymap/layout/userspace (addition or update)
- [ ] Documentation
Issues Fixed or Closed by This PR
- #16829
Checklist
- [ ] My code follows the code style of this project: C, Python
- [x] I have read the PR Checklist document and have made the appropriate changes.
- [ ] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [x] I have read the CONTRIBUTING document.
- [ ] I have added tests to cover my changes.
- [x] I have tested the changes and verified that they work and don't break anything (as well as I can manage).
Deviations from checklists:
- I did not check the codestyle checkbox, as this is just a refactoring and the code changed is not mine. Does the rule apply here as well?
- I went through the PR checklist:
- I did not change source code files to include a copyright header. I'm not sure if I may legally do that.
- I could only partially update the keyhive documentation as I could not test it.
Further information about this PR:
- During testing I discovered that the keymaps sofle/original:flare576 and sofle/rgb:devdev won't compile independently from my change. I created the following bugs:
- #17977
- and #17978.
Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with bug
, awaiting review
, breaking_change
, in progress
, or on hold
to prevent the issue from being re-flagged.
I am reviewing this PR. Please don't close. This is great work, thank you @duese. My apologies for not being able to review sooner.
@josefadamcik (Sofle), @DaneEvans (Sofle RGB), @winder (Sofle Keyhive) for visibility
@josefadamcik (Sofle), @DaneEvans (Sofle RGB), @winder (Sofle Keyhive) for visibility
It would be great if the mentioned people (or people with that specific hardware) could test this PR on different hardware. Brian and me only have a Sofle Choc at hand.
I don't even have any on hand. I'll check the diffs, but provided you only rearranged things, provided qmk is happy building it, it'll be fine.
On Fri, 11 Nov 2022, 7:28 pm duese, @.***> wrote:
@josefadamcik https://github.com/josefadamcik (Sofle), @DaneEvans https://github.com/DaneEvans (Sofle RGB), @winder https://github.com/winder (Sofle Keyhive) for visibility
It would be great if the mentioned people (or people with that specific hardware) could test this PR on different hardware. Brian and me only have a Sofle Choc at hand.
— Reply to this email directly, view it on GitHub https://github.com/qmk/qmk_firmware/pull/17979#issuecomment-1311384909, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFIRN4PHAHSRGZ67GHUHMZ3WHX7SPANCNFSM56EZHPVQ . You are receiving this because you were mentioned.Message ID: @.***>
LGTM, would be great to get this in so there is a good place for Sofle Choc firmware (that has a different hardware config)
I don't even have any on hand. I'll check the diffs, but provided you only rearranged things, provided qmk is happy building it, it'll be fine.
The main task was to rearrange things. I also adapted the documentation accordingly so that every variant is described on its own. I did not change any configuration or code apart from what was necessary. Perhaps you (@DaneEvans) can also approve this change? Overall, this change is a preparation to get the sofle choc variant into QMK as well.
@josefadamcik Could you take a look at this PR as well? You're the main maintainer of the sofle family (I think)
I've just finished building a lovely (thank you @brianlow !!) SofleChoc, if I can help to test something, let me know! (I'm a complete beginner but glad to help!)
I've just finished building a lovely (thank you @brianlow !!) SofleChoc, if I can help to test something, let me know! (I'm a complete beginner but glad to help!)
Hi @arb85 ! Thanks for offering your help. Can you check out this PR and afterwards cherry pick the PR for the sofle choc firmware?
To retest that the sofle choc firmware still works, I sent the following instructions to Brian:
mkdir ~/dev/
git clone [email protected]:duese/qmk_firmware.git ~/dev/qmk2
cd gmk2
qmk setup -H ~/dev/qmk2
git checkout rebase_choc2
git submodule init
git submodule update
git log -n 1 | head -n 1 | sed -e 's/^commit //' | head -c 8
# output is: fac6ab41
qmk compile -kb sofle/choc -km default
# disconnect sofle choc from computer
# disconnected TRRS connection between sofle choc halves
qmk flash -kb sofle/choc -km default
# connected first half to computer
# when asked, pressed the reset button
# disconnected first half from computer
qmk flash -kb sofle/choc -km default
# connected second half to computer
# when asked, pressed the reset button
# disconnected second half from computer
# reconnected both halves via TRRS cable
# connected left half of solfe choc to computer
P.S. Nice build of the sofle choc! Where did you get the keycaps?
See also https://github.com/brianlow/qmk_firmware/pull/2
Thanks for offering your help. Can you check out this PR and afterwards cherry pick the PR for the sofle choc firmware?
Thank You and Brian for your awesome work! In a while, I'll try the instruction to compile and flash this version and report here the result 🤞🏻
P.S. Nice build of the sofle choc! Where did you get the keycaps?
Thank You!
I'm from Italy, so I've bought from European resellers: https://keycapsss.com/ https://splitkb.com/ https://42keebs.eu/
The keycaps are these:
• Symbols: MBK - Mods version (only symbols, no letters) in the "Legend" color variant (grey, dark-grey, red and blue) (not available now)
• Blank: MBK Choc black and purple keycaps (two with homing factor for F and J)
Let me know (also in direct) if I can help you find something!
To retest that the sofle choc firmware still works, I sent the following instructions to Brian:
mkdir ~/dev/ git clone [email protected]:duese/qmk_firmware.git ~/dev/qmk2 cd gmk2 > * little typo above: $ cd qmk2 qmk setup -H ~/dev/qmk2 git checkout rebase_choc2 git submodule init git submodule update git log -n 1 | head -n 1 | sed -e 's/^commit //' | head -c 8 # output is: fac6ab41 qmk compile -kb sofle/choc -km default # disconnect sofle choc from computer # disconnected TRRS connection between sofle choc halves qmk flash -kb sofle/choc -km default # connected first half to computer # when asked, pressed the reset button # disconnected first half from computer qmk flash -kb sofle/choc -km default # connected second half to computer # when asked, pressed the reset button # disconnected second half from computer # reconnected both halves via TRRS cable # connected left half of solfe choc to computer
The flash went fine, this is the output for compiling and flashing:
$ qmk compile -kb sofle/choc -km default
Ψ Compiling keymap with gmake --jobs=1 sofle/choc:default
WARNING: Some git submodules are out of date or modified.
Please consider running make git-submodule.
Making sofle/choc with keymap default
avr-gcc (Homebrew AVR GCC 8.5.0) 8.5.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Generating: .build/obj_sofle_choc/src/info_config.h [OK]
Generating: .build/obj_sofle_choc/src/default_keyboard.c [OK]
Generating: .build/obj_sofle_choc/src/default_keyboard.h [OK]
Generating: .build/obj_sofle_choc/src/layouts.h [OK]
Compiling: keyboards/sofle/choc/choc.c [OK]
Compiling: .build/obj_sofle_choc/src/default_keyboard.c [OK]
Compiling: quantum/keymap_introspection.c [OK]
Compiling: quantum/quantum.c [OK]
Compiling: quantum/bitwise.c [OK]
Compiling: quantum/led.c [OK]
Compiling: quantum/action.c [OK]
Compiling: quantum/action_layer.c [OK]
Compiling: quantum/action_tapping.c [OK]
Compiling: quantum/action_util.c [OK]
Compiling: quantum/eeconfig.c [OK]
Compiling: quantum/keyboard.c [OK]
Compiling: quantum/keymap_common.c [OK]
Compiling: quantum/keycode_config.c [OK]
Compiling: quantum/sync_timer.c [OK]
Compiling: quantum/logging/debug.c [OK]
Compiling: quantum/logging/sendchar.c [OK]
Compiling: quantum/bootmagic/magic.c [OK]
Compiling: quantum/matrix_common.c [OK]
Compiling: quantum/matrix.c [OK]
Compiling: quantum/debounce/sym_defer_g.c [OK]
Compiling: quantum/split_common/split_util.c [OK]
Compiling: quantum/split_common/transport.c [OK]
Compiling: quantum/split_common/transactions.c [OK]
Compiling: quantum/main.c [OK]
Compiling: quantum/color.c [OK]
Compiling: quantum/rgb_matrix/rgb_matrix.c [OK]
Compiling: quantum/rgb_matrix/rgb_matrix_drivers.c [OK]
Compiling: lib/lib8tion/lib8tion.c [OK]
Compiling: quantum/process_keycode/process_rgb.c [OK]
Compiling: platforms/avr/drivers/ws2812.c [OK]
Compiling: quantum/led_tables.c [OK]
Compiling: quantum/crc.c [OK]
Compiling: drivers/oled/ssd1306_sh1106.c [OK]
Compiling: quantum/process_keycode/process_magic.c [OK]
Compiling: quantum/send_string/send_string.c [OK]
Compiling: quantum/encoder.c [OK]
Compiling: quantum/process_keycode/process_grave_esc.c [OK]
Compiling: quantum/process_keycode/process_space_cadet.c [OK]
Compiling: platforms/avr/drivers/i2c_master.c [OK]
Archiving: .build/obj_sofle_choc_default/i2c_master.o [OK]
Compiling: platforms/avr/drivers/i2c_slave.c [OK]
Archiving: .build/obj_sofle_choc_default/i2c_slave.o [OK]
Compiling: platforms/avr/drivers/serial.c [OK]
Archiving: .build/obj_sofle_choc_default/serial.o [OK]
Assembling: platforms/avr/xprintf.S [OK]
Compiling: platforms/avr/printf.c [OK]
Compiling: tmk_core/protocol/host.c [OK]
Compiling: tmk_core/protocol/report.c [OK]
Compiling: tmk_core/protocol/usb_device_state.c [OK]
Compiling: tmk_core/protocol/usb_util.c [OK]
Compiling: platforms/suspend.c [OK]
Compiling: platforms/avr/hardware_id.c [OK]
Compiling: platforms/avr/platform.c [OK]
Compiling: platforms/avr/suspend.c [OK]
Compiling: platforms/avr/timer.c [OK]
Compiling: platforms/avr/bootloaders/caterina.c [OK]
Compiling: tmk_core/protocol/lufa/lufa.c [OK]
Compiling: tmk_core/protocol/usb_descriptor.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Class/Common/HIDParser.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/ConfigDescriptors.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/DeviceStandardReq.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/Events.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/HostStandardReq.c [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/USBTask.c [OK]
Compiling: tmk_core/protocol/lufa/usb_util.c [OK]
Linking: .build/sofle_choc_default.elf [OK]
Creating load file for flashing: .build/sofle_choc_default.hex [OK]
Copying sofle_choc_default.hex to qmk_firmware folder [OK]
Checking file size of sofle_choc_default.hex [OK]
* The firmware size is fine - 26572/28672 (92%, 2100 bytes free)
$ qmk flash -kb sofle/choc -km default
Ψ Compiling keymap with gmake --jobs=1 sofle/choc:default:flash
WARNING: Some git submodules are out of date or modified.
Please consider running make git-submodule.
Making sofle/choc with keymap default and target flash
avr-gcc (Homebrew AVR GCC 8.5.0) 8.5.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Size before:
text data bss dec hex filename
0 26572 0 26572 67cc sofle_choc_default.hex
Copying sofle_choc_default.hex to qmk_firmware folder [OK]
Checking file size of sofle_choc_default.hex [OK]
* The firmware size is fine - 26572/28672 (92%, 2100 bytes free)
Waiting for USB serial port - reset your controller now (Ctrl+C to cancel)..........
Device /dev/tty.usbmodem1433401 has appeared; assuming it is the controller.
Waiting for /dev/tty.usbmodem1433401 to become writable.
Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.
Programmer supports the following devices:
Device code: 0x44
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file ".build/sofle_choc_default.hex"
avrdude: input file .build/sofle_choc_default.hex auto detected as Intel Hex
avrdude: writing flash (26572 bytes):
Writing | ################################################## | 100% 2.04s
avrdude: 26572 bytes of flash written
avrdude: verifying flash memory against .build/sofle_choc_default.hex:
avrdude: input file .build/sofle_choc_default.hex auto detected as Intel Hex
Reading | ################################################## | 100% 0.25s
avrdude: 26572 bytes of flash verified
avrdude done. Thank you.
Now the keyboard works but it can't be recognized by VIA/VIAL as HID device.
Can I test something else?
Now the keyboard works but it can't be recognized by VIA/VIAL as HID device.
Sorry, I've recompiled with the -km via
target and now It's recognized by VIA
Thanks for testing this change.
Now the keyboard works but it can't be recognized by VIA/VIAL as HID device.
Sorry, I've recompiled with the
-km via
target and now It's recognized by VIA
I never used VIA, but it's good that you tested this.
The flash went fine ... Can I test something else?
I don't know the policies for this repo which people need to approve a change. Brian already approved these changes, DaneEvans is OK with the refactoring as well and you tested this change on a device. I think it would be nice if at least @josefadamcik would approve this PR, but maybe he abandoned this project or he has personal issues.
Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with bug
, awaiting review
, breaking_change
, in progress
, or on hold
to prevent the issue from being re-flagged.
Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with bug
, awaiting review
, breaking_change
, in progress
, or on hold
to prevent the issue from being re-flagged.
Thank you for your contribution! This pull request has been automatically closed because it has not had activity in the last 30 days. Please feel free to give a status update now, ping for review, or re-open when it's ready. // [stale-action-closed]