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

No reliable touch and release events for a similar panel (Yeelight Floorlam) #1

Open
mrumpf opened this issue Mar 10, 2024 · 0 comments

Comments

@mrumpf
Copy link

mrumpf commented Mar 10, 2024

I am reverse engineering the same Yeelight panel but from the floorlamp. I'm using the firmware you have created for the bslamp2 to do the reverse engineering (see #78).
Currently it seems as if I do not get the touch and release events reliably from the panel in the event handler of the bslamp2 firmware.

POWER button press

  • 0a:01:03:00:00:00:02 <- "03"
  • 0a:01:00:00:00:00:02
  • 0a:01:00:00:00:00:02
  • ...
  • 0a:01:00:00:00:00:02
    COLOR button press
  • 0a:03:01:00:00:00:00
    POWER button press
  • 0a:01:03:00:00:00:02 <- "03"
  • 0a:01:00:00:00:00:02
  • 0a:01:00:00:00:00:02

The question is, might it be that the the current version of the bslamp2 firmware might not receive an IRQ on each button press and sometimes just record the press event and at other times the release event?
Currently I am not able to make much sense out of the values. It looks as if the panel itself has some state and returns another value, depending on what button has been pressed before.
Looking at the code here I see that the event id is a counter and the event gets processed when the event id is different from the previous one. However with the current log output I cannot see whether events might be skipped.

One idea would be to write the event_ids to the log when the parser is triggered and the difference between the latest parsed event and the new event is larger than 1.

It would also be nice to dump it as part of the error message, but the event is not a struct at the moment, making this harder to implement.

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