/**
 * led_bone.h: skull crossbones led matrix handling prototypes
 * 2014 true
**/

#ifndef __LED_LED_BONE_H
#define __LED_LED_BONE_H



/* struct */
typedef struct LEDBonePattern {
	uint16_t wait;
	uint8_t led[9];
} LEDBonePattern;


/* constants */
#define LED_BONE_PROG_COUNT 3
#define LED_BONE_PTRN_COUNT 0

/* led positions */
#define BONE_LED_BR_LOWER	0
#define BONE_LED_TR_LOWER	1
#define BONE_LED_BR_UPPER	3
#define BONE_LED_TL_UPPER	4
#define BONE_LED_TL_LOWER	5
#define BONE_LED_TR_UPPER	6
#define BONE_LED_BL_UPPER	7
#define BONE_LED_BL_LOWER	8


/* variables */
extern const char led_bone_prog_name[LED_BONE_PROG_COUNT][16];


/* prototypes */
void led_bone_io_init();
void led_bone_io_disable();
void led_bone_next();

void led_bone_mode_update();
void led_bone_set_mode(uint8_t mode); 	// used for turning off
void led_bone_set_program(uint8_t program_idx, uint8_t init,
		uint16_t wait, uint16_t level, uint32_t offset, uint32_t settings);



#endif /* __LED_LED_BONE_H */
