![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
projectwerk
Dependencies: NeoPixelI2cSlave mbed
main.cpp@1:e454a9dce379, 2016-01-09 (annotated)
- Committer:
- BramHeldenbergh
- Date:
- Sat Jan 09 13:13:33 2016 +0000
- Revision:
- 1:e454a9dce379
- Parent:
- 0:75b8c5b36063
projectwerk
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
BramHeldenbergh | 0:75b8c5b36063 | 1 | #include "mbed.h" |
BramHeldenbergh | 0:75b8c5b36063 | 2 | #include "neopixel_string.h" |
BramHeldenbergh | 0:75b8c5b36063 | 3 | #include "i2c_device.h" |
BramHeldenbergh | 0:75b8c5b36063 | 4 | #include "neopixel_string_factory.h" |
BramHeldenbergh | 0:75b8c5b36063 | 5 | #include "neopixel_i2c_daemon.h" |
BramHeldenbergh | 0:75b8c5b36063 | 6 | #include "strobe.h" |
BramHeldenbergh | 0:75b8c5b36063 | 7 | |
BramHeldenbergh | 0:75b8c5b36063 | 8 | // This must be an SPI MOSI pin. |
BramHeldenbergh | 0:75b8c5b36063 | 9 | #define DATA_PIN p5 |
BramHeldenbergh | 0:75b8c5b36063 | 10 | #define STRING_SIZE 8 |
BramHeldenbergh | 0:75b8c5b36063 | 11 | |
BramHeldenbergh | 0:75b8c5b36063 | 12 | #define DEBUG_MODE 1 |
BramHeldenbergh | 0:75b8c5b36063 | 13 | #include "log.h" |
BramHeldenbergh | 0:75b8c5b36063 | 14 | |
BramHeldenbergh | 0:75b8c5b36063 | 15 | Serial pc(USBTX, USBRX); // tx, rx |
BramHeldenbergh | 0:75b8c5b36063 | 16 | |
BramHeldenbergh | 0:75b8c5b36063 | 17 | int main() { |
BramHeldenbergh | 0:75b8c5b36063 | 18 | pc.baud(115200); |
BramHeldenbergh | 0:75b8c5b36063 | 19 | SimplyLog::Log::i("Neopixel driver loading\r\n"); |
BramHeldenbergh | 0:75b8c5b36063 | 20 | |
BramHeldenbergh | 0:75b8c5b36063 | 21 | I2cSettings settings; |
BramHeldenbergh | 0:75b8c5b36063 | 22 | settings.frequency = 100000; |
BramHeldenbergh | 0:75b8c5b36063 | 23 | settings.address = 0x80; |
BramHeldenbergh | 0:75b8c5b36063 | 24 | |
BramHeldenbergh | 0:75b8c5b36063 | 25 | SimplyLog::Log::i("Slave is working @ %dHz\r\n", settings.frequency); |
BramHeldenbergh | 0:75b8c5b36063 | 26 | SimplyLog::Log::i("Slave is working @ SLAVE_ADDRESS = 0x%x\r\n", settings.address); |
BramHeldenbergh | 0:75b8c5b36063 | 27 | |
BramHeldenbergh | 0:75b8c5b36063 | 28 | SimplyLog::Log::i("Creating NeoPixel String\r\n"); |
BramHeldenbergh | 0:75b8c5b36063 | 29 | NeoPixelString * first_string = NeoPixelStringFactory::createNeoPixelString(DATA_PIN, STRING_SIZE); |
BramHeldenbergh | 0:75b8c5b36063 | 30 | |
BramHeldenbergh | 0:75b8c5b36063 | 31 | SimplyLog::Log::i("Creating I2cDevice\r\n"); |
BramHeldenbergh | 0:75b8c5b36063 | 32 | I2cDevice i2c(p28, p27, &settings); |
BramHeldenbergh | 0:75b8c5b36063 | 33 | |
BramHeldenbergh | 0:75b8c5b36063 | 34 | SimplyLog::Log::i("Creating NeoPixel I2c Daemon\r\n"); |
BramHeldenbergh | 0:75b8c5b36063 | 35 | NeoPixelI2cDaemon neo(&i2c, LED1); |
BramHeldenbergh | 0:75b8c5b36063 | 36 | neo.attachPixelString(first_string); |
BramHeldenbergh | 0:75b8c5b36063 | 37 | |
BramHeldenbergh | 0:75b8c5b36063 | 38 | SimplyLog::Log::i("Listening in blocking mode\r\n"); |
BramHeldenbergh | 0:75b8c5b36063 | 39 | neo.listen(true); |
BramHeldenbergh | 0:75b8c5b36063 | 40 | |
BramHeldenbergh | 0:75b8c5b36063 | 41 | while(1) { } |
BramHeldenbergh | 0:75b8c5b36063 | 42 | } |
BramHeldenbergh | 0:75b8c5b36063 | 43 |