I’m reading http://electricimp.com/docs/resources/sampler_ffd/ and it illustrates an example with 4 buffers and each takes 0.256 seconds to fill up. But no where does it mention how many buffers are available for use by the device. How many such buffers can I make in the imp001?
If I add 1mb spi flash like https://www.adafruit.com/products/1564 I can just create buffers using the pins for that correct?
On a similar note, is there any way to put these spi flash chips in series? the imp002 has two spi interfaces (4 pins each) does that mean I can only add up to 2 of these flash chips to my prototype?
Sampler buffers need to be in internal SRAM, not in external SPI. Buffers (which are of type “blob” in Squirrel) come from the same memory heap as everything else: you can check how much free memory is available in your application by using imp.getmemoryfree().
Of course, once you obtain a buffer of data there’s nothing stopping you from writing that data to an external SPI flash and then re-using the buffer. In fact we’ve got a reference design that does exactly that: Lala.
SPI targets, such as flash chips, can share the MISO, MOSI and CLK lines as long as they each get their own CS (chip-select) signal. So you typically need one extra GPIO for each additional SPI flash on the same bus.