GithubHelp home page GithubHelp logo

kb16_rev2_vial_fw's Introduction

kb16_rev2_vial_fw

compiled firmware for doio's kb16 rev2

Not compatible with via. Must use vial.

Not compatible with rev1

Not compatible with wireless version.

Use qmk toolbox, hold top left key while plugging it in. Pick the bin file and click on flash. After flashing reconnect the usb cable. If everything goes well, you should see RGB pattern.

compiled with following flag, layer count increased to 12. Added custom graphics so oled can display up to 12 layers.

VIA_ENABLE = yes
VIAL_ENABLE = yes
LTO_ENABLE = yes

# Encoder enabled
ENCODER_ENABLE = yes
ENCODER_MAP_ENABLE = yes

COMMAND_ENABLE = yes
DYNAMIC_MACRO_ENABLE = yes 
MOUSEKEY_ENABLE = yes
COMBO_ENABLE = yes
SEND_STRING_ENABLE = yes
TAP_DANCE_ENABLE = yes

EEPROM_DRIVER = vendor

keymap config.h

#define STM32_ONBOARD_EEPROM_SIZE 4098
#define DYNAMIC_KEYMAP_LAYER_COUNT 12

Advantage over stock firmware.

  • Embeded layout so no need for sideloading json
  • Native encoder layout
  • Vial specific feature like macro delay
  • RGB
  • the knob now correctly emits 20 pulse per revolution, matching the dedent.

using code from this pr qmk/qmk_firmware#18699

Credit:

  • HorrorTroll: QMK port
  • PHSC138: Pin schematic
  • Kolloom: Vial port, graphics, layout

kb16_rev2_vial_fw's People

Contributors

bclarke123 avatar thompson-vii avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

kb16_rev2_vial_fw's Issues

Awesome! How do implement for other macropads?

This is a great repo, well done!! I'm trying to follow what you did. How can this be done for the other DOIO macropads? I have them all, and want to do it on the 38% macropad . Where did you get that kb16 original file? Is that the key?

Could you teach me where I put in custom graphic?

Hello!
First, thank you! It's very useful firmware.
I use my kb16 with many program, so I want to use with oled screen custom graphic.
I can made bmp to code, but I don't know what's next(where paste the codes)
So could you teach me Which file I should paste the code?
Thank you๐Ÿฅฒ

layers

I'm new to all this.
how do I switch from layer 3 to 4 and so on it wont let me switch past layer 3
it will let me configure the keys in layer 4 just cant switch to it .
Sorry for being dumb .

Question: What was the knob pulse issue?

From the readme.md:

the knob now correctly emits 20 pulse per revolution, matching the dedent.

I have an issue where my large knob will not fire an event after a direction change until the second notch.

I am wondering if this mentioned change would fix this issue...

...or maybe I have a dud knob. Because the other two knobs work fine.


Found similar issue mentioned here: https://www.mobiflight.com/forum/topic/6855.html

this issue can happen in case of the way a encoder is read..... So if it is between a "step" it can not detect the direction of a inverse rotation in first step ( so data can be read as left and right same way) ..... means after change direction a minimum of 2 Detents is needed to confirm its correct.


Turning the board off and on fixed it for me on the main knob as was recommended here:

https://www.reddit.com/r/olkb/comments/o0elaj/having_trouble_with_rotary_encoders_in_qmk/

But now the main knob works and the small knob doesn't!

Both these knobs control volume with KB_VOLU/KB_VOLD.

Config_common.h not found when recompiling

Followed this https://old.reddit.com/r/MechanicalKeyboards/comments/ya82hm/doio_kb16_megalodon_trip_knob_macroapd_has_been/izbwrvp/ to set up the file structure

Clone vial-qmk
Clone https://github.com/thompson-vii/kb16_rev2_vial_fw
Delete vial-qmk/keyboards/doio/kb16
Copy kb16 from the second clone to -> vial-qm/keyboards/doio/

Run make command and got the error:

./keyboards/doio/kb16/rev2/config.h:20:10: fatal error: config_common.h: No such file or directory
20 | #include "config_common.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.

