thank you for working on this! we really appreciate it

1 Like

Yes, thanks so much for your effort on this.

1 Like

20 characters of thank you.

1 Like

Bumpity-bump:

16n firmware v2.0.1 is out.

This does one thing: it adds support for LC-type boards. This necessitated changes to both the editor code and the firmware itself, but it works fairly neatly alongside master-pattern 16ns, which is an outcome I can live with.

My two LC testers have confirmed it works for them, so now, if you have a 1.34LC board from MSW, you too can try this. There’s a specific LC hex file on the release you will need to download.

There’s also a change to the editor, which is slightly experimental, but I like: if there’s a newer version of the firmware available to download, the editor currently prompts you to do so top right:

image

Anyhow. Fingers crossed this works for you. Time for bed here.

17 Likes

That update worked beautifully for me now. Thank you so much.

1 Like

16n + Fates users

If you’re using 16n with Fates, please see the Fates thread for a compatibility fix

update worked perfectly. thank you!

1 Like

@M4ngu any chance we’ll see this for the Sweet Sixteen at some point?

hey guys…
not sure if i just can’t see this…but…there is no button on my MSW 16n board.

or i am just looking in the wrong place.
:partying_face:

i looked up images of Teensy boards and where there should be a button…well…there isn’t.
heh…

what can i do to update this thing?

thanks for any help!

Button on a Teensy LC marked:

image

and it’s in a similar place on a 3.2. Reach in with something flat, push down.

2 Likes

you can use this with the Sweet Sixteen already,
but you can’t choose PitchBend and it does not have the BootUpDelay necessary for the er-301

yay it is working! thank you so much

4 Likes

use a flashlight and look just passed the connector for that whitish button. Use a flat non-metallic item to gently push you’ll feel a click and then it will show up on the Teensy loader. It’s in there it took me a minute to find it. :slight_smile:

1 Like

(wrote a bit more about the design of this, and how it works, over at my professional blog).

2 Likes

Would be cool to make boot up delay something to be configured via the editor if possible, @infovore would you consider this?

1 Like

I’m curious, in which situation would you want delayed start happening?

It’s specific to the Sweet Sixteen - a Eurorack Adaptation of 16n.

If you’re using I2C to connect a 16n and an ER-301, the ER-301 needs to be on before the 16n tries to connect in Master Mode. Now, if you’re using a desktop unit, that’s easy: wait for it to turn on, and then connect. But if you’re running everything off the same Euro power supply, it’d be useful to force the internal code on the 16n to delay starting up, to ensure it can connect.

I know this because there are people using 16n + ER-301 entirely happily without such a feature.

My inclination is that this is a derivative work, rather than the original, so it’s up to the derivative work to maintain its own firmware. I’m also not convinced it’s worth a byte of editor config. (Yeah, yeah, one byte, but I’m trying to keep my total “device options” config to 16 bytes for $reasons).

Alternatively, this is exactly the sort of configuration that every Sweet Sixteen user would want, which means it could be set at a firmware level, rather than an editor level. Which would keep the implementation much like it currently is: set a configuration define in the config.h file to enable the delay, if it exists, do it. Then, maintaining a fork of the firmware would just involve setting one configuration option in a header file. I’ll note that Sweet Sixteen is kinda running its own fork anyway, what with its “using pitchbend as a high-resolution CC”, which I have not implemented.

What we are running into here is a classic open source dilemma: when is a derivative work a different thing, rather than the same thing?

I’m not hugely into making decisions about the firmware that runs on 16ns based on devices that are… very clearly not desktop faderbanks. But, for instance, the editor has no provision for channel outputs that aren’t CCs right now, either, so adding “this one feature” still doesn’t mean the Sweet Sixteen is fully supported by the editor software.

I’ve mentioned this in DM with @M4ngu, but may as well share it out loud now it’s been raised here. My preferred implementation would be:

  • Sweet Sixteen continues to maintain its firmware fork.
  • It just has a default delay on boot anyway, no issues there, and it maintains that via a simple code flag (as I think it can be set to a value most users wouldn’t complain about even if they didn’t need it)
  • I’m happy to add to the devices list that the editor supports; the correct device ID would also have to be implemented in the S16 firmware. (This is an easy alteration).
  • Then, in future, if somebody wants to extend the editor (and S16 Sysex spec) to support the pitchbend style configuration, as long as it didn’t interfere with existing firmwares, I’d consider that patch. I’m not interested in writing that patch myself.
8 Likes

Thanks for taking the time to explain and create transparency, I get it, totally support it. I am still using my standalone 16n with norns a lot and that is where I saw min/max issues which can now be fixed; To use the Sweet Sixteen with the ER 301 the new firmware is not so crucial for me. Thanks for the update also!

1 Like

The boot-up delay may become a moot issue.

From latest ER-301 firmware update change log:

MAYBE FIXED?: Teletype Integration > Need to wait for ER-301 to finish booting before booting other I2C devices. Feedback needed.

1 Like

true - although in the meantime, having spoken to @m4ngu a bit more, I think the right thing to do is a quick #ifdef in the sourcecode - makes it easy to compile a firmware that works with the key functionality of S16 with minimal effort.