Specifications
Maximum rate a SNAPpy script can toggle a GPIO pin:
11583 Hz
In other words, each True/False cycle took 86.33 µs.
Keep in mind that as a general rule, SNAPpy scripts should not be looping, the above rate is only
attainable if the node is doing nothing else (for example, no radio or serial port communication).
Maximum rate for readAdc() calls:
Maximum 120 samples/second.
NOTE! – This measurement was taken using a script that did not actually do anything with the data.
You will also have to take into consideration any numeric processing required (data thresholding, etc.),
as well as the need to actually store the data someplace.
I
2
C Byte Transfer Time
The actual I
2
C transfers are done using “bit banging” in software. This was measured using a logic
analyzer at 155 µs per byte.
SPI Byte Transfer Time
The actual SPI transfers are done using “bit banging” in software. This was measured using a logic
analyzer at 76 µs per byte.
Virtual Machine Speed
SNAP 2.4 Instructions Per Second (IPS): 51630
Reserved Hardware
The internal 1 KHZ timer (“sysTick”) inside the ARM processor is used to generate the 1 millisecond
time base for SNAP. Hardware timers TIM1 and TIM2 remain available for use (for example, for
generating PWM waveforms).
The PA5 pin if held low at power-on reset forces entry into a serial boot loader built into the chip.
This is a hardware feature of the chip, and cannot be overridden. This does not mean you cannot use
this pin for other purposes, but you definitely should refer to the manufacturer’s data sheets and
reference designs before doing so.
SNAP Reference Manual Document Number 600-0007K Page 201 of 202