update top post, API doc now appears in manual
New documentation for Erae 2 API. (And also, presumably, Erae Touch with newer firmwares.)
It’s very similar to what was there before.
One byte changes for the Erae Identifier Prefix, from 1 (for Erae Touch) to 2 (for Erae 2).
Also, my testing thus far seems to indicate that we only have one byte for the Receiver Prefix Identifier in now, despite all of the documentation saying it’s an arbitrary number of bytes.
(Take that with a grain of salt; I do NOT know what I’m doing. It’s just… when I try to use longer identifiers, querying for identifiers only returns the first byte. So, that might be something to watch out for in porting your scripts.)
progress so far:
I am able to enable API mode and receive touchstream data.
I’ve used ChatGPT to adapt their python and C++ code to run embedded in max 9’s [v8.codebox].
And I’ve been able to isolate the correct bytes to run through that, converting safe 7-bit expressions of those values into… 8 bit bytes, or something.
Honestly not sure what to do with those yet. It seems they recombine into stupidly high precision numbers for the XYZ sensors.
Currently trying to make a dynamic system which decides on the fly whether you actually need all that detail / how much to provide in different contexts.
(I’ve not yet had much luck controlling the LEDs.)
There’s a steep learning curve to making this go, but I think example files will help, and hopefully I’ll be able to provide some in the coming weeks.
Or better yet, maybe one of you will beat me to it.
I’ll compile my test app/ api see if it needs changing … as far as I can see it’s only the device type that has changed ( v1 vs v2).
I’d hope they’ll retain compatibility, so will work on both Erae, as I fear we will not see a new firmware for older one ![]()
Let’s hope this is so they can extend the api , and your client will ‘know’ if device connected supports the extra features.
That’s said api is pretty basic, and designed mostly for connecting to a computer where you use as a ‘dumb’ surface … so not sure if they’ll add things like (eg) looper control.
I suspect the v2 API expression data probably comes in a longer message, to support Erae 2’s higher resolution sensors. But then for backwards compatibility on the hardware, Erae Touch is just going to send zeroes on the finer unused bytes.
Like, I can’t imagine they’re going to make developers parse through different structures based on which controller is plugged in.
…but that change may well break your v1 API scripts.