~hp/monobus

OSC to Lawo MonoBus bridge
Append Issues/Patches section to readme
92bfc483 — builds.sr.ht 5 months ago
Update ci to release-0.1.0
Update ci to release-0.0.0

refs

master
browse  log 

clone

read-only
https://git.open-music-kontrollers.ch/~hp/monobus
read/write
git@git.open-music-kontrollers.ch:~hp/monobus

You can also use your local clone with git send-email.

#monobus

#OSC to Lawo MonoBus bridge

Control your Lawo MonoBus devices via an OSC server that talks to FTDI USB adapters.

#Dependencies

  • LV2 (LV2 Plugin Standard)
  • libftdi (Library to talk to FTDI chips)
  • netpbm (Toolkit for manipulation of graphic images)
  • ncurses (Free software emulation of curses)

#Build / install

git clone https://git.open-music-kontrollers.ch/~hp/monobus
cd monobus
meson build
cd build
ninja
ninja test
sudo ninja install

#Usage

#Discover your type of FTDI device via e.g. dmesg when plugging it in
[user@machine ~] dmesg
[  132.718684] usb 1-1.4: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
[  132.718689] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  132.718691] usb 1-1.4: Product: FT232R USB UART
[  132.718693] usb 1-1.4: Manufacturer: FTDI
[  132.718695] usb 1-1.4: SerialNumber: ABCXYZ
#Run monobus daemon with the information gathered above
monobusd \
	-V 0x0403 \                   # USB idVendor
	-P 0x6001 \                   # USB idProduct
	-D 'FT232R USB UART' \        # USB product description
	-S ABCXYZ \                   # USB product serial number
	-F 2 \                        # update rate in frames per second
	-U osc.udp://:7777            # OSC server URI
#Run monobus daemon in testing, aka simulation mode with ncurses output
monobusd \
	-T \                          # enable testing mode
	-F 2 \                        # update rate in frames per second
	-U osc.udp://:7777            # OSC server URI
#Run monobus client with a 112x16 pixel pbm image at offset (2, 3)
monobusc \
	-P 11  \                      # priority level 11
	-X 2 \                        # put image data at x-offset 2
	-Y 3 \                        # put image data at x-offset 3
	-W 112 \                      # image data width
	-H 16 \                       # image data height
	-U osc.udp://localhost:7777 \ # OSC server URI
	-I bitmap.pbm                 # Bitmap in PBM format
#Run monobus client to clear image at priority level 11
monobusc \
	-P 11  \                      # priority level 11
	-C \                          # clear image data
	-U osc.udp://localhost:7777   # OSC server URI
#Control monobusd with your favorite OSC client
#/monobus/PRIO ,iiiib BITMAP-DATA

To set the bitmap, send your OSC messages to given OSC path with PRIO 0-31 integer x-offset, integer y-offset, integer width, integer height and blob argument being your bitmap data in PBM payload format.

# set bitmap of size 112x16 at offset position (8,12) for priority level 11
osc.udp://localhost:7777 /monobus/11 ,iiiib 8 12 112 16 {...}
#**/monobus/PRIO ,

To clear the bitmap, send your empty OSC messages to given OSC path with PRIO 0-31.

# clear whole bitmap for priority level 11
osc.udp://localhost:7777 /monobus/11 ,

#Issues/Patches

Please report issues to https://todo.open-music-kontrollers.ch/~hp/issues

Please submit patches to https://lists.open-music-kontrollers.ch/~hp/patches