Axowl - OpenWare port for Axoloti + Axocontrol


#1

I'd like to present you all my little OWL :owl: port: https://antisvin.github.io/OpenWareLab/Axoloti/


#2

This is exciting :+1:
doh! First thought this is axo on owl hardware :sweat_smile:
Still great though, will try as soon as I have a moment.


#3

Nice to see people are still hacking around and about the Axoloti!


#4

There's no single "OWL hardware" as such, there 4 different platform that run OWL with >10 devices built around them. It certainly is possible to port Axoloti to some of them, but that could require good understanding of STM32 and ChibiOS.


#5

Would you mind explaining briefly what does this mean, exactly?
I´ve never heard about OWL before, is it some kind of environment for audio devices programming and this gets Axoloti into that environment making it possible to upload patches made there into Axoloti?
Sorry for asking like this, but I searched a little and followed some links and still I didn´t get an idea of what this would mean for Axoloti.


#6

Yes and you could start by looking at the docs page (fork of official documentation with some additions for my projects).

Correct, but you should probably say "Axoloti Core" here to avoid confusion. So this runs OpenWare as firmware instead of original Axoloti firmware and it can run patches built for OWL.


#7

great, thanks a lot (for the explanation and for sharing your work!)
I´m going to study this OWL thing for a while and see what is it about.
P.D: You´re right, axoloti core :smiley:


#8

Wow that's really cool!

Now I can finally run Pd/HVCC patches on the Axoloti :smiley:

Since I have one unused Axoloti Core board I will definitely need to try this soon ..


#9

Ah, a familiar face!

Ok, you should know how to deal with this, but let me know if you run into some issues. The only difference from flashing Lich is that you must flash bootloader first (in DFU mode over USB or with ST-Link).

I haven't tested using it with only Axoloti Core as things get way more interesting if Axocontrol is added. But I expect it to work, even though you'll have to do everything with MIDI. Patch switching should be still usable.


#10

I'm trying with:

~/<path_to_axowl_releases>$ dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D MidiBoot-Axoloti.bin
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Deducing device DFU version from functional descriptor length
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
dfu-util: Could not read name, sscanf returned 0
dfu-util: Failed to parse memory layout

After reboot I just see an Axoloti midi device, no OWL-BOOT anywhere.

Found DFU: [0483:df11] ver=2200, devnum=44, cfg=1, intf=0, path="1-1.2", alt=3, name="@Device Feature/0xFFFF0000/01*004 e", serial="387931603234"
Found DFU: [0483:df11] ver=2200, devnum=44, cfg=1, intf=0, path="1-1.2", alt=2, name="@OTP Memory /0x1FFF7800/01*512 e,01*016 e", serial="387931603234"
Found DFU: [0483:df11] ver=2200, devnum=44, cfg=1, intf=0, path="1-1.2", alt=1, name="@Option Bytes  /0x1FFFC000/01*016 e/0x1FFEC000/01*016 e", serial="387931603234"
Found DFU: [0483:df11] ver=2200, devnum=44, cfg=1, intf=0, path="1-1.2", alt=0, name="UNKNOWN", serial="387931603234"

#11

Yes, the DFU implementation on this MCU is buggy, I've ran into the same problem.


#12

Ah, right. Missed that part of the docs :smiley:

Will try the bin replacement ..


#13

Works! Some OWL patches are quite too heavy, but some tests seemed to do their thing.

Haven't tested usb or din midi yet. Also don't see the usb-audio device, on pipewire here (Lich works fine with that afaik).


#14

Hmm, I'll double check USB audio, but I think I've confirmed that it worked. I was testing because there were some changes in upstream code that got merged recently. That said, I'm running it under ALSA/Jack.

Could you tell me which firmware do you have on Lich? If you're not running latest v22.2.0, it would help if you try it.


#15

Yeah my Lich is still on v21.2.2, I see now that in PipeWire this also doesn't show up as audio device though.