mini-led-cube/firmware/main.h

46 lines
995 B
C
Raw Normal View History

/*
* CTHN.de MiniLEDCube
2011-12-09 23:15:06 +01:00
*
* By Kai Lauterbach (klaute at web dot de) 11/2011
2011-12-09 23:15:06 +01:00
*
* Based on http://mosfetkiller.de/?s=miniledcube
*
* License: General Public License (GPL v3)
*
*/
#ifndef __main_h__
#define __main_h__
// Includes
#include "globals.h"
#include <avr/interrupt.h>
#include <avr/io.h>
2011-12-18 19:35:47 +01:00
#include <avr/eeprom.h>
2011-12-17 22:03:57 +01:00
2011-11-05 16:52:02 +01:00
// Cube-Data
2011-12-24 18:30:04 +01:00
// bit 0 - 8 = level 1
// bit 9 - 17 = level 2
// bit 18 - 26 = level 3
// bit 27 - 31 = The delay in ISR calls multiplied with 8 until
// the next frame will be shown (load from the EEPROM)
uint32_t frame;
uint8_t level; // current layer
uint8_t mode = MODE_ANIMATION_LOOP; // firmware mode
uint8_t frmnum; // frame nummber in the animation loop
uint8_t delay; // delay in ISR calls between changing to the next animation frame
// eeprom array of the animation
uint32_t eep_anim[MAX_EEPROM_FRAMES] EEMEM;
// function prototypes
void init(void);
extern void init_usb(void);
extern void usbPoll(void);
#endif // __main_h__