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

Registering to touch stream data #16

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

jfechete
Copy link

@jfechete jfechete commented Jan 2, 2023

I added two parameters to the register_event method that allows receiving from the touch stream data.

@MylesMor
Copy link
Owner

MylesMor commented Jan 2, 2023

Hi, thank you for the contribution! I haven't really done much digging into the touch stream data - can you briefly tell me what it does and provide an brief code example so I can try it out myself? Thank you!

@jfechete
Copy link
Author

jfechete commented Jan 3, 2023

Sure, here's the description from the documentation: "As of firmware version 1.4.0+, clients will be able to optionally register for fine resolution, low latency, touch data stream from the canvas controller over a UDP socket, if the client has also registered for Touch Events."
Here's some example code:

from nanoleafapi import Nanoleaf
CANVAS_IP = "192.168.0.159"
TOUCH_DATA_PORT = 60233

def main():
    nl = Nanoleaf(CANVAS_IP)
    nl.register_event(handle_event,[4],TOUCH_DATA_PORT,handle_touch)
    input()

def handle_event(data):
    print("event")
    print(data)

def handle_touch(data):
    print("touch")
    print(data)

if __name__ == "__main__":
    main()

And here's some of the output I got when swiping from one panel to another:

touch
{'panelId': 62063, 'touchType': 'Swipe', 'touchStrength': 9, 'panelIdFrom': 33779}
event
{'events': [{'panelId': -1, 'gesture': 5}]}

@MylesMor
Copy link
Owner

MylesMor commented Jan 3, 2023

Awesome, thank you. Will hopefully get around to trying out this week and if all looks good I'll merge it in. Thanks!

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

Successfully merging this pull request may close these issues.

2 participants