Note that I did find out my error but some aspects of this puzzle me;
Note 2: The code below was typed in - not cutnpaste - so the odd semicolon may be missing
#define ARRAY_SIZE 16000
volatile int sound_array[ARRAY_SIZE];
void setup()
{
for (int i=0;i<ARRAY_SIZE;i++)
sound_array[i]=0;
}
void loop()
{
}
The mistake I had made was to define the array as int (4 bytes per int) when I should have defined it as an array of short’s (2 bytes).
The program compiles and the F/W downloads (This is for a photon BTW).
Straight away I get a SOS 1 and have to go to safe mode and reflash tinker (note I have this procedure down pat after doing 5-6 times while debugging).
Altering the array to shorts fixed the problem - in the first case I would be using 4 * 16000 = 64,000 bytes vs 32,000 bytes.
I am locally developing (particle-dev) and am wondering if there is any easy way to detect via the compiler/Atom if I have screwed the pooch vis-a-vis memory (RAM) usage?
Stan