Clock divider mode for grids


#21

Oops I edited instead of making new. So I’m gonna re-edit. Actually I was saying thank you!

Then I thought I should check the code as you did so much already and do not have much time for this.
I tried a few things until I found this:
pattern_generator.h line 133, the if condition lacks an opening bracket.

if (options_.output_mode != OUTPUT_MODE_CLOCK_DIV)
Evaluate();
}

So I changed it to this:

if (options_.output_mode != OUTPUT_MODE_CLOCK_DIV) {
Evaluate();
}

Though it was already missing in previous version without ACCENT mod which worked fine…
Anyway I compiled, flashed, tested and it seems to work, incl. ACCENT outs.

I set it to CLOCK DIV mode (2 LEDS lighten) and it first acted a bit weird, getting ACC 1 / ACC 2 / ACC 3 or ACC / CLK / RST like it would normally at the ACCENT outs (no divs), but then I redialed a second time from EUCLIDEAN mode to DRUM mode to CLICK DIV mode and it worked.
I’ll have to test further each single ACCENT out, but at first glance I see OR and XOR at the ACCENT outs.


#22

And I’ll make a video on my channel after.


#23

A question I am curious about if I want to give to a friend a .WAV file of the firmware mentionned in the previous posts. On the Grids, how would you upload/play the firmware update file into the module? I mean what are you taking as input?


#25

Firmware update us documented near the end of the manual, here:

https://mutable-instruments.net/modules/yarns/manual/

You will need a sysex librarian application like the one made by Elektron, which is still available here:

https://www.elektron.se/wp-content/uploads/2016/05/Elektron_C6_MAC_AND_WIN_1.51.zip


#26

The if statement is fine. In C/C++ you can write:

if (condition)
   doSomething();
doSomethingElse();

and it would be identical to

if (condition)
{
   doSomething(); 
}
doSomethingElse();

The behaviour you describe is also what I observed - it seems to work after changing the mode to euclidean/pattern and then back to the clock divider mode. But on my unit, it randomly doesn’t work so I think there must be something else. My first guess was that the settings storage (afaik it is located at the end of the flash space) would overlap with actual code (since I added functionality, the code takes up more space in the flash) but I really don’t know for sure - I have yet to dive deeper into this. I’ll try to take a look at it today. If you find anything weird and can give me instructions on how it reproduce it, that would certainly help a lot.


#27

Seems strange that it’s the same process as on Yarns for Grids, as there’s nor snake pattern, neither a MIDI IN on the front on the original version. I guess I’m missing something at some point.


#28

Oops, please ignore what I wrote above. I was mixing up my modules.


#29

I understand. No problem at all.


#30

It is indeed random here too.
Also what I mentionned with the ACCENT outouts. Sometimes ACC 1 / ACC 2 / ACC 3 at the output or ACC / CLK / RST like it would normally in the other modes. Then I switch to EUCLIDEAN or DRUM mode, then go change the Outputs configuration from ACC 1 / ACC 2 / ACC 3 to ACC / CLK / RST or vice-versa. Then I go back to CLOCK DIV mode and ACCENT outputs are now OR, XOR, random.
Unfortunately it is difficult to reproduce, because it’s not always acting the same.

I was also thinking about a storage issue, in despite of having only a very few lines of codes added. Can’t find another explanation for now.


#31

Okay.
So I’ll edit my post as I made already 3 in a row.

[quote=“TheSlowGrowth, post:26, topic:8457”]
The behaviour you describe is also what I observed - it seems to work after changing the mode to euclidean/pattern and then back to the clock divider mode. But on my unit, it randomly doesn’t work so I think there must be something else.[/quote]
Okay. I got the code to work like it should.

It needed a third argument to save the 3rd mode. And also a few tweaks.

@TheSlowGrowth: I’m gonna send you the code (or what I changed/added) so you can check.

Now I need to find a way to start the module in bootload mode, so it is possible to upload the firmware as .WAV file.
Because it does not want to upload when I press TAP on power on and send the .WAV to clock in.
I made a post on muffwiggler to ask.