Is it possible to do that in the frimware?
Dont want to use the chain function, just want the possibility to choose between 16 to 32 notes pattern.
Using sokkos.
Thank you.
16 notes to 32 notes, possible?
Moderators: altitude, adafruit_support_bill, adafruit, phono, hamburgers
Please be positive and constructive with your questions and comments.
- antto
- Posts: 1636
- Joined: Thu Apr 15, 2010 3:21 pm
Re: 16 notes to 32 notes, possible?
sure, it's just a matter of code
however, you'll have to alter lots of code to make this happen, because the pattern structure is hardcoded as 16 bytes/steps/notes
however, you'll have to alter lots of code to make this happen, because the pattern structure is hardcoded as 16 bytes/steps/notes
- isak
- Posts: 835
- Joined: Wed May 27, 2009 3:54 pm
Re: 16 notes to 32 notes, possible?
So is that means that every place in the code that 16 step is applied I need to add in some way 32?
Damn...how do I do that?
I feel such a noob when it comes to codes
Damn...how do I do that?
I feel such a noob when it comes to codes
- antto
- Posts: 1636
- Joined: Thu Apr 15, 2010 3:21 pm
Re: 16 notes to 32 notes, possible?
well, there are a few definitions, PATT_SIZE 16
obviously you'd change that to 32
however, some things will break
if you use sokkos2 - for triplet patterns it stores a Triplet flag in the last note and it's probably hardcoded to 16 (in other words, changing the PATT_SIZE definition alone won't fix the triplet flag)
changing PATT_SIZE to 32 means that 128 patterns of 32 bytes each equals 4096, that's the entire eeprom (it perfectly fits, but you got no memory left for anything else) ..so, tracks would be broken
this thing won't quite work with c0ntr0l because c0ntr0l expects patterns of size 16
using the bank LEDs to show the position - this will only work for the first 16 notes, since you only got 16 bank LEDs
and in general, the patterns won't be compatible with stock firmware and sokkos
it's all fixable of course, but very messy and the fact that you don't have much (any?) free space for the code isn't gonna help
obviously you'd change that to 32
however, some things will break
if you use sokkos2 - for triplet patterns it stores a Triplet flag in the last note and it's probably hardcoded to 16 (in other words, changing the PATT_SIZE definition alone won't fix the triplet flag)
changing PATT_SIZE to 32 means that 128 patterns of 32 bytes each equals 4096, that's the entire eeprom (it perfectly fits, but you got no memory left for anything else) ..so, tracks would be broken
this thing won't quite work with c0ntr0l because c0ntr0l expects patterns of size 16
using the bank LEDs to show the position - this will only work for the first 16 notes, since you only got 16 bank LEDs
and in general, the patterns won't be compatible with stock firmware and sokkos
it's all fixable of course, but very messy and the fact that you don't have much (any?) free space for the code isn't gonna help
- isak
- Posts: 835
- Joined: Wed May 27, 2009 3:54 pm
Re: 16 notes to 32 notes, possible?
How about do this with the upcoming new CPU?
-
- Posts: 151
- Joined: Wed Jul 11, 2007 2:02 pm
Re: 16 notes to 32 notes, possible?
Yes, in the new cpu there is plenty of space for code.
- antto
- Posts: 1636
- Joined: Thu Apr 15, 2010 3:21 pm
Re: 16 notes to 32 notes, possible?
yes, at least there is lots and lots of space
however, that doesn't automatically solve the other problems, to make the pattern length 32 you'd still have to change things in many places in the code
i think you can actualy put a larger eeprom in the same slot as the 4kB one without doing any firmware modifications (you just need an eeprom with the same pinout and same data interface) so then it will be possible to still have track mode on it
actually the new cpu's internal eeprom is 4kB too, but i wouldn't want to write data to it very often
in my firmware, i use it to store settings
however, that doesn't automatically solve the other problems, to make the pattern length 32 you'd still have to change things in many places in the code
i think you can actualy put a larger eeprom in the same slot as the 4kB one without doing any firmware modifications (you just need an eeprom with the same pinout and same data interface) so then it will be possible to still have track mode on it
actually the new cpu's internal eeprom is 4kB too, but i wouldn't want to write data to it very often
in my firmware, i use it to store settings
Please be positive and constructive with your questions and comments.