qmk_firmware icon indicating copy to clipboard operation
qmk_firmware copied to clipboard

Restructure Sofle family folders.

Open duese opened this issue 2 years ago • 1 comments

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.

duese avatar Aug 10 '22 14:08 duese

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.

github-actions[bot] avatar Oct 12 '22 02:10 github-actions[bot]

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.

brianlow avatar Nov 08 '22 06:11 brianlow

@josefadamcik (Sofle), @DaneEvans (Sofle RGB), @winder (Sofle Keyhive) for visibility

brianlow avatar Nov 08 '22 06:11 brianlow

@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.

duese avatar Nov 11 '22 08:11 duese

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: @.***>

DaneEvans avatar Nov 11 '22 11:11 DaneEvans

LGTM, would be great to get this in so there is a good place for Sofle Choc firmware (that has a different hardware config)

brianlow avatar Nov 26 '22 15:11 brianlow

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.

duese avatar Nov 28 '22 08:11 duese

@josefadamcik Could you take a look at this PR as well? You're the main maintainer of the sofle family (I think)

duese avatar Nov 28 '22 08:11 duese

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!)

IMG_1743 copy

arb85 avatar Dec 19 '22 19:12 arb85

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!)

IMG_1743 copy

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?

duese avatar Dec 19 '22 20:12 duese

See also https://github.com/brianlow/qmk_firmware/pull/2

duese avatar Dec 19 '22 20:12 duese

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 🤞🏻

arb85 avatar Dec 19 '22 21:12 arb85

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!

arb85 avatar Dec 19 '22 21:12 arb85

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?

arb85 avatar Dec 19 '22 22:12 arb85

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

arb85 avatar Dec 19 '22 23:12 arb85

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.

duese avatar Dec 20 '22 08:12 duese

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.

github-actions[bot] avatar Feb 13 '23 02:02 github-actions[bot]

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.

github-actions[bot] avatar Apr 15 '23 01:04 github-actions[bot]

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]

github-actions[bot] avatar May 15 '23 01:05 github-actions[bot]