Exactly how much RAM does the DigiUSB library use?
Background:
I'm trying to use Adafruit's
LPD8806 library to control a
strip of individually addressable LEDs with 48 LEDs. The strip is a SPI device.
At first, my project would not compile because the library makes references to the SPI library, which apparently does not work on a digispark. I commented out all native SPI references from the library (it falls back to bitbanging), and it works fine.
However, I then added
DigiUSB.h to my project, and my strip stopped working. (Even though I didn't even call
DigiUSB.begin();.)
After much trial an error, I discovered that it appears I ran out of RAM. The LPD8806 library
requires 3 bytes of memory per LED to track the RGB value of each. 48 * 3 = 144 bytes of memory, and the ATtiny85 has
512 bytes.
Reducing the number of controlled LEDs to 28 (with
DigiUSB loaded) got it working again (uses 84 bytes). However, I'm obviously not really happy with half my strip out.
Also, I've noticed that even if i turn the LPD8806 all the way down to just 1 LED, the DigiUSB device does not show up on my computer -- but one issue at a time.
I ultimately need to communicate with the computer so it can send commands (received from the network) to turn the LED strip. What can I do?