I’m not going to have much time to test over the next two weeks, but will let you know how I get on.

One thought… I’ve just had a look at the ES source code, is it possible that you’re doing too much in the timer callback clockTimer_callback? Won’t interrupts be masked when this is running? Thus if you take longer than a single tick your clock will start to drift?

i’ll investigate-- thanks for the heads up. what’s perplexing is that this code works 100% on all of my units and power supplies here.

Atmel docs on interrupts, see 5.1 & 5.2

One trick you migth be able to do to quickly determine if it’s an issue is make use of the AVR32_COUNT register…

As far as I can tell something like the following should work…

uint32_t t = Get_system_register(AVR32_COUNT);
print_dbg_long(t);
Set_system_register(AVR32_COUNT, 0);

If you put that at the top of clockTimer_callback it should just print out the time delta between callbacks (assuming nothing else is reseting the register to 0).

not seeing a substantial degree of fluctuation with normal use, but i’ll keep on this track. thanks for the suggestion.

ok-- most recent test below. @GoneCaving @shellfritsch @sgnhh @koerby @greenanother

es150322-dac-10ms-intprotect.zip (45.7 KB)

tuned spi speed to 40mhz (doubled)
changed clock rate from 6ms to 10ms
interrupt protected all dac SPI transactions

any feedback would be greatly appreciated.

i may not be able to test this in the next 24hrs - but if i can i’ll let u know.

Another overnight run and still looking good :slight_smile: I’ll try a more realistic test this evening if I can find some time.

still running after 40 something hours.

anyone else?

Ran for 6 hrs with slews, patterns etc. No lockup, no slow down. :heart_eyes:

1 Like

Ran since 20 hours, No slowdowns

haven’t had a chance to update my firmware, but the responses here seem very promising.

release candidate:

fixed a few other minor bugs. MIDI support present.

I’m so glad you guys figured this out, and can stop running your systems for that many hours :scream:

hm, might’ve missed this, but does the latest release disable the shape memories? i can’t access them on this firmware.

edit: damnedest thing, they started working after a few minutes.

I’m having some issues with this firmware release.

RUN 1:
-Installed firmware (no issues)
-Plugged in QuNexus. QN powers, but no response from ES.
-Switched to Grid. No response from Grid (no interface loaded).
-Power cycled.
-Still no response from Grid.

REFLASH!
RUN 2:
-Installed firmware (no issues)
-Plugged in Grid. Interface loads. Able to play notes.
-Plug in QN. QN powers up.
-Play a note on QN. Note plays, but ES locks up. Edge and Pos lights are held full.
-Unplug QN. Plug in Grid. Interface doesn’t load.
-Power cycle.
-Plug in Grid. Interface loads.
-Play a note from Grid. ES locks up again. Edge and Pos lights are held full. No new notes accepted, and Grid interface doesn’t update.

From there, I tried about three more times. Each time, the ES freezes on the first note. Anyone else try the QuNexus?

be sure to use this firmware:

i just retested and had no issues with either the grid or op-1. did you have the QN working at any point previously? did you have problems with the grid prior? (i apologize for not being able to keep track of everyone independently-- i may consider setting up a bugtracking system)

I used that one. I’ll redownload, reflash, and retest with my OP-1 later today.

No problems with the Grid prior. It works fine on the MP and WW when I switch back to those modules, even after an ES lockup.

I haven’t tested the QN with the ES previously. I’ve only really used it directly with my computer, or with the CV outputs->modular.

i expect the grid is fine. did you have issues with the ES prior? does the ES+grid work normally without the QN? (i gathered yes from the above post, but want to confirm)

No prior issues with ES + Grid, aside from the slowdown issue. After I get a chance to reflash, I’ll test it initially using only the Grid. If that goes well, I’ll move to the OP-1 in MIDI mode, and then the QN.