qmk_firmware icon indicating copy to clipboard operation
qmk_firmware copied to clipboard

Added new keyboard DOIO KB16 (Rev 2)

Open HorrorTroll opened this issue 2 years ago • 8 comments

Description

Due to the shortage ATMEGA32U4, DOIO has changed the PCB on KB16 into APM32F103CBT6. So this PR is make for that version.

And I have to refactor entire keyboard folder, to split them out.

Types of Changes

  • [ ] Core
  • [ ] Bugfix
  • [ ] New feature
  • [ ] Enhancement/optimization
  • [x] Keyboard (addition or update)
  • [x] Keymap/layout/userspace (addition or update)
  • [ ] Documentation

Issues Fixed or Closed by This PR

  • https://github.com/qmk/qmk_firmware/issues/17726

Checklist

  • [x] 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.
  • [ ] 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).

HorrorTroll avatar Oct 13 '22 15:10 HorrorTroll

I wasn't able to get this one to build. I got the data from this PR and injected it into my existing qmk build env.

`qmk compile -kb doio/kb16/rev2 -km default Ψ Compiling keymap with make --jobs=1 doio/kb16/rev2:default

QMK Firmware 0.18.13 ☒ doio/kb16/rev2: Number of keys for LAYOUT does not match! info.json specifies 25 keys, C macro specifies 19 WARNING: Some git submodules are out of date or modified. Please consider running make git-submodule.

Making doio/kb16/rev2 with keymap default

☒ doio/kb16/rev2: Number of keys for LAYOUT does not match! info.json specifies 25 keys, C macro specifies 19 arm-none-eabi-gcc (15:9-2019-q4-0ubuntu1) 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] Copyright (C) 2019 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.

Compiling: keyboards/doio/kb16/lib/layer_status/layer_status.c In file included from : ./keyboards/doio/kb16/rev2/config.h:24: error: "MATRIX_COLS" redefined [-Werror] 24 | #define MATRIX_COLS 5 | In file included from : ./keyboards/doio/kb16/config.h:24: note: this is the location of the previous definition 24 | #define MATRIX_COLS 7 | In file included from : ./keyboards/doio/kb16/rev2/config.h:27: error: "MATRIX_ROW_PINS" redefined [-Werror] 27 | #define MATRIX_ROW_PINS { B3, B4, B9, B8 } | In file included from : ./keyboards/doio/kb16/config.h:27: note: this is the location of the previous definition 27 | #define MATRIX_ROW_PINS { D5, D4, D3, D2 } | In file included from : ./keyboards/doio/kb16/rev2/config.h:28: error: "MATRIX_COL_PINS" redefined [-Werror] 28 | #define MATRIX_COL_PINS { B14, B13, B12, B0, A7 } | In file included from : ./keyboards/doio/kb16/config.h:28: note: this is the location of the previous definition 28 | #define MATRIX_COL_PINS { F5, F4, F1, F0, B7, B4, B5 } | In file included from : ./keyboards/doio/kb16/rev2/config.h:49: error: "OLED_FONT_H" redefined [-Werror] 49 | #define OLED_FONT_H "./lib/glcdfont.c" | In file included from : ./keyboards/doio/kb16/config.h:43: note: this is the location of the previous definition 43 | #define OLED_FONT_H "lib/glcdfont.c" | In file included from : ./keyboards/doio/kb16/rev2/config.h:53: error: "ENCODERS_PAD_A" redefined [-Werror] 53 | #define ENCODERS_PAD_A { A1, B5, A3 } | In file included from : ./keyboards/doio/kb16/config.h:46: note: this is the location of the previous definition 46 | #define ENCODERS_PAD_A { F7, C7, D7 } | In file included from : ./keyboards/doio/kb16/rev2/config.h:54: error: "ENCODERS_PAD_B" redefined [-Werror] 54 | #define ENCODERS_PAD_B { A2, B6, A4 } | In file included from : ./keyboards/doio/kb16/config.h:47: note: this is the location of the previous definition 47 | #define ENCODERS_PAD_B { E6, C6, D6 } | In file included from : ./keyboards/doio/kb16/rev2/config.h:58: error: "RGB_DI_PIN" redefined [-Werror] 58 | #define RGB_DI_PIN A10 | In file included from : ./keyboards/doio/kb16/config.h:51: note: this is the location of the previous definition 51 | #define RGB_DI_PIN F6 | In file included from ./lib/chibios/os/rt/include/ch.h:92, from ./lib/chibios/os/hal/osal/rt-nil/osal.h:32, from ./lib/chibios/os/hal/include/hal.h:28, from ./platforms/chibios/drivers/wear_leveling/wear_leveling_efl_config.h:6, from : ./lib/chibios/os/rt/include/chchecks.h:48:2: error: #error "obsolete or unknown configuration file" 48 | #error "obsolete or unknown configuration file" | ^~~~~ In file included from ./platforms/chibios/drivers/wear_leveling/wear_leveling_efl_config.h:6, from : ./lib/chibios/os/hal/include/hal.h:248:2: error: #error "obsolete or unknown configuration file" 248 | #error "obsolete or unknown configuration file" | ^~~~~ cc1: all warnings being treated as errors [ERRORS] | | | make[1]: *** [builddefs/common_rules.mk:359: .build/obj_doio_kb16_rev2_default/lib/layer_status/layer_status.o] Error 1 Make finished with errors make: *** [Makefile:414: doio/kb16/rev2:default] Error 1`