cd vial-qmk
make doio/kb16/rev2:vial 
โ˜’ doio/kb16/rev2: RGB_DI_PIN in config.h is no longer a valid option and should be replaced with WS2812_DI_PIN or APA102_DI_PIN
Making doio/kb16/rev2 with keymap vial

โ˜’ doio/kb16/rev2: RGB_DI_PIN in config.h is no longer a valid option and should be replaced with WS2812_DI_PIN or APA102_DI_PIN
Generating: .build/obj_doio_kb16_rev2_vial/src/info_deps.d                                          [OK]
โ˜’ doio/kb16/rev2: RGB_DI_PIN in config.h is no longer a valid option and should be replaced with WS2812_DI_PIN or APA102_DI_PIN
arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10.3-2021.07) 10.3.1 20210621 (release)
Copyright (C) 2020 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                                             [WARNINGS]
 | 
 | โ˜’ doio/kb16/rev2: RGB_DI_PIN in config.h is no longer a valid option and should be replaced with WS2812_DI_PIN or APA102_DI_PIN
 | 
Generating: .build/obj_doio_kb16_rev2/src/default_keyboard.c                                        [WARNINGS]
 | 
 | โ˜’ doio/kb16/rev2: RGB_DI_PIN in config.h is no longer a valid option and should be replaced with WS2812_DI_PIN or APA102_DI_PIN
 | 
Generating: .build/obj_doio_kb16_rev2/src/default_keyboard.h                                        [WARNINGS]
 | 
 | โ˜’ doio/kb16/rev2: RGB_DI_PIN in config.h is no longer a valid option and should be replaced with WS2812_DI_PIN or APA102_DI_PIN
 | 
Compiling: keyboards/doio/kb16/lib/layer_status/layer_status.c                                     In file included from <command-line>:
./keyboards/doio/kb16/rev2/config.h:20:10: fatal error: config_common.h: No such file or directory
   20 | #include "config_common.h"
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
 [ERRORS]
 | 
 | 
 | 
make[1]: *** [.build/obj_doio_kb16_rev2_vial/./lib/layer_status/layer_status.o] Error 1
make: *** [doio/kb16/rev2:vial] Error 1
Make finished with errors

May have bricked KB16-01

Hi, I tried to flash my KB16-01. The flash seemed to be successful the first time, with the Rainbow Style RGB backlight on the macropad after the install, but even after a reset, it wouldn't get detected in VIAL.

I tried the firmware update again, and I believe that was an error on my part, and now the macropad seems to be bricked. It gets detected in QMK toolbox, but I get a firmware update issue.
STM32Duino device connected (WinUSB): (Undefined Vendor) Maple 003 (1EAF:0003:0201)
Attempting to flash, please don't remove device

dfu-util.exe -a 2 -d 1EAF:0003 -R -D "E:\userdata\Downloads\doio_kb16_rev2_vial.bin"
dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
Failed to retrieve language identifiers
This program is Free Software and has ABSOLUTELY NO WARRANTY
Failed to retrieve language identifiers
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
Cannot set alternate interface: LIBUSB_ERROR_IO

Opening DFU capable USB device...
Device ID 1eaf:0003
Device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Interface #2 ...
Flash complete

OLED doesn't light up, nor does it get detected in VIAL. It has the APM32 Chipset.

Update

I was able to re-upload the firmware by playing around with reset button on the PCB.

STM32Duino device connected (WinUSB): (Undefined Vendor) Maple 003 (1EAF:0003:0201)
Attempting to flash, please don't remove device

dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Opening DFU capable USB device...
Device ID 1eaf:0003
Device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Interface #2 ...
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 0110
Device returned transfer size 1024
Copying data from PC to DFU device

