GithubHelp home page GithubHelp logo

Comments (9)

sigprof avatar sigprof commented on June 12, 2024 3

Go into tmk_core/protocol/chibios/chibios.c and change this line:

if ((USB_DRIVER.status & USB_GETSTATUS_REMOTE_WAKEUP_ENABLED) && suspend_wakeup_condition()) {

to this:

if (suspend_wakeup_condition()) {

What if you change that line to this instead:

            if (suspend_wakeup_condition() && (USB_DRIVER.status & USB_GETSTATUS_REMOTE_WAKEUP_ENABLED)) {

The issue is that suspend_wakeup_condition() calls matrix_scan(), and this is where the communication between halves is handled, therefore the RGB matrix suspend state might not be reaching the slave half if the master half goes into the USB suspend state with the remote wakeup disabled. Changing the order of conditions would ensure that the master half would continue to call matrix_scan() even in that state (even though the result of the wakeup check would be useless).

from qmk_firmware.

BionicRiddle avatar BionicRiddle commented on June 12, 2024 2

Soo... After messing around a few hours i found the offending commit/issue ( #21287 ).

Go into tmk_core/protocol/chibios/chibios.c and change this line:

if ((USB_DRIVER.status & USB_GETSTATUS_REMOTE_WAKEUP_ENABLED) && suspend_wakeup_condition()) {

to this:

if (suspend_wakeup_condition()) {

See if that changes anything for you. I won't bother looking into why that was causing the issue as i would like to avoid messing with the USB standard. Perhaps @purdeaandrei knows?

from qmk_firmware.

BionicRiddle avatar BionicRiddle commented on June 12, 2024 2

Yea, that dit it... It feels a bit like a curse, to be honest. I've submitted a new #22457 and will go throught it and check, then submitt a PR.

from qmk_firmware.

drashna avatar drashna commented on June 12, 2024 1

Use the QMK repo, not the vial repo.

Can't reporduce this locally with similarly specced board (bastardkb dilemma), so high chance that this is a vial specific bug.

from qmk_firmware.

BionicRiddle avatar BionicRiddle commented on June 12, 2024 1

Hmm, so far i have not found the cause the issue. The OLED sleep sync appears to be broken aswell. Will probably look into what the RT-OS does when suspending and look into if the Aug 27 Breaking Change was the cause.

from qmk_firmware.

drashna avatar drashna commented on June 12, 2024 1

In theory, that shouldn't matter, as suspend is never called on the slave side, and rgb matrix syncs the suspend state, so it should be turning off the rgb.

Though, I think I did miss this part:

when the computer is turned off, the left/slave half keeps on

Unfortunately, this just causes issues for split boards, in general. Especially if you're not using VBUS detection for master/slave detection (the default is split usb detect, not vbus detection on ARM). And if you're using a blackpill, you'd have to mod the controller to add support for this.

Enabling SPLIT_WATCHDOG_ENABLE may help with this, though.

from qmk_firmware.

BionicRiddle avatar BionicRiddle commented on June 12, 2024

May not be related but i have the same issue with my Sofle. A couple of days ago i update merged master into my personal repo witout changing anything major. The issue arose somewhere between end of July and 3 days ago, or if the cause is the same, 1 month ago. Will probably look into it this weekend. Using a RP2040

from qmk_firmware.

klesh avatar klesh commented on June 12, 2024

@drashna @BionicRiddle Thanks for taking a look. Will try the qmk repo.

from qmk_firmware.

skylupin03 avatar skylupin03 commented on June 12, 2024

Even when the PC was turned off, I got a key input and controlled the other circuit such as the LED light.
From ver0.22.0(8/29)..
I had a hard time because the matrix didn't work when the PC turned off.
I don't know in depth, but I've got a rough idea why.
Thank you.

from qmk_firmware.

Related Issues (20)

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.