Programmable Synth Controller Bluetooth Services
ESP32 Services
BLE
Research
Relevant services:
- https://www.bluetooth.com/wp-content/uploads/Sitecore-Media-Library/Gatt/Xml/Services/org.bluetooth.service.device_information.xml
- https://www.bluetooth.com/wp-content/uploads/Sitecore-Media-Library/Gatt/Xml/Services/org.bluetooth.service.transport_discovery.xml
Relevant characteristics:
- https://www.bluetooth.com/wp-content/uploads/Sitecore-Media-Library/Gatt/Xml/Characteristics/org.bluetooth.characteristic.analog_output.xml
- https://www.bluetooth.com/wp-content/uploads/Sitecore-Media-Library/Gatt/Xml/Characteristics/org.bluetooth.characteristic.digital_output.xml
- https://www.bluetooth.com/wp-content/uploads/Sitecore-Media-Library/Gatt/Xml/Characteristics/org.bluetooth.characteristic.network_availability.xml
Program service
UUID: da3c76a3-adb8-4000-9000-d9f7fb4d934d
Characteristics:
Program data:
- Description: Load a PSC bytecode program and run it
- UUID:
da3c76a3-adb8-4000-9001-d9f7fb4d934d
- Write only
- Data format: PSCB bytecode
Memory service
UUID: da3c76a3-adb8-4001-9000-d9f7fb4d934d
Characterstics:
Memory data:
- Description: Write data into the PSC memory
- UUID:
da3c76a3-adb8-4001-9001-d9f7fb4d934d
- Write only
- Notify
- Data format:
AH AL DH DL [DH DL...]
- 16-bit start address followed by 16 bit data
- Data overflowing max address will be ignored
Outputs service
UUID: da3c76a3-adb8-4002-9000-d9f7fb4d934d
Characteristics:
Output data:
- Description: Immediately stop any PSC program and update outputs with the given values
- UUID:
da3c76a3-adb8-4002-9001-d9f7fb4d934d
- Write only, no response
- Data format: live-play-protocol
WIFI Service
UUID: da3c76a3-adb8-4003-9000-d9f7fb4d934d
Characteristics:
Network credentials
- Description: Store an SSID/Password pair for WiFi connection
- UUID:
da3c76a3-adb8-4003-9001-d9f7fb4d934d
- Write only
- Data format:
0x02 <SSID bytes> 0x1F <Password bytes> 0x03
- Writing
0x00
as the password will erase the SSID from the local store
- Writing
Preferred network
- Description: Set the preferred SSID for WiFi auto connection
- UUID:
da3c76a3-adb8-4003-9002-d9f7fb4d934d
- Write only
- Data format:
0x02 <SSID bytes> 0x03
- Writing
0x02 0x03
will un-set the preferred network
- Writing
Connection state
- Description: Return the current WiFi connection state
- UUID:
da3c76a3-adb8-4003-9003-d9f7fb4d934d
- Read only, Notify
- Data format:
0x02 <Status byte> 0x1F <IP address>? 0x03
- Status byte: ENUM
- 0x00: WL_IDLE_STATUS
- 0x01: WL_NO_SSID_AVAIL
- 0x02: WL_SCAN_COMPLETED
- 0x03: WL_CONNECTED
- 0x04: WL_CONNECT_FAILED
- 0x05: WL_CONNECTION_LOST
- 0x06: WL_DISCONNECTED
- IP Address: string
- Status byte: ENUM
Network services
Outputs service
- Description: Immediately stop any PSC program and update outputs with the given values
- Protocol: TCP
- Port: 8080
- Data format: live-play-protocol