Getting Started with Oopsy (Max/MSP Gen~)¶
This guide can be dissected into just a few parts:
-
Downloading the Oopsy package and placing it in your
Max 8/Packages
folder -
Opening up one of the example patches and programming your Daisy
Toolchain Install¶
If you've already been doing any development with Daisy, you've probably already got this set up and can skip ahead to the next section.
Oopsy compiles firmware for the Daisy platform under the hood, and can program that firmware to the device directly from Max. In order to do these things, a few extra tools are required:
- Make
- arm-none-eabi toolchain
- dfu-util
These are generally simple to install for each OS. See our MacOS Guide and Windows Guide for detailed steps.
Though, if you're on MacOS and already have Brew installed, all you need to do is paste this command into your terminal:
Getting Oopsy¶
You can either download a pre-built version of Oopsy, ready to drop into place, or clone it from GitHub.
Option 1: Download¶
Download the .zip file by clicking here, and extract the file into the Max 8 Packages folder.
The packages folder can be found at:
C:\Users\YourUserName\Documents\Max 8\Packages
on Windows
or
~/Documents/Max\ 8/Packages/
on MacOS
Option 2: Clone with Git¶
To get Oopsy set up with Git, clone the repo and then run the install script:
# first open a console in your Documents/Max 8/Packages folder, then:
git clone https://github.com/electro-smith/oopsy.git
cd oopsy
./install.sh
Programming an Example from Max¶
Examples can be found inside of the package.
Open up reverb.maxpat
example.
You'll see a bpatcher containing:
- A button that when pressed, will export and compile the gen~ patcher(s) for Daisy
- A dropdown with the available breakout boards
- A button that toggles between DISCREET/VERBOSE for printing to the console
Select the platform you're using from the dropdown (e.g., Patch for Daisy Patch, etc.).
For Daisy Seed, you can arbitrary select Pod
if you're just using the audio I/O pins.
Next, put Daisy into bootloader mode by following these steps. With Daisy connected to your computer via its onboard USB, hold down the BOOT button and press the RESET button. After releasing the RESET button, you can release the BOOT button as well.
Now, you can either click the button in the Oopsy bpatcher or simply save the patcher, and the object will attempt to program Daisy with the new firmware.
When the firmware is loaded, you should see the LED on Daisy begin to blink, to indicate it is running the generated firmware.
You should now have a functioning reverb on any platform! However, Pod will have limited controls since there are four parameters contained in the patch.
For the time being, you must manually re-enter bootloader mode each time you want to reprogram Daisy.
The following platforms are currently supported:
- Electrosmith Daisy Pod
- Electrosmith Daisy Patch
- Electrosmith Daisy Petal
- Electrosmith Daisy Field
Creating a patcher¶
So, you've programmed one of the examples to Daisy, and now you want to take your crazy quadruple dogwhistle resonator gen~ patch and throw it on Daisy.
You can add Oopsy to your patch in a few different ways:
- To add Oopsy to an existing patch, you can create an [oopsy.
] object, where is the desired breakout board. For example, [oopsy.pod], [oopsy.petal], [oopsy.field], [oopsy.patch], etc. This will add the bpatcher with the specified target. - Templates exist for creating new patches with control inputs set up and ready to simulate. Start a new patch this way by clicking
"File" > "New From Template" > "Oopsy <board>"
. - Alternatively, you can create an Oopsy object and set the
@target
attribute to your desired breakout board (e.g., Pod, Petal, Field, Patch, etc.).
Multiple Patches¶
Many of the supported breakout boards support loading multiple gen~ patches to the hardware at once. To do this, simply add more gen~ patches to your Max patch and load the firmware as usual.
Details for switching apps are in the oopsy README.
Troubleshooting¶
Please refer to the Oopsy section of the Troubleshooting Page.