Published

Dependencies:   BLE_API TLC5955 mbed nRF51822

Fork of BLE_LoopbackUART by Bluetooth Low Energy

Committer:
roysandberg
Date:
Sat Jun 09 23:23:06 2018 +0000
Revision:
14:73923b07ae4a
Published

Who changed what in which revision?

UserRevisionLine numberNew 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