Firmware v0.92

Oh Yes i understand better
No problem i will wait, i’m not a very good programmer …

@pichenettes: thanks a lot for the mini-guide! I’ll see if I can find a bigger eprom…

Anybody has a suggestion where I can oder these chips in Italy/Germany?

Conrad has them on stock.

This is great news!

I got so impatient I started building it. A few questions:

Which version of gcc do you use? I ask because my firmware_size does not match yours. I’m using gcc-4.4.4, which is the stable version on Gentoo.

There are inconsistencies between the included music.midi.midifile package and the hex2sysex code - MidiFile vs. Writer, .message vs. .raw_message. I changed those, but I’m sort-of worried that the sysex firmware isn’t right. Is it possible to do bad things to the Shruthi with a sysex firmware image?

Right now, the python code refers to /usr/bin/python2.5, which is a bit old. Things seem to run fine with 2.6, once the header is changed to /usr/bin/python2 and the changes mentionned before are made - is there a reason to use 2.5 specifically?

I have many other questions, but I want to see how things actually work before commenting :slight_smile:


Which hex2sysex version are you using ?
I had a similar issue during the last days (see the “Assigning Sequencers Parameters …” thread") and after some mail exchange Olivier figured it out there was a minor error in the python script.
He just changed that last night, so make sure you have the “new” python script or change the file write mode parameter as the comments on github for hex2sysex show.

I have an earlier rev controller board,(v0.5) will the upgrade support it?

And will I be able to add more memory without loosing my patches? (I’m not sure how I would read my patches from eeprom, and write to the new eeprom, via sysex?)

  • My avr-gcc is 4.3.3. Is the firmware size smaller with 4.4.4? If so, I’ll upgrade! With all the recent changes, the moose says 63770.
  • I’ve commited a few changes yesterday to fix the python midifile stuff, including a bug in which it was using w instead of wb to write MIDIfiles (= troubles on windows!)
  • I’ve written a lot of python code in the past for a conservative environment were 2.6 was considered too new, so the boilerplate header I copy/paste everywhere will sometimes reference 2.5, sorry for that. Anyway, the makefile invokes python explicitly (rather than executing the .py file as a script), so it shouldn’t be a problem.

The difference between v0.5 and v0.7 is only electrical, the firmware supports both boards. You need to do a SysEx dump of your patches to a computer, then do a dump from the computer to the Shruthi once the eeprom has been changed.

On mine, the moose says 63946. I can get a gcc version 4.3.3 easily though. I might try to fiddle with the build parameters to get it smaller, since size is at a premium.

I saw the latest changes to the midifile stuff, that’s exactly it. And actually, it seems the hardware/ invokes directly, not python. Replacing that with a direct call to python also works, as you suggested.

I’ll try to upload this when I get home tonight. Thanks!

I’ve changed the makefile to invoke the script through python. It’s cool that people start messing with the tools because I have only tested them so far on two systems, and both were running OS X.

Under ubuntu 11.04, default avr-gcc is 4.3.5.

My build is 63782.

Also, the midi script works!

Could someone do make size_report and send me the build/shruthi1/shruthi1.lss file? I want to see what gcc compiles differently. I fear some stuff will get inlined differently, yielding performance differences.

Also, 63946 is quite near the 64512 limit - I’ll really have to work hard to squeeze in the last changes I want to make, if I want this to compile on all gcc versions.

So, i just need a bigger ATMega thingy, when its released properly ill be able to Sysex it across yeah?

Of if i buy a bigger ATMega, do i need to use a burner ?

Nice one =)

You don’t need a bigger MCU to do the update. The firmware is compiled for the ATMega644p and no other chip. The update will be done by MIDI.

What you need to change is the eeprom if you want to benefit from the larger patch memory.

Apologies, and thanks. Forgive my noobiness.!

I socketed all ICs when i built, hurray!

So should be a doddle to reinstall.

Many thanks.

About eeprom you can have them as samples with microchip site !

Hullo kroutshev (from x0x forums!)

I looked at that - free samples, nice, but feel a bit cheeky. Do they just send them out?

Theyre only £1 or so but my usual supplier is out for 2 months

Hi Paradigm X !
yes himself :wink: !
Yes i think so, i have ordered them yesterday and received an aknowledgment as they have sent me !


How many did you order? Thinking 5 or so.