Published
Dependencies: BLE_API TLC5955 mbed nRF51822
Fork of BLE_LoopbackUART by
sequencer.h@14:73923b07ae4a, 2018-06-09 (annotated)
- Committer:
- roysandberg
- Date:
- Sat Jun 09 23:23:06 2018 +0000
- Revision:
- 14:73923b07ae4a
Published
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
roysandberg | 14:73923b07ae4a | 1 | #ifndef SEQUENCER_H |
roysandberg | 14:73923b07ae4a | 2 | #define SEQUENCER_H |
roysandberg | 14:73923b07ae4a | 3 | |
roysandberg | 14:73923b07ae4a | 4 | #define NUMBER_OF_PANELS (CHANNELS_PER_IC*NUMBER_OF_ICS) |
roysandberg | 14:73923b07ae4a | 5 | #define CLOCK_GRANULARITY 25 |
roysandberg | 14:73923b07ae4a | 6 | |
roysandberg | 14:73923b07ae4a | 7 | #define EYES 14 |
roysandberg | 14:73923b07ae4a | 8 | #define BEAK 47 |
roysandberg | 14:73923b07ae4a | 9 | #define INTERNAL1 12 |
roysandberg | 14:73923b07ae4a | 10 | #define INTERNAL2 46 |
roysandberg | 14:73923b07ae4a | 11 | |
roysandberg | 14:73923b07ae4a | 12 | #define ROWS 5 |
roysandberg | 14:73923b07ae4a | 13 | #define COLUMNS 6 |
roysandberg | 14:73923b07ae4a | 14 | |
roysandberg | 14:73923b07ae4a | 15 | typedef enum UserModes { |
roysandberg | 14:73923b07ae4a | 16 | TEST=0, |
roysandberg | 14:73923b07ae4a | 17 | DEFAULT, |
roysandberg | 14:73923b07ae4a | 18 | SUN, |
roysandberg | 14:73923b07ae4a | 19 | USER_MOVEMENT, |
roysandberg | 14:73923b07ae4a | 20 | USER_BASE, |
roysandberg | 14:73923b07ae4a | 21 | USER_MOVEMENT_AND_BASE |
roysandberg | 14:73923b07ae4a | 22 | } UserModes; |
roysandberg | 14:73923b07ae4a | 23 | |
roysandberg | 14:73923b07ae4a | 24 | |
roysandberg | 14:73923b07ae4a | 25 | typedef enum MovementModes { |
roysandberg | 14:73923b07ae4a | 26 | VERTICAL_UP, |
roysandberg | 14:73923b07ae4a | 27 | VERTICAL_DOWN, |
roysandberg | 14:73923b07ae4a | 28 | HORIZONTAL_FORWARD, |
roysandberg | 14:73923b07ae4a | 29 | HORIZONTAL_BACKWARDS, |
roysandberg | 14:73923b07ae4a | 30 | RADIAL_CLOCKWISE, |
roysandberg | 14:73923b07ae4a | 31 | RADIAL_COUNTERCLOCKWISE, |
roysandberg | 14:73923b07ae4a | 32 | BARREL_CLOCKWISE, |
roysandberg | 14:73923b07ae4a | 33 | BARREL_COUNTERCLOCKWISE, |
roysandberg | 14:73923b07ae4a | 34 | ALL, |
roysandberg | 14:73923b07ae4a | 35 | OFF |
roysandberg | 14:73923b07ae4a | 36 | } MovementModes; |
roysandberg | 14:73923b07ae4a | 37 | |
roysandberg | 14:73923b07ae4a | 38 | typedef enum DitherMode { |
roysandberg | 14:73923b07ae4a | 39 | FADE_IN, |
roysandberg | 14:73923b07ae4a | 40 | FADE_OUT_AND_IN, |
roysandberg | 14:73923b07ae4a | 41 | FADE_IN_AND_OUT, |
roysandberg | 14:73923b07ae4a | 42 | FIXED, |
roysandberg | 14:73923b07ae4a | 43 | CROSSFADE, |
roysandberg | 14:73923b07ae4a | 44 | PULSED_INTENSITY, |
roysandberg | 14:73923b07ae4a | 45 | OVERSHOOT |
roysandberg | 14:73923b07ae4a | 46 | } DitherMode; |
roysandberg | 14:73923b07ae4a | 47 | |
roysandberg | 14:73923b07ae4a | 48 | typedef enum MovementFills { |
roysandberg | 14:73923b07ae4a | 49 | LINE, |
roysandberg | 14:73923b07ae4a | 50 | BAND, |
roysandberg | 14:73923b07ae4a | 51 | FILL |
roysandberg | 14:73923b07ae4a | 52 | } MovementFills; |
roysandberg | 14:73923b07ae4a | 53 | |
roysandberg | 14:73923b07ae4a | 54 | typedef enum EffectTypes { |
roysandberg | 14:73923b07ae4a | 55 | CONSTANT, |
roysandberg | 14:73923b07ae4a | 56 | RANDOM, // parameter is longest time between updates |
roysandberg | 14:73923b07ae4a | 57 | SEQUENCE, // parameter is time step between updates |
roysandberg | 14:73923b07ae4a | 58 | FIXED_RANDOM, // no parameter |
roysandberg | 14:73923b07ae4a | 59 | RANDOM_STROBE // parameter is longest time between strobes |
roysandberg | 14:73923b07ae4a | 60 | } EffectTypes; |
roysandberg | 14:73923b07ae4a | 61 | |
roysandberg | 14:73923b07ae4a | 62 | void setOverlayEffect( int movementMode, int ditherMode, int movementFill, int effectType, const int* colorList, int timeConstant, int moveTimeConstant ); |
roysandberg | 14:73923b07ae4a | 63 | void setBaseEffect( int ditherMode, int effectType, const int* colorList, int timeConstant ); |
roysandberg | 14:73923b07ae4a | 64 | |
roysandberg | 14:73923b07ae4a | 65 | int movementToEnum(char* input); |
roysandberg | 14:73923b07ae4a | 66 | int ditherToEnum(char* input); |
roysandberg | 14:73923b07ae4a | 67 | int fillToEnum(char* input); |
roysandberg | 14:73923b07ae4a | 68 | int effectToEnum(char* input); |
roysandberg | 14:73923b07ae4a | 69 | const int* colorListToPointer(char* input); |
roysandberg | 14:73923b07ae4a | 70 | |
roysandberg | 14:73923b07ae4a | 71 | |
roysandberg | 14:73923b07ae4a | 72 | #endif // SEQUENCER_H |