Axe-Fx II "Quantum" Rev 10.01 Firmware Release

One of the tricks-of-the-trade when doing embedded programming is to make local copies of member variables. I.e., if you have an object foo with a member bar you would do this:

float bar;
...

bar = foo.bar;

for(i = 0; i < FRAME_SIZE; i++)
{
...
bar = bar * x; // for example
...
}

foo.bar = bar;

The operation on bar is a "Read-Modify-Write (RMW)" and most embedded processors are optimized for this if the memory is L1 cache (or some other tightly-coupled on-chip memory). By making a local copy you force the compiler to use fast, local memory. When you are done with the loop you then save the local variable to the object.

Some compilers will do this automatically if you give them some information about the variable via a pragma. I think it's just easier to manually do it rather than dealing with pragmas which aren't portable.

The danger with doing this is if you forget to initialize bar or save it at the end, which is what I did.

All those bars made me thirsty!

Cheers.

port-royal-beer.jpg
 
Awesome. I'd pretty much assumed that further development on the II platform would end with the release of the III. I guess this is to the 2 what Firmware 11 was to the Gen 1 devices.
 
As an hardware/software engineer, I'm not amused, obviously the tools you're using don't catch those type of errors. Sounds like you're not doing code reviews. I would love to have more usable effects in my AX8 - so get those firmware updates rolling !!

First rule of asking anything is to say "please".... seems all those tools you are using to review code has sucked the "matters" from you.;)
 
Lines of code does not equal skill or quality of work.

I work with lots of people who spew lines of code that I often recommend to be changed to something vastly less size and more efficient. Skill is often doing the same (or more) work with less code.

However, I don't know you and don't care to judge your unseen code.

It's just the attitude and tone of your post that is being responded to here... Maybe re-read what you posted?

Or perhaps just go watch the old Disney movie Bambi?

Mother Rabbit: Thumper, what did your father tell you this morning?
Thumper: If ya can't say somethin' nice, don't say nothin' at all.
 
One of the tricks-of-the-trade when doing embedded programming is to make local copies of member variables. I.e., if you have an object foo with a member bar you would do this:

float bar;
...

bar = foo.bar;

for(i = 0; i < FRAME_SIZE; i++)
{
...
bar = bar * x; // for example
...
}

foo.bar = bar;

The operation on bar is a "Read-Modify-Write (RMW)" and most embedded processors are optimized for this if the memory is L1 cache (or some other tightly-coupled on-chip memory). By making a local copy you force the compiler to use fast, local memory. When you are done with the loop you then save the local variable to the object.

Some compilers will do this automatically if you give them some information about the variable via a pragma. I think it's just easier to manually do it rather than dealing with pragmas which aren't portable.

The danger with doing this is if you forget to initialize bar or save it at the end, which is what I did.
Yep! It's confirmed, Cliff got off the same Spaceship as Steve Vai! You are out of this world man! thank you, thank you, thank you, will never get tired of saying that!! by the way, Quantum 10 sounds amazing!! so much more openness to the sound!! wow Kudos!! LOL Flav
 
As an hardware/software engineer, I'm not amused, obviously the tools you're using don't catch those type of errors. Sounds like you're not doing code reviews. I would love to have more usable effects in my AX8 - so get those firmware updates rolling !!
I am sure you didn't read what you wrote, or maybe you did! Not here dude, appreciate everything Cliff and FAS have done and continue to do for a Product that has no rival even more so when it comes down to customer service and FREE UPGRADES, repeat FREE UPGRADES! LOL
 
Lines of code does not equal skill or quality of work.

I work with lots of people who spew lines of code that I often recommend to be changed to something vastly less size and more efficient. Skill is often doing the same (or more) work with less code.

However, I don't know you and don't care to judge your unseen code.

It's just the attitude and tone of your post that is being responded to here... Maybe re-read what you posted?
I am an ASIC designer by trade. I used to work for a rather large company, which shall remain nameless, that does microprocessors. At on point we were graded by the number of gates we created everyday. Not the best indicator of efficiency let me tell you. I could instance a 32 bit register in a for generate loop and create over a million gates in about 3 minutes. But it would be useless logic.
 
As an hardware/software engineer, I'm not amused, obviously the tools you're using don't catch those type of errors. Sounds like you're not doing code reviews. I would love to have more usable effects in my AX8 - so get those firmware updates rolling !!

I would love to see the products that you have built!
 
Back
Top Bottom