Download [ ] 0% 0 bytes
Download [= ] 4% 3072 bytes
Download [== ] 8% 5120 bytes
Download [=== ] 13% 8192 bytes
Download [==== ] 16% 10240 bytes
Download [==== ] 18% 11264 bytes
Download [===== ] 21% 13312 bytes
Download [====== ] 24% 15360 bytes
Download [======= ] 28% 17408 bytes
Download [======== ] 33% 20480 bytes
Download [========= ] 36% 22528 bytes
Download [========== ] 41% 25600 bytes
Download [=========== ] 44% 27648 bytes
Download [============ ] 49% 30720 bytes
Download [============= ] 52% 32768 bytes
Download [============== ] 56% 34816 bytes
Download [=============== ] 61% 37888 bytes
Download [================ ] 64% 39936 bytes
Download [================= ] 69% 43008 bytes
Download [================== ] 72% 45056 bytes
Download [=================== ] 76% 47104 bytes
Download [==================== ] 80% 50176 bytes
Download [===================== ] 84% 52224 bytes
Download [====================== ] 89% 55296 bytes
Download [======================= ] 92% 57344 bytes
Download [======================== ] 97% 60416 bytes
Download [=========================] 100% 60936 bytes
Download done.
DFU state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
Resetting USB to switch back to runtime mode
Done!
Resetting USB to switch back to Run-Time mode
Flash complete

But still can't get it detect in VIAL.

I tried CLI, updates okay from there too, but still nothing in VIAL on both MacOS and Windows 11.

qmk flash doio_kb16_rev2_vial.bin
Flashing binary firmware...
Please reset your keyboard into bootloader mode now!
Press Ctrl-C to exit.

dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Opening DFU capable USB device...
Device ID 1eaf:0003
Device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Interface #2 ...
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 0110
Device returned transfer size 1024
Copying data from PC to DFU device
Download [=========================] 100% 60936 bytes
Download done.
DFU state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
Resetting USB to switch back to runtime mode
Done!
Resetting USB to switch back to Run-Time mode

cannot open linker script file & / STM32F103xB_stm32duino_bootloader.ld: No such file or directory

Trying to reflash my kb16-rev2 according to this reddit post.

First ran into RGB_DI_PIN issue from Issue #20 and made the following adjustments:

  1. updated kb16/rev2/config.h line 58 from " #define RGB_DI_PIN A10" to " #define WS2812_DI_PIN A10"
  2. updated rules.mk lines 37 and line 33 to lower case (line 33 OLED_DRIVER = ssd1306) (line 37 RGB_MATRIX_DRIVER = ws2812)

Then ran into Config_common.h not found issue from Issue #16 . I deleted line 20 (#include "config_common.h") in config.h.

Now when running qmk compile -kb doio/kb16/rev2 -km vial I get the following error:

Making doio/kb16/rev2 with keymap vial

arm-none-eabi-gcc.exe (GCC) 10.1.0
Copyright (C) 2020 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: quantum/via.c [OK]
Compiling: quantum/command.c [OK]
Linking: .build/doio_kb16_rev2_vial.elf [ERRORS]
|
| c:/qmk_msys/mingw64/bin/../lib/gcc/arm-none-eabi/10.1.0/../../../../arm-none-eabi/bin/ld.exe: cannot open linker script file ./lib/chibios/os/common/startup/ARMCMx/compilers/GCC/ld/STM32F103xB_stm32duino_bootloader.ld: No such file or directory
| collect2.exe: error: ld returned 1 exit status
|
make[1]: *** [builddefs/common_rules.mk:271: .build/doio_kb16_rev2_vial.elf] Error 1
Make finished with errors
make: *** [Makefile:392: doio/kb16/rev2:vial] Error 1

Notes: Running on latest Vial-QMK clone from github. Installed QMK CLI via QMKMSYS and ran make git-submodule.

weird layer switching behaviour

No matter what method of layer switching i use, e.g. MO, DF, TT etc in Vial, i can only go UP the layers. E.g. from 1-->2-->3 etc. It is not possible to go back down the layers. Thus you can only increment the layer, not return to a previous layer.

If you cannot reproduce this problem, can you tell me how you're exactly mapping the macro pad to go back down the layers?

Great project!

Thanks.

Wireless version

This has been great for the wired version. Is there any chance of getting a similar firmware for the new wireless model?

Midi support for encoders?

I'm new enough at this to be a danger to myself and others, but is it possible to enable MIDI support (especially CC messages)? The KB16 could be a killer Lightroom controller by using the encoders to send CC.

(Alternately, any chance you could include your config.h, rules.mk, and vial.json files in the repository? I'm happy to give this a shot.)

Include the actual code used in compiling the bin

Is it possible for you to include all the actual code (all the stuff to do with this kb, I don't mean the whole of QMK) you used when compiling the firmware?

As I understand this is mostly just kind of default code included in 40d0728.

RGB Went to TopLeft Green After Reboot Windows Everytime

I am using the keyboard with all key lights/LED off.
But everytime after I reboot my Windows computer, it came back with the green light on under the top-left key.
It is not maintaining the state of all off.

Is this something can be fixed?
Thanks!

RGB_DI_PIN depreciated in main branch

Trying to compile this branch with the latest QMK and am getting:

doio/kb16/rev2: RGB_DI_PIN in config.h is no longer a valid option and should be replaced with WS2812_DI_PIN or APA102_DI_PIN

how to add more macros

Hi,

I want to add more macros, I've asked around on QMK and VIAL discord but I'm not a coder so I don't understand anyone's replies.

One person said "add #define DYNAMIC_KEYMAP_MACRO_COUNT xx where xx is the number of macros that you want, eg #define DYNAMIC_KEYMAP_MACRO_COUNT 16 at the following line

"

But that didn't do anything.

My knowledge of how this works is; I put the DOIO into boot mode then flash it with the bin file in QMK Toolbox. Then I get the 14 layers. I tried using QMK MSYS but none of these commands seems to do anything

make doio/kb16/rev2:default
make doio/kb16/rev2:default:flash

I found these lines somewhere else " qmk compile -kb doio/kb16/rev2 -km default"
"qmk flash -kb doio/kb16/rev2 -km default #"

but they just seem to reset the macro pad to the original 4 layers.

If anyone is able to break it down in simple terms how to add more macros in VIAL with a complete step by step guide that'd be amazing thanks. Everything else works fine, I just need more macros in VIAL.

Can't change backlight

None of the backlight options make an effect on the keyboard.

Is there something I'm missing or do I have to change something in the config?

Thank you.

Characters transposed in some cases

C:\Users\eric\Go
is in the macro as a string of text.
Sometimes:
C:\Userse\ric\Go or C:\User\sericf\Go
Also
| replaces \ or ; replaces :
So the shift keys bounces around as well.

It doesn't do this all the time, but maybe 10% of the time things error out.

Excecuted macro.
[["down", "KC_LGUI"], ["tap", "KC_R"], ["up", "KC_LGUI"], ["delay", 15], ["text", "C:\\Users\\eric\\Google Drive\\SystemCommons\\Documents\\Python Scripts\\Python Scripts.code-workspace"], ["tap", "KC_ENTER"]]

Some more functionality.

DOIO KB16 Triple Knob Macro Pad feature request:

I might be asking the wrong place but I would like to try it out here.

  • Is there a way to have the OLED screen time out to be changed easily?

  • I noticed some things don't work, like caps lock or num lock also I can't tell if it's pressed or not. Usually you could use they number assignments as arrow keys, but they don't work that way, it's always num lock.

  • Also Shift Toggle lock capability?

Other stuff (but probably more with QMK):

  • Add Alt+Gui pairs(left and right versions) in quantum and toggle shift lock key (like LShift and Rshift keys).

  • Alt+Gui combo keys don't exist. Had to customize those keys assignments.

Reason why I why a shift key toggle lock:
I'm utilizing the knobs on my DOIO KB 16 keyboard to navigate to specific areas in text. Then I'd highlight the text with shift, so I can cut/copy/paste whatever it is. Originally I made it so that it'd always highlight with shift+arrow keys, but I don't always need things to be highlighted. Would be super convenient if there was a shift toggle function for this reason.

Regarding the shift key toggle, I've looked up and tried for hours but no luck on making it work. Basically I need the Shift key to be press forever, until I press it again to turn it off.

Great job on all the work that has been done. Thank you!

Increase number of macros

Hello. Thank you for this release. Is it possible to increase the number of macros from 15 to 30 or maybe 45?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.