crashtest-r0ket/firmware/main.c

82 lines
1.7 KiB
C
Raw Normal View History

#include <sysinit.h>
2011-07-18 16:25:14 +00:00
#include "core/cpu/cpu.h"
#include "core/pmu/pmu.h"
2011-07-18 16:25:14 +00:00
#include "basic/basic.h"
#include "lcd/render.h"
2011-08-01 03:22:24 +00:00
#include "filesystem/ff.h"
#ifdef CRP1
#define CRP_VALUE 0x12345678 // CRP1
#endif
#ifdef CRP2
#define CRP_VALUE 0x87654321 // CRP2
#endif
#ifdef CRP3
#define CRP_VALUE 0x43218765 // CRP3
#endif
#ifdef NO_ISP
#define CRP_VALUE 0x4e697370 // NO_ISP
#endif
#ifndef CRP_VALUE
#define CRP_VALUE 0x0 // ANY non-magic value disables CRP
#endif
2011-12-11 15:13:29 +00:00
//__attribute__ ((used, section("crp"))) const uint32_t the_crp=CRP_VALUE;
/**************************************************************************/
void wrapper(void);
int main(void) {
// Configure cpu and mandatory peripherals
cpuInit(); // Configure the CPU
// we do it later
// systickInit(CFG_SYSTICK_DELAY_IN_MS); // Start systick timer
// cpuInit already calls this
// gpioInit(); // Enable GPIO
pmuInit(); // Configure power management
adcInit(); // Config adc pins to save power
// initialise basic badge functions
rbInit();
lcdInit(); // display
lcdFill(0);
lcdDisplay();
2011-12-17 21:32:49 +00:00
2011-12-23 12:22:13 +00:00
switch(getInputRaw()){
case BTN_ENTER:
lcdPrint("ISP active");
lcdRefresh();
ReinvokeISP();
break;
case BTN_DOWN:
lcdPrint("MSC active");
lcdRefresh();
usbMSCInit();
while(1);
break;
};
2011-12-17 21:32:49 +00:00
fsInit();
2011-12-23 12:22:13 +00:00
if( getInputRaw() == BTN_UP ){ // Reset config
saveConfig();
}
wrapper(); // see module/ subdirectory
}
int getrelease(void){
2011-12-27 17:48:22 +00:00
return 0x00000106;
};