#[Resolved] Configuring Duplex...?

1 messages ยท Page 1 of 1 (latest)

worthy comet
#

Hello, I'm trying to modify the board definition files and overlays to use a Seeeduino Xiao with a testamatta 011, but I can only every get the left side of the testamatta 011 working with ZMK.

I've tried defining a kscan_composite with two kscans where one is col2row and the other row2col, but the right side is still not responsive. The documentation on duplex matrices isn't too helpful either with the incongruous 12 rows vs the 6 defined in the matrix transform.

Anyone have any ideas on how I can do this?

(edited formatting)

flat valley
#

a link to the code you're working with would probably be helpful

#

that said:

[You'd have to force constant polling, to avoid missing those half of the keys, yes, and take the hit to power efficiency as a result.](#hardware message)

#

so it sounds like you definitely need

config ZMK_KSCAN_MATRIX_POLLING
    default y

in the shield's Kconfig.defconfig (if it isn't there already)

#

hope you have a pretty big battery, or are just planning to use it wired

worthy comet
worthy comet
#

Resolved. I figured out how to do this within ZMK using the Charlieplex code proposed in the pull request. HOWEVER, I needed to modify the Charlieplex code because the Seeeduino Xiao was outputting this error:

Unable to configure pin 8 on gpio@41004400 for output

I tested this using the Arduino IDE and found no issues on switching pinModes from input to output. The thing about this though is that it seems that Zephyr does not like it when you set both input and output with the GPIO flag GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN. What I needed to do was to do a temp variable to take the values from gpio_dt_spec and change the flag. Input is okay with GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN, but output is not okay, so the flag for that should omit GPIO_PULL_DOWN. It is really jank. So uh yea hope this helps someone with getting charlieplex working

#

[Resolved] Configuring Duplex...?

versed sonnet
#

Hi! I'm also trying to use the 011 with a xiao BLE and saw this thread and the PR.
Seems like it's not entirely working yet? Or was your latest changes only for the SAMD21?

glad leaf
versed sonnet
glad leaf
#

Afaict, should work, with the risk of ghosting noted.

#

There's an anti-ghost PR that maybe could be combined with this.

versed sonnet
versed sonnet
#

Thanks

worthy comet
#

Oop just saw this but yea I posted a repo that worked with a SAMD21; it shouldn't have issues with the BLE version as that's what the parent fork tried I think but definitely give it a go