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

UART interface between dongle uC and transciever #144

Open
tomaszj opened this issue May 24, 2022 · 0 comments
Open

UART interface between dongle uC and transciever #144

tomaszj opened this issue May 24, 2022 · 0 comments

Comments

@tomaszj
Copy link

tomaszj commented May 24, 2022

Hi @mattdibi

Got a general question about the comms interface between the uC running QMK firmware and the transciever. As I understand it, the interface is pretty simple — the dongle writes s and gets 11 bytes in return.

It looks like the 0.16.x redox_w firmware issue (qmk/qmk_firmware#16553) was caused by switching QMK's UART routines from non-blocking to blocking.

It looks like QMK firmware often writes the first byte, but then it either doesn't successfully send it or the the response doesn't come through. In turn, QMK is stuck waiting for UART data to arrive. That's the reason for the keyboard freeze.

As a general idea (and based on your experience), would it make sense to add status or a healthcheck command to the transciever? In this case nRF could respond to indicate whether it's good to go or not. This I guess could be queried on each matrix scan in QMK and shown on LEDs if an unexpected state is reached.

This PR qmk/qmk_firmware#17203 resolves the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant