Simple test app to run a NeoStrip connected to a nRF51 Dongle
Dependencies: RedBearNano_NeoPixels
main.cpp@0:41668480cbeb, 2018-02-02 (annotated)
- Committer:
- kuehn
- Date:
- Fri Feb 02 12:09:22 2018 +0000
- Revision:
- 0:41668480cbeb
First running version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kuehn | 0:41668480cbeb | 1 | #include "mbed.h" |
kuehn | 0:41668480cbeb | 2 | |
kuehn | 0:41668480cbeb | 3 | #include "neopixel.h" |
kuehn | 0:41668480cbeb | 4 | |
kuehn | 0:41668480cbeb | 5 | #define NRF51_DONGLE |
kuehn | 0:41668480cbeb | 6 | |
kuehn | 0:41668480cbeb | 7 | #define LED_COUNT 15 |
kuehn | 0:41668480cbeb | 8 | |
kuehn | 0:41668480cbeb | 9 | #ifdef NRF51_DONGLE |
kuehn | 0:41668480cbeb | 10 | #define LED_0 p21 |
kuehn | 0:41668480cbeb | 11 | #define LED_1 p23 |
kuehn | 0:41668480cbeb | 12 | #define LED_2 p22 |
kuehn | 0:41668480cbeb | 13 | |
kuehn | 0:41668480cbeb | 14 | #define STRIP_0 p15 |
kuehn | 0:41668480cbeb | 15 | #define STRIP_1 p16 |
kuehn | 0:41668480cbeb | 16 | |
kuehn | 0:41668480cbeb | 17 | #define PULSE_0 p17 |
kuehn | 0:41668480cbeb | 18 | |
kuehn | 0:41668480cbeb | 19 | #elif NRF51_MICROBIT |
kuehn | 0:41668480cbeb | 20 | #define LED_0 p18 |
kuehn | 0:41668480cbeb | 21 | #define LED_1 p19 |
kuehn | 0:41668480cbeb | 22 | #endif |
kuehn | 0:41668480cbeb | 23 | |
kuehn | 0:41668480cbeb | 24 | DigitalOut myled_0(LED_0); |
kuehn | 0:41668480cbeb | 25 | DigitalOut myled_1(LED_1); |
kuehn | 0:41668480cbeb | 26 | |
kuehn | 0:41668480cbeb | 27 | DigitalOut myledError(LED_2); |
kuehn | 0:41668480cbeb | 28 | |
kuehn | 0:41668480cbeb | 29 | neopixel_strip_t m_strip; |
kuehn | 0:41668480cbeb | 30 | uint8_t dig_pin_num = 15; |
kuehn | 0:41668480cbeb | 31 | uint8_t leds_per_strip = 24; |
kuehn | 0:41668480cbeb | 32 | uint8_t result; |
kuehn | 0:41668480cbeb | 33 | |
kuehn | 0:41668480cbeb | 34 | uint8_t current = 0; |
kuehn | 0:41668480cbeb | 35 | |
kuehn | 0:41668480cbeb | 36 | //clear and remove strip |
kuehn | 0:41668480cbeb | 37 | // neopixel_clear(&m_strip); |
kuehn | 0:41668480cbeb | 38 | // neopixel_destroy(&m_strip); |
kuehn | 0:41668480cbeb | 39 | |
kuehn | 0:41668480cbeb | 40 | void renderLine() |
kuehn | 0:41668480cbeb | 41 | { |
kuehn | 0:41668480cbeb | 42 | result = neopixel_set_color_and_show(&m_strip, current, 0x22, 0xAA, 0x88); |
kuehn | 0:41668480cbeb | 43 | |
kuehn | 0:41668480cbeb | 44 | current = (current + 1) % LED_COUNT; |
kuehn | 0:41668480cbeb | 45 | |
kuehn | 0:41668480cbeb | 46 | if (result) { |
kuehn | 0:41668480cbeb | 47 | myledError = 1; |
kuehn | 0:41668480cbeb | 48 | } |
kuehn | 0:41668480cbeb | 49 | else { |
kuehn | 0:41668480cbeb | 50 | myledError = 0; |
kuehn | 0:41668480cbeb | 51 | } |
kuehn | 0:41668480cbeb | 52 | } |
kuehn | 0:41668480cbeb | 53 | |
kuehn | 0:41668480cbeb | 54 | int main () |
kuehn | 0:41668480cbeb | 55 | { |
kuehn | 0:41668480cbeb | 56 | neopixel_init(&m_strip, STRIP_0, LED_COUNT); |
kuehn | 0:41668480cbeb | 57 | neopixel_clear(&m_strip); |
kuehn | 0:41668480cbeb | 58 | |
kuehn | 0:41668480cbeb | 59 | while (1) { |
kuehn | 0:41668480cbeb | 60 | myled_0 = 1; |
kuehn | 0:41668480cbeb | 61 | myled_1 = 0; |
kuehn | 0:41668480cbeb | 62 | wait (0.2); |
kuehn | 0:41668480cbeb | 63 | |
kuehn | 0:41668480cbeb | 64 | myled_0 = 0; |
kuehn | 0:41668480cbeb | 65 | myled_1 = 1; |
kuehn | 0:41668480cbeb | 66 | wait (0.2); |
kuehn | 0:41668480cbeb | 67 | |
kuehn | 0:41668480cbeb | 68 | renderLine(); |
kuehn | 0:41668480cbeb | 69 | } |
kuehn | 0:41668480cbeb | 70 | } |