Skip to content
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

Added new keyboard DOIO KB16 (Rev 2) #18699

Merged
merged 5 commits into from
Oct 26, 2022
Merged

Conversation

HorrorTroll
Copy link
Contributor

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
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

Checklist

  • My code follows the code style of this project: C, Python
  • 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.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

@github-actions github-actions bot added keyboard keymap via Adds via keymap and/or updates keyboard for via support labels Oct 13, 2022
@jimmy-ssio
Copy link

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`

@PHSC138
Copy link
Contributor

PHSC138 commented Oct 16, 2022

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

@jimmy-ssio
Copy link

jimmy-ssio commented Oct 16, 2022

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

@PHSC138
Copy link
Contributor

PHSC138 commented Oct 16, 2022

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

@jimmy-ssio
Copy link

jimmy-ssio commented Oct 17, 2022

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.

@PHSC138
Copy link
Contributor

PHSC138 commented Oct 17, 2022

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

@jimmy-ssio
Copy link

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

@PHSC138
Copy link
Contributor

PHSC138 commented Oct 17, 2022

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

@jimmy-ssio
Copy link

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

@thompson-vii
Copy link

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

@thompson-vii
Copy link

thompson-vii commented Oct 18, 2022

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

@thompson-vii
Copy link

thompson-vii commented Oct 18, 2022

image

the CW CCW is in wrong order

i have to workaround like this

image

@thompson-vii
Copy link

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

this chip has 128 kB program memory and 20kB ram

@HorrorTroll
Copy link
Contributor Author

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

@thompson-vii
Copy link

thompson-vii commented Oct 18, 2022

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
Copy link

thompson-vii commented Oct 18, 2022

IMG_2154.mp4

the big knob is correct

Copy link
Contributor

@PHSC138 PHSC138 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Glad I could help, looks good

keyboards/doio/kb16/rev2/readme.md Outdated Show resolved Hide resolved
keyboards/doio/kb16/rev2/readme.md Outdated Show resolved Hide resolved
@HorrorTroll
Copy link
Contributor Author

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

@thompson-vii
Copy link

Encoder is fixed.

@petergam
Copy link

petergam commented Oct 22, 2022

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

@thompson-vii
Copy link

thompson-vii commented Oct 22, 2022

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

@petergam
Copy link

petergam commented Oct 22, 2022

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

@drashna drashna requested a review from a team October 22, 2022 19:22
@Bestmixtape
Copy link

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.

@delfianto
Copy link

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.

@Bestmixtape
Copy link

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?

@thompson-vii
Copy link

thompson-vii commented Oct 24, 2022

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

It should show up as a stm32duino

image

@Bestmixtape
Copy link

Bestmixtape commented Oct 25, 2022

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

@thompson-vii
Copy link

thompson-vii commented Oct 26, 2022

flash it with stock firmware

@keyboard-magpie keyboard-magpie merged commit 9dec43a into qmk:master Oct 26, 2022
@HorrorTroll HorrorTroll deleted the kb16_rev2 branch October 27, 2022 01:40
hirakiuc pushed a commit to hirakiuc/qmk_firmware that referenced this pull request Oct 29, 2022
aivalja pushed a commit to aivalja/qmk_firmware that referenced this pull request Nov 7, 2022
@LuckyTrixx
Copy link

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.

@HorrorTroll
Copy link
Contributor Author

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

thystips pushed a commit to thystips/qmk_firmware that referenced this pull request Nov 24, 2022
ramonimbao pushed a commit to ramonimbao/qmk_firmware that referenced this pull request Nov 28, 2022
@doors-of-perspective
Copy link

doors-of-perspective commented Dec 1, 2022

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

@keyboard-magpie
Copy link
Contributor

This is better discussed on the QMK discord, rather than adding noise to a closed PR.

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

nolanseaton pushed a commit to nolanseaton/qmk_firmware that referenced this pull request Jan 23, 2023
@mickeahlinder
Copy link

flash it with stock firmware

Where can I get that?

ChrisChrisLoLo pushed a commit to ChrisChrisLoLo/qmk_firmware that referenced this pull request Sep 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
keyboard keymap via Adds via keymap and/or updates keyboard for via support
Projects
None yet
Development

Successfully merging this pull request may close these issues.