featherbear / presonus-studiolive-api

Exploring the PreSonus network control protocol from a StudioLive Series III
https://featherbear.cc/presonus-studiolive-api/
46 stars 13 forks source link

Decode CK packets #14

Closed featherbear closed 2 years ago

featherbear commented 2 years ago

Currently I'm not sure how to decode the CK packets.

According to the UC Surface application on my Android phone, CK is short for Chunk.

Nature

When enough changes to the mix has been made, the console no longer sends the ZB payload which contains the mixer state. Instead a CK payload is sent, which somehow contains the ZB payload

The ZB payload is important to receive so that mute states, volume levels and other values are known during API connection. Without the ZB payload, the API client has no knowledge of the current state of the mixer

featherbear commented 2 years ago

At the moment an experimental commit has been pushed in the patch/12 branch to ignore the ZB packet receipt (or rather lack thereof)

Refer to https://github.com/featherbear/presonus-studiolive-api/issues/12

featherbear commented 2 years ago

Some RE performed here: https://github.com/featherbear/presonus-studiolive-api/issues/13

When I have some time I might try to debug the Android application on an Android emulator

featherbear commented 2 years ago

connect_and_idle_UC_SL16R.pcapng

CK packet at packet 7 (partial) and 29.

Packet 29 is probably the best to investigate as it's smaller