jimmy-ssio avatar Oct 16 '22 17:10 jimmy-ssio

I wasn't able to get this one to build. I got the data from this PR and injected it into my existing qmk build env.

`qmk compile -kb doio/kb16/rev2 -km default Ψ Compiling keymap with make --jobs=1 doio/kb16/rev2:default

QMK Firmware 0.18.13 ☒ doio/kb16/rev2: Number of keys for LAYOUT does not match! info.json specifies 25 keys, C macro specifies 19 WARNING: Some git submodules are out of date or modified. Please consider running make git-submodule.

Try to update your git submodules with the make git-submodule command from your output

PHSC138 avatar Oct 16 '22 20:10 PHSC138

I have it in a folder called qmmk because that's what I originally programmed with this env.

❯ make git-submodule QMK Firmware 0.18.13 Synchronizing submodule url for 'lib/chibios' Synchronizing submodule url for 'lib/chibios-contrib' Synchronizing submodule url for 'lib/chibios-contrib/ext/mcux-sdk' Synchronizing submodule url for 'lib/googletest' Synchronizing submodule url for 'lib/lufa' Synchronizing submodule url for 'lib/printf' Synchronizing submodule url for 'lib/vusb' Submodule 'lib/pico-sdk' (https://github.com/qmk/pico-sdk.git) registered for path 'lib/pico-sdk' Cloning into '/home/jimmy/gmmk/qmk_firmware/lib/pico-sdk'... remote: Enumerating objects: 5435, done.
remote: Counting objects: 100% (29/29), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 5435 (delta 12), reused 20 (delta 9), pack-reused 5406
Receiving objects: 100% (5435/5435), 2.46 MiB | 11.41 MiB/s, done. Resolving deltas: 100% (2776/2776), done. Submodule path 'lib/chibios': checked out 'f836d24b06d7265696a33d1cea010bd6a931791d' Submodule path 'lib/chibios-contrib': checked out 'd03aa9cc2f76468e431c71421015102956dd6ad7' Submodule path 'lib/chibios-contrib/ext/mcux-sdk': checked out '102c27d7cc2aaac87c133702e7829a105e0cb433' Submodule path 'lib/lufa': checked out '549b97320d515bfca2f95c145a67bd13be968faa' Submodule path 'lib/pico-sdk': checked out '07edde8e49890d2172bbc272aacc119f999df063' Submodule path 'lib/printf': checked out 'c2e3b4e10d281e7f0f694d3ecbd9f320977288cc' Submodule path 'lib/vusb': checked out '819dbc1e5d5926b17e27e00ca6d3d2988adae04e'   ~/gmmk/qmk_firmware   master *1 ~2 +1 !3 ?5 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────  15:52:14 ❯ qmk compile -kb doio/kb16/rev2 -km default Ψ Compiling keymap with make --jobs=1 doio/kb16/rev2:default

QMK Firmware 0.18.13 ☒ doio/kb16/rev2: Number of keys for LAYOUT does not match! info.json specifies 25 keys, C macro specifies 19 Making doio/kb16/rev2 with keymap default

☒ doio/kb16/rev2: Number of keys for LAYOUT does not match! info.json specifies 25 keys, C macro specifies 19 arm-none-eabi-gcc (15:9-2019-q4-0ubuntu1) 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] Copyright (C) 2019 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.

Compiling: keyboards/doio/kb16/lib/layer_status/layer_status.c In file included from : ./keyboards/doio/kb16/rev2/config.h:24: error: "MATRIX_COLS" redefined [-Werror] 24 | #define MATRIX_COLS 5 | In file included from : ./keyboards/doio/kb16/config.h:24: note: this is the location of the previous definition 24 | #define MATRIX_COLS 7 | In file included from : ./keyboards/doio/kb16/rev2/config.h:27: error: "MATRIX_ROW_PINS" redefined [-Werror] 27 | #define MATRIX_ROW_PINS { B3, B4, B9, B8 } | In file included from : ./keyboards/doio/kb16/config.h:27: note: this is the location of the previous definition 27 | #define MATRIX_ROW_PINS { D5, D4, D3, D2 } | In file included from : ./keyboards/doio/kb16/rev2/config.h:28: error: "MATRIX_COL_PINS" redefined [-Werror] 28 | #define MATRIX_COL_PINS { B14, B13, B12, B0, A7 } | In file included from : ./keyboards/doio/kb16/config.h:28: note: this is the location of the previous definition 28 | #define MATRIX_COL_PINS { F5, F4, F1, F0, B7, B4, B5 } | In file included from : ./keyboards/doio/kb16/rev2/config.h:49: error: "OLED_FONT_H" redefined [-Werror] 49 | #define OLED_FONT_H "./lib/glcdfont.c" | In file included from : ./keyboards/doio/kb16/config.h:43: note: this is the location of the previous definition 43 | #define OLED_FONT_H "lib/glcdfont.c" | In file included from : ./keyboards/doio/kb16/rev2/config.h:53: error: "ENCODERS_PAD_A" redefined [-Werror] 53 | #define ENCODERS_PAD_A { A1, B5, A3 } | In file included from : ./keyboards/doio/kb16/config.h:46: note: this is the location of the previous definition 46 | #define ENCODERS_PAD_A { F7, C7, D7 } | In file included from : ./keyboards/doio/kb16/rev2/config.h:54: error: "ENCODERS_PAD_B" redefined [-Werror] 54 | #define ENCODERS_PAD_B { A2, B6, A4 } | In file included from : ./keyboards/doio/kb16/config.h:47: note: this is the location of the previous definition 47 | #define ENCODERS_PAD_B { E6, C6, D6 } | In file included from : ./keyboards/doio/kb16/rev2/config.h:58: error: "RGB_DI_PIN" redefined [-Werror] 58 | #define RGB_DI_PIN A10 | In file included from : ./keyboards/doio/kb16/config.h:51: note: this is the location of the previous definition 51 | #define RGB_DI_PIN F6 | cc1: all warnings being treated as errors [ERRORS] | | | make[1]: *** [builddefs/common_rules.mk:359: .build/obj_doio_kb16_rev2_default/lib/layer_status/layer_status.o] Error 1 Make finished with errors make: *** [Makefile:414: doio/kb16/rev2:default] Error 1

jimmy-ssio avatar Oct 16 '22 20:10 jimmy-ssio

Did you pull all of the changes from this pr? It looks like the rev1 files are still in doio/kb16/ instead of doio/kb16/rev1

PHSC138 avatar Oct 16 '22 22:10 PHSC138

I copied everything into the directory structure and didn't move that. I can clear out the folder and try again

edit: that appeared to be the issue! I didn't realize a remnant folder that had been moved would cause an issue. Thanks buddy!

edit part deux:

Copying doio_kb16_rev2_default.bin to qmk_firmware folder [OK] Flashing for bootloader: unknown dfu-util: Cannot open DFU device 1eaf:0003

It looks like it compiled okay, but can't flash due to having the incorrect boot device. Mine is the one with the Geehy APM32.

jimmy-ssio avatar Oct 17 '22 00:10 jimmy-ssio

Please checkout all of the changes using the instructions here instead of copying in some files: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

PHSC138 avatar Oct 17 '22 00:10 PHSC138

I cloned the project into a fresh directory

❯ git clone https://github.com/qmk/qmk_firmware.git
Cloning into 'qmk_firmware'... remote: Enumerating objects: 412446, done. remote: Counting objects: 100% (72/72), done. remote: Compressing objects: 100% (61/61), done. remote: Total 412446 (delta 16), reused 63 (delta 10), pack-reused 412374 Receiving objects: 100% (412446/412446), 229.15 MiB | 36.22 MiB/s, done. Resolving deltas: 100% (224972/224972), done.

Checked out your PR

❯ gh pr checkout 18699 remote: Enumerating objects: 49, done. remote: Counting objects: 100% (24/24), done. Unpacking objects: 100% (49/49), 7.71 KiB | 789.00 KiB/s, done. remote: Total 49 (delta 24), reused 24 (delta 24), pack-reused 25 From https://github.com/qmk/qmk_firmware

  • [new ref] refs/pull/18699/head -> kb16_rev2 Switched to branch 'kb16_rev2'

Successfully compiled

❯ qmk compile -kb doio/kb16/rev2 -km default Ψ Compiling keymap with make --jobs=1 doio/kb16/rev2:default

QMK Firmware 0.18.13 Making doio/kb16/rev2 with keymap default

arm-none-eabi-gcc (15:9-2019-q4-0ubuntu1) 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] Copyright (C) 2019 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_doio_kb16_rev2/src/info_config.h [OK] Generating: .build/obj_doio_kb16_rev2/src/default_keyboard.c [OK] Generating: .build/obj_doio_kb16_rev2/src/default_keyboard.h [OK] Generating: .build/obj_doio_kb16_rev2/src/layouts.h [OK] Compiling: keyboards/doio/kb16/lib/layer_status/layer_status.c [OK] Compiling: keyboards/doio/kb16/lib/logo.c [OK] Compiling: keyboards/doio/kb16/kb16.c [OK] Compiling: keyboards/doio/kb16/rev2/rev2.c [OK] Compiling: .build/obj_doio_kb16_rev2/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/logging/print.c [OK] Compiling: quantum/bootmagic/bootmagic_lite.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/main.c [OK] Compiling: lib/printf/src/printf/printf.c [OK] Compiling: quantum/mousekey.c [OK] Compiling: drivers/eeprom/eeprom_driver.c [OK] Compiling: drivers/eeprom/eeprom_wear_leveling.c [OK] Compiling: quantum/wear_leveling/wear_leveling.c [OK] Compiling: platforms/chibios/drivers/wear_leveling/wear_leveling_efl.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/chibios/drivers/ws2812.c [OK] Compiling: quantum/led_tables.c [OK] Compiling: lib/fnv/qmk_fnv_type_validation.c [OK] Compiling: lib/fnv/hash_32a.c [OK] Compiling: lib/fnv/hash_64a.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/chibios/drivers/i2c_master.c [OK] Archiving: .build/obj_doio_kb16_rev2_default/i2c_master.o [OK] Assembling: lib/chibios/os/common/startup/ARMCMx/compilers/GCC/crt0_v7m.S [OK] Assembling: lib/chibios/os/common/startup/ARMCMx/compilers/GCC/vectors.S [OK] Assembling: lib/chibios/os/common/ports/ARMv7-M/compilers/GCC/chcoreasm.S [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/chibios/hardware_id.c [OK] Compiling: platforms/chibios/platform.c [OK] Compiling: platforms/chibios/suspend.c [OK] Compiling: platforms/chibios/timer.c [OK] Compiling: platforms/chibios/bootloaders/stm32duino.c [OK] Compiling: tmk_core/protocol/chibios/usb_main.c [OK] Compiling: tmk_core/protocol/chibios/chibios.c [OK] Compiling: tmk_core/protocol/usb_descriptor.c [OK] Compiling: tmk_core/protocol/chibios/usb_driver.c [OK] Compiling: tmk_core/protocol/chibios/usb_util.c [OK] Compiling: lib/chibios/os/oslib/src/chmboxes.c [OK] Compiling: lib/chibios/os/oslib/src/chmemcore.c [OK] Compiling: lib/chibios/os/oslib/src/chmemheaps.c [OK] Compiling: lib/chibios/os/oslib/src/chmempools.c [OK] Compiling: lib/chibios/os/oslib/src/chpipes.c [OK] Compiling: lib/chibios/os/oslib/src/chobjcaches.c [OK] Compiling: lib/chibios/os/oslib/src/chdelegates.c [OK] Compiling: lib/chibios/os/oslib/src/chfactory.c [OK] Compiling: lib/chibios/os/common/startup/ARMCMx/compilers/GCC/crt1.c [OK] Compiling: lib/chibios/os/rt/src/chsys.c [OK] Compiling: lib/chibios/os/rt/src/chrfcu.c [OK] Compiling: lib/chibios/os/rt/src/chdebug.c [OK] Compiling: lib/chibios/os/rt/src/chtrace.c [OK] Compiling: lib/chibios/os/rt/src/chvt.c [OK] Compiling: lib/chibios/os/rt/src/chschd.c [OK] Compiling: lib/chibios/os/rt/src/chinstances.c [OK] Compiling: lib/chibios/os/rt/src/chthreads.c [OK] Compiling: lib/chibios/os/rt/src/chtm.c [OK] Compiling: lib/chibios/os/rt/src/chstats.c [OK] Compiling: lib/chibios/os/rt/src/chregistry.c [OK] Compiling: lib/chibios/os/rt/src/chsem.c [OK] Compiling: lib/chibios/os/rt/src/chmtx.c [OK] Compiling: lib/chibios/os/rt/src/chcond.c [OK] Compiling: lib/chibios/os/rt/src/chevents.c [OK] Compiling: lib/chibios/os/rt/src/chmsg.c [OK] Compiling: lib/chibios/os/rt/src/chdynamic.c [OK] Compiling: lib/chibios/os/common/ports/ARMv7-M/chcore.c [OK] Compiling: lib/chibios/os/hal/osal/rt-nil/osal.c [OK] Compiling: lib/chibios/os/hal/src/hal.c [OK] Compiling: lib/chibios/os/hal/src/hal_st.c [OK] Compiling: lib/chibios/os/hal/src/hal_buffers.c [OK] Compiling: lib/chibios/os/hal/src/hal_queues.c [OK] Compiling: lib/chibios/os/hal/src/hal_flash.c [OK] Compiling: lib/chibios/os/hal/src/hal_mmcsd.c [OK] Compiling: lib/chibios/os/hal/src/hal_adc.c [OK] Compiling: lib/chibios/os/hal/src/hal_can.c [OK] Compiling: lib/chibios/os/hal/src/hal_crypto.c [OK] Compiling: lib/chibios/os/hal/src/hal_dac.c [OK] Compiling: lib/chibios/os/hal/src/hal_efl.c [OK] Compiling: lib/chibios/os/hal/src/hal_gpt.c [OK] Compiling: lib/chibios/os/hal/src/hal_i2c.c [OK] Compiling: lib/chibios/os/hal/src/hal_i2s.c [OK] Compiling: lib/chibios/os/hal/src/hal_icu.c [OK] Compiling: lib/chibios/os/hal/src/hal_mac.c [OK] Compiling: lib/chibios/os/hal/src/hal_mmc_spi.c [OK] Compiling: lib/chibios/os/hal/src/hal_pal.c [OK] Compiling: lib/chibios/os/hal/src/hal_pwm.c [OK] Compiling: lib/chibios/os/hal/src/hal_rtc.c [OK] Compiling: lib/chibios/os/hal/src/hal_sdc.c [OK] Compiling: lib/chibios/os/hal/src/hal_serial.c [OK] Compiling: lib/chibios/os/hal/src/hal_serial_usb.c [OK] Compiling: lib/chibios/os/hal/src/hal_sio.c [OK] Compiling: lib/chibios/os/hal/src/hal_spi.c [OK] Compiling: lib/chibios/os/hal/src/hal_trng.c [OK] Compiling: lib/chibios/os/hal/src/hal_uart.c [OK] Compiling: lib/chibios/os/hal/src/hal_usb.c [OK] Compiling: lib/chibios/os/hal/src/hal_wdg.c [OK] Compiling: lib/chibios/os/hal/src/hal_wspi.c [OK] Compiling: lib/chibios/os/hal/ports/common/ARMCMx/nvic.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/STM32F1xx/stm32_isr.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/STM32F1xx/hal_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/STM32F1xx/hal_efl_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/STM32F1xx/hal_adc_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/CANv1/hal_can_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/GPIOv1/hal_pal_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/I2Cv1/hal_i2c_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/RTCv1/hal_rtc_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/SDIOv1/hal_sdc_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/SPIv1/hal_i2s_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/SPIv1/hal_spi_v2_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/SYSTICKv1/hal_st_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/TIMv1/hal_gpt_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/TIMv1/hal_icu_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/TIMv1/hal_pwm_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/USARTv1/hal_serial_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/USARTv1/hal_uart_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/USBv1/hal_usb_lld.c [OK] Compiling: lib/chibios/os/hal/ports/STM32/LLD/xWDGv1/hal_wdg_lld.c [OK] Compiling: platforms/chibios/boards/STM32_F103_STM32DUINO/board/board.c [OK] Compiling: lib/chibios/os/hal/lib/streams/chprintf.c [OK] Compiling: lib/chibios/os/hal/lib/streams/chscanf.c [OK] Compiling: lib/chibios/os/hal/lib/streams/memstreams.c [OK] Compiling: lib/chibios/os/hal/lib/streams/nullstreams.c [OK] Compiling: lib/chibios/os/hal/lib/streams/bufstreams.c [OK] Compiling: lib/chibios/os/various/syscalls.c [OK] Compiling: platforms/chibios/syscall-fallbacks.c [OK] Compiling: platforms/chibios/wait.c [OK] Compiling: platforms/chibios/synchronization_util.c [OK] Linking: .build/doio_kb16_rev2_default.elf [OK] Creating binary load file for flashing: .build/doio_kb16_rev2_default.bin [OK] Creating load file for flashing: .build/doio_kb16_rev2_default.hex [OK]

Size after: text data bss dec hex filename 0 45202 0 45202 b092 doio_kb16_rev2_default.bin

Copying doio_kb16_rev2_default.bin to qmk_firmware folder [OK] (Firmware size check does not yet support STM32F103; skipping)

Tried to flash with my new macropad in bootloader mode

❯ qmk flash -kb doio/kb16/rev2 -km default Ψ Compiling keymap with make --jobs=1 doio/kb16/rev2:default:flash

QMK Firmware 0.18.13 Making doio/kb16/rev2 with keymap default and target flash

arm-none-eabi-gcc (15:9-2019-q4-0ubuntu1) 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] Copyright (C) 2019 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 45202 0 45202 b092 doio_kb16_rev2_default.bin

Size after: text data bss dec hex filename 0 45202 0 45202 b092 doio_kb16_rev2_default.bin

Copying doio_kb16_rev2_default.bin to qmk_firmware folder [OK] Flashing for bootloader: unknown dfu-util: Cannot open DFU device 1eaf:0003 Bootloader not found. Make sure the board is in bootloader mode. See https://docs.qmk.fm/#/newbs_flashing Trying again every 0.5s (Ctrl+C to cancel)dfu-util: Cannot open DFU device 1eaf:0003 .dfu-util: Cannot open DFU device 1eaf:0003 .dfu-util: Cannot open DFU device 1eaf:0003 .dfu-util: Cannot open DFU device 1eaf:0003 .dfu-util: Cannot open DFU device 1eaf:0003 .dfu-util: Cannot open DFU device 1eaf:0003

jimmy-ssio avatar Oct 17 '22 00:10 jimmy-ssio

Copying doio_kb16_rev2_default.bin to qmk_firmware folder [OK] Flashing for bootloader: unknown dfu-util: Cannot open DFU device 1eaf:0003 Bootloader not found. Make sure the board is in bootloader mode. See https://docs.qmk.fm/#/newbs_flashing Trying again every 0.5s (Ctrl+C to cancel)dfu-util: Cannot open DFU device 1eaf:0003 .dfu-util: Cannot open DFU device 1eaf:0003 .dfu-util: Cannot open DFU device 1eaf:0003 .dfu-util: Cannot open DFU device 1eaf:0003 .dfu-util: Cannot open DFU device 1eaf:0003 .dfu-util: Cannot open DFU device 1eaf:0003

I'm pretty sure it's an issue with your environment. Run qmk doctor, or follow the instructions here https://docs.qmk.fm/#/newbs_getting_started

PHSC138 avatar Oct 17 '22 18:10 PHSC138

I'm pretty sure it's an issue with your environment. Run qmk doctor, or follow the instructions here https://docs.qmk.fm/#/newbs_getting_started

Ahh, dfu rules for the apm32

jimmy-ssio avatar Oct 17 '22 19:10 jimmy-ssio

I have built the firmware and tested it. don't see anything wrong.

thompson-vii avatar Oct 18 '22 04:10 thompson-vii

the board does not reboot properly after flashing, reconnection is required. Not sure if this is normal

thompson-vii avatar Oct 18 '22 08:10 thompson-vii

image

the CW CCW is in wrong order

i have to workaround like this

image

thompson-vii avatar Oct 18 '22 09:10 thompson-vii

(Firmware size check does not yet support STM32F103; skipping)

this chip has 128 kB program memory and 20kB ram

thompson-vii avatar Oct 18 '22 09:10 thompson-vii

Tbh, no it is not wrong order. It just VIAL problem anyway, and QMK compile does not supported firmware size check for ARM

HorrorTroll avatar Oct 18 '22 10:10 HorrorTroll

also tested with a via keymap, same issue. the push button is in correct order. https://user-images.githubusercontent.com/31672176/196405419-800cd85a-556e-4245-8922-1fc3b0b29c27.mp4

image

{
    "name": "KB16-01",
    "vendorId": "0xD010",
    "productId": "0x1601",
    "lighting": "none",
    "matrix": {
        "rows": 4,
        "cols": 5
    },
    "layouts": {
        "keymap": [
			["0,0","0,1","0,2","0,3",{"x":0.25},"0,4\n\n\n\n\n\n\n\n\ne0",{"x":0.75},"1,4\n\n\n\n\n\n\n\n\ne1"],
			["1,0","1,1","1,2","1,3"],
			["2,0","2,1","2,2","2,3",{"x":0.75,"w":1.75,"h":1.75},"2,4\n\n\n\n\n\n\n\n\ne2"],
			["3,0","3,1","3,2","3,3"]
        ]
    }
}

thompson-vii avatar Oct 18 '22 10:10 thompson-vii

https://user-images.githubusercontent.com/31672176/196407142-0b147c1a-f2a0-493a-b387-2b31d5a2c14d.mp4

the big knob is correct

thompson-vii avatar Oct 18 '22 10:10 thompson-vii

@thompson-vii @PHSC138 can u guy check the encoder issue and see if it work correctly or not?

HorrorTroll avatar Oct 21 '22 09:10 HorrorTroll

Encoder is fixed.

thompson-vii avatar Oct 21 '22 22:10 thompson-vii

I'm new to QMK and having issues getting this to work with VIA. It compiles and flashes fine.

qmk compile -kb doio/kb16/rev2 -km via
qmk flash -kb doio/kb16/rev2 -km via

In VIA I load the keymap from https://wiki.keebmonkey.com/en/products/mmp, however it keeps saying "Searching for devices...".. I assume that I need to use a different keymap?

Anyone that can tell me what I'm doing wrong. Thanks

petergam avatar Oct 22 '22 11:10 petergam

the layout file on the wiki will only work with stock firmware, the binary i provided is for and only for use with vial https://get.vial.today/

you need to flash it into the board, i have provided instruction in the link

thompson-vii avatar Oct 22 '22 11:10 thompson-vii

Thanks for getting back to me @thompson-vii

I have actually also tried to get it to work with vial but without succes. I run

qmk compile -kb doio/kb16/rev2 -km default
qmk flash -kb doio/kb16/rev2 -km default # and put the device into DFU mode

Everything goes well but vial says "No devices detected".

If I flash your precompiled firmware then it works fine. https://github.com/thompson-vii/kb16_rev2_vial_fw

But if I compile the firmware myself from this PR then vial cannot connect to the board

Edit: I was able to get it to work with vial but porting it over myself using this guide. https://get.vial.today/docs/porting-to-vial.html

Thanks for the help

petergam avatar Oct 22 '22 11:10 petergam

Thanks for getting back to me @thompson-vii

I have actually also tried to get it to work with vial but without succes. I run

qmk compile -kb doio/kb16/rev2 -km default
qmk flash -kb doio/kb16/rev2 -km default # and put the device into DFU mode

Everything goes well but vial says "No devices detected".

If I flash your precompiled firmware then it works fine. https://github.com/thompson-vii/kb16_rev2_vial_fw

But if I compile the firmware myself from this PR then vial cannot connect to the board

Edit: I was able to get it to work with vial but porting it over myself using this guide. https://get.vial.today/docs/porting-to-vial.html

Thanks for the help

Hi Peter, do you mind sharing your ported firmware? I tried following that guide, but the firmware keeps coming out too large.

I flashed my macropad from thompson-vii, and it's not getting detected in VIAL. It shows up as Maple 003 in my device manager.

Bestmixtape avatar Oct 23 '22 05:10 Bestmixtape

Thanks for getting back to me @thompson-vii I have actually also tried to get it to work with vial but without succes. I run

qmk compile -kb doio/kb16/rev2 -km default
qmk flash -kb doio/kb16/rev2 -km default # and put the device into DFU mode

Everything goes well but vial says "No devices detected". If I flash your precompiled firmware then it works fine. thompson-vii/kb16_rev2_vial_fw But if I compile the firmware myself from this PR then vial cannot connect to the board Edit: I was able to get it to work with vial but porting it over myself using this guide. get.vial.today/docs/porting-to-vial.html Thanks for the help

Hi Peter, do you mind sharing your ported firmware? I tried following that guide, but the firmware keeps coming out too large.

I flashed my macropad from thompson-vii, and it's not getting detected in VIAL. It shows up as Maple 003 in my device manager.

I use the same firmware form thompson-vii and VIAL is able to detect my macropad. After flashing is completed you need to reconnect the board. It is not being detected most probably because it is still in DFU mode (thus it is shown as Maple 003).

If the flash is successful, when replugging the underglow LEDs will lit in RGB mode.

delfianto avatar Oct 23 '22 06:10 delfianto

Thanks for getting back to me @thompson-vii I have actually also tried to get it to work with vial but without succes. I run

qmk compile -kb doio/kb16/rev2 -km default
qmk flash -kb doio/kb16/rev2 -km default # and put the device into DFU mode

Everything goes well but vial says "No devices detected". If I flash your precompiled firmware then it works fine. thompson-vii/kb16_rev2_vial_fw But if I compile the firmware myself from this PR then vial cannot connect to the board Edit: I was able to get it to work with vial but porting it over myself using this guide. get.vial.today/docs/porting-to-vial.html Thanks for the help

Hi Peter, do you mind sharing your ported firmware? I tried following that guide, but the firmware keeps coming out too large. I flashed my macropad from thompson-vii, and it's not getting detected in VIAL. It shows up as Maple 003 in my device manager.

I use the same firmware form thompson-vii and VIAL is able to detect my macropad. After flashing is completed you need to reconnect the board. It is not being detected most probably because it is still in DFU mode (thus it is shown as Maple 003).

If the flash is successful, when replugging the underglow LEDs will lit in RGB mode.

Hi delianto, I disconnected and reconnected the board, and it still shows up as Maple 003. Do you happen to know how to get out of DFU mode?

Bestmixtape avatar Oct 23 '22 06:10 Bestmixtape

@Bestmixtape you probably have rev1, the rev2 has an arm chip with 128kb flash.

It should show up as a stm32duino

image

thompson-vii avatar Oct 24 '22 23:10 thompson-vii

@Bestmixtape you probably have rev1, the rev2 has an arm chip with 128kb flash.

It should show up as a stm32duino

image

Hi @thompson-vii, thanks for the reply.

That's what it shows up on mine. It says Maple 003 in both QMK toolbox and Device Manager. Is this what it should be listed as after reboot too?

Bestmixtape avatar Oct 25 '22 02:10 Bestmixtape

flash it with stock firmware

thompson-vii avatar Oct 26 '22 01:10 thompson-vii

It looks like it compiled okay, but can't flash due to having the incorrect boot device. Mine is the one with the Geehy APM32.

Hay, did you get it to work? Mine uses the same Chip, i don't want to brick my Board with a wrong Firmware.

LuckyTrixx avatar Nov 22 '22 01:11 LuckyTrixx

It looks like it compiled okay, but can't flash due to having the incorrect boot device. Mine is the one with the Geehy APM32.

Hay, did you get it to work? Mine uses the same Chip, i don't want to brick my Board with a wrong Firmware.

it work, u need to flash rev 2 version and everything will be fine

HorrorTroll avatar Nov 22 '22 01:11 HorrorTroll

I got it to work using qmk compile -kb doio/kb16/rev2 -km default qmk flash -kb doio/kb16/rev2 -km default # and put the device into DFU mode

then flashing it in QMK

Does anyone know how to add more macros to it? 15 isn't enough for me. I want to use it with autohotkey so I want to set the keys to random shortcuts so that I can run commands from one click without blocking any keys on my main keyboard.

On VIAL site it says keymaps/vial/config.h - but there isn't a config.h in this directory. And the files in that directory don't have any lines of code that say "macros" in them.

If not then is there a way to assign tap dance keys to autohotkey

like TD(0):: Send ^!s ;ctrl alt s is assigned to [select clip at playhead] etc

doors-of-perspective avatar Dec 01 '22 20:12 doors-of-perspective