Quote Originally Posted by spfautsch View Post
it looks like the array is only getting populated in one dimension / subscript.
This is solved. There were too many parens around the fill macro definition.

Replaced this:
Code:
#define FILL_DWELL_COLUMN(rpm) {(((CALC_DWELL(rpm, 8)),  \
                                 (CALC_DWELL(rpm, 9)),  \
                                 (CALC_DWELL(rpm, 10)), \
                                 (CALC_DWELL(rpm, 11)), \
                                 (CALC_DWELL(rpm, 12)), \
                                 (CALC_DWELL(rpm, 13)), \
                                 (CALC_DWELL(rpm, 14)), \
                                 (CALC_DWELL(rpm, 15)), \
                                 (CALC_DWELL(rpm, 16)), \
                                 (CALC_DWELL(rpm, 17))))}
With this:
Code:
#define FILL_DWELL_COLUMN(rpm) { (CALC_DWELL(rpm, 8)), \
                                 (CALC_DWELL(rpm, 9)),  \
                                 (CALC_DWELL(rpm, 10)), \
                                 (CALC_DWELL(rpm, 11)), \
                                 (CALC_DWELL(rpm, 12)), \
                                 (CALC_DWELL(rpm, 13)), \
                                 (CALC_DWELL(rpm, 14)), \
                                 (CALC_DWELL(rpm, 15)), \
                                 (CALC_DWELL(rpm, 16)), \
                                 (CALC_DWELL(rpm, 17))}
Thanks for this - I'd never in a million years figured out how to do this with the precompiler!

I just need to convert the accel comp table to using this method and test.

Found this in arduino/preferences.txt: compiler.warning_level=none Switch none to all and lots of ugliness popped up. Very helpful.