Skip to content

studiohsoftware/2WIRELESS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2WIRELESS

Wireless Preset Manager

Connect to your Buchla 200e wirelessly and control it using a web page on your phone or computer. Change and save presets, upload and download preset data, and even update module firmware.

Call URLs to execute MIDI commands.

Run as USB host, and connect a MIDI USB controller directly to your 200e. Run as USB device, and connect your DAW directly to your 200e.

Preset Manager Commands

Global remote enable.

Global remote disable.

Save current settings to specified preset.
Example: http://192.168.0.1/savepreset?preset=1

Recall specified preset.
Example: http://192.168.0.1/recallpreset?preset=29

Retrieve all 30 presets from the specified module.
Example (259A): http://192.168.0.1/getpresets?addr=0x28

Command specified module to read all 30 presets from on-board non-volatile memory.
Example (259A): http://192.168.0.1/setpresets?addr=(0x28)

Use writememory to send presets to on-board non-volatile memory first. Example HTML here https://github.com/studiohsoftware/2WIRELESS/blob/master/Firmware/SetPresets.html
Example JSON (for 292e) here https://github.com/studiohsoftware/2WIRELESS/blob/master/Firmware/presetData.json

MIDI Commands

Send MIDI note ON message.
Example (Channel 9, note G1, half velocity): http://192.168.0.1/midinoteon?chan=9&note=0x1F&velo=0x40

Send MIDI note OFF message.
Example (Channel 16, note F3, max velocity) http://192.168.0.1/midinoteoff?chan=16&note=0x35&velo=0x7F

Send MIDI fine tune message.
Example (Channel 1, lowest fine tune -49): http://192.168.0.1/midifinetune?chan=1&tune=0x00
Example (Channel 2, Ft=An): http://192.168.0.1/midifinetune?chan=2&tune=0x32
Example (Channel 3, highest fine tune +49): http://192.168.0.1/midifinetune?chan=3&tune=0x63

Send MIDI bend command.
Example (Channel 4, lowest bend): http://192.168.0.1/midibend?chan=4&bend_lsb=0x00&bend_msb=0x00
Example (Channel 5, no bend): http://192.168.0.1/midibend?chan=5&bend_lsb=0x00&bend_msb=0x40
Example (Channel 6, highest bend): http://192.168.0.1/midibend?chan=6&bend_lsb=0x7F&bend_msb=0x7F

Midi clock start.

Midi clock stop.

Midi clock. 24 per beat required.

Send MIDI command as bytes
Example (Program Change to change preset to 7):
http://192.168.0.1/sendmidibytes?byte1=C0&byte2=0x07&byte3=0x00
Example (Control Change to set fine tune to An on channel 5):
http://192.168.0.1/sendmidibytes?byte1=B4&byte2=0x1F&byte3=0x32

Configuration Commands

Get wireless SSID
Returns BUCHLA200E by default.

Set wireless SSID
Example: http://192.168.0.1/ssid=TEST
Note ssid limited to 32 characters.

Get wireless WPA password
Returns BUCHLA200E by default.

Set wireless WPA password
Example: http://192.168.0.1/password=TEST
Note password must be at least 8 characters and no more than 63 characters.

Get USB Mode. 1=DEVICE, 0=HOST

Set USB Mode 1=DEVICE, 0=HOST
Example: Set USB mode to HOST http://192.168.0.1/usbMode=0
Note restart required for change to take effect.

Get preset name
Example: get name for preset 12 http://192.168.0.1/presetname?preset=12

Set preset name
Example: Set name for preset 5 to "Test" http://192.168.0.1/presetname=Test&preset=5

Get velocity enable/disable for MIDI channel.
Example: Get velocity enable value for channel 2 http://192.168.0.1/velo?chan=2

Set velocity enable/disable value for MIDI channel.
Example: Enable velocity on channel 1 http://192.168.0.1/velo=1&chan=1

Get poly enable/disable for MIDI channel.
Example: Get poly enable value for channel 2 http://192.168.0.1/poly?chan=2

Set poly enable/disable value for MIDI channel.
Example: Enable poly on channel 1 http://192.168.0.1/poly=1&chan=1

Get transpose value for MIDI channel.
Example: Get transpose value for channel 3 http://192.168.0.1/tran?chan=3

Set transpose value for MIDI channel.
Example: Set transpose to -30 on channel 1 http://192.168.0.1/tran=-30&chan=1

Get fine tune value for MIDI channel.
Example: Get fine tune value for channel 3 http://192.168.0.1/fine?chan=3

Set fine tune value for MIDI channel.
Example: Set fine tune to An on channel 1 http://192.168.0.1/fine=0&chan=1
Example: Set fine tune to 30 on channel 5 http://192.168.0.1/fine=30&chan=5

Get bus mask for MIDI channel.
Example: Get mask value for channel 3 http://192.168.0.1/mask?chan=3

Set mask value for MIDI channel.
Example: Route channel 1 to all four 200e buses http://192.168.0.1/mask=0xF&chan=1
Example: Route channel 1 to bus A http://192.168.0.1/mask=0x8&chan=1
Example: Route channel 1 to bus B http://192.168.0.1/mask=0x4&chan=1
Example: Route channel 1 to bus C http://192.168.0.1/mask=0x2&chan=1
Example: Route channel 6 to bus D http://192.168.0.1/mask=0x1&chan=6

Utility Commands

Read bulk data from on-board non-volatile memory.
Example (Address 0x1C, return 32 bytes. Note 0x001C, or 0x00001C also acceptable): http://192.168.0.1/readmemory?addr=0x1C&length=32

Write data to on-board non-volatile memory at the specified address.
Example: (Address 0x1ABCD, five data bytes 0AFF1B0432) http://192.168.0.1/writememory?addr=0x1ABCD&data=0AFF1B0432
Note all addresses below 0x02C000 are used as scratch space by preset and firmware transfers.

Write bulk data to on-board non-volatile memory.
Note this is an HTTP POST with a JSON formatted body.
Example JSON here https://github.com/studiohsoftware/2WIRELESS/blob/master/Firmware/writeMemoryExample.json
Notes:

  • 20k byte JSON file limit.

  • Addresses are arbitrary locations within 0x0-0x03FFFF.

  • Data elements can be up to 256 bytes long each (512 characters).

  • All addresses below 0x02C100 are used as scratch space by preset and firmware transfers.

V2 Firmware Support

Old firmware (pre Primo version) also supported. Simply add a "v2" to the URL path.
Example: http://192.168.0.1/v2/remotedisable

About

Wireless Preset Manager

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •