I think I’ve noticed something off with how Ansible works with i2c followers. It might be intentional, but I wanted to check.
I have a bus that includes Ansible, Teletype, JF, W/, and Disting EX (Plaits mode). Things are largely running smoothly on the bus. Each module is updated to its respective latest firmware version.
When I use Ansible as a leader, the same pitch sent to JF, W/, and Disting are all in different octaves. I set up a scale that only outputs one pitch (D in my case), and started using each of the devices as followers. If I’m assuming JF is correct, then the same note sent to the Disting is one octave higher, and the same note sent to W/ is 3 octaves higher.
What’s interesting (to me anyway) is the same thing isn’t true when Teletype is sending note events. The same note event (or at least sending
N 7 or whatever to each device) results in the same note in the same octave on each device.
I can resolve this with octave adjustment in the Ansible follower config, so it’s only so much of a problem. But, it does mean that when lead by Ansible, the W/ for example has a fairly limited range and can’t reach into lower registers.
Again, this might be intentional, or it might be documented somewhere that I wasn’t able to turn up. Still, I thought I would bring it up. This seemed like the right place since the devices act as I expect when the notes come from Teletype, so Ansible might be the thing at issue here.
Thanks for any info!
edit: I’m away for the weekend but I can see that this file is almost certainly where changes could be made to affect this: ansible/ansible_ii_leader.c at main · monome/ansible · GitHub
When I’m back I can set up the firmware toolchain and experiment with those, to try and bring the values in line (at least with what I expect).