0,0 → 1,88 |
/* |
Mobiles Mikrokopter-Tool |
+++++ BETA 0.1 +++++ |
Diese Software ist Open-Source und darf nicht für kommerzielle Zwecke verwendet werden. |
Die Software darf kopiert, verändert und weitergegeben werden, unter der Bedingung, |
dass immer der komplette Source inklusive dieser Lizenz weitergegeben wird. |
Für den LCD-Font gilt das dort angegebene Copyright. |
(C) 2008 Thomas Kaiser, thomas@ft-fanpage.de |
|
Die Software wird "so wie sie ist" geliefert. |
Keine Gewähr auf Fehlerfreiheit, Vollständigkeit oder Funktion. |
Benutzung auf eigene Gefahr. |
Ich übernehmen keinerlei Haftung für direkte oder indirekte Personen- oder Sachschäden. |
Dies gilt insbesondere für die vorliegende Beta-Version. |
|
Teile des Source (z.B. die base64-Funktionen) sind abgewandelte Funktionen aus dem Mikrokopter-Source, |
siehe http://www.mikrokopter.de |
|
*/ |
|
//#define F_CPU 7378200ul |
|
#include <avr/io.h> |
#include <util/delay.h> |
#include <avr/interrupt.h> |
#include <stdlib.h> |
#include <avr/pgmspace.h> |
|
#include "main.h" |
#include "lcd.h" |
#include "rs232.h" |
#include "parameter.h" |
#include "menu.h" |
#include "display.h" |
#include "base64.h" |
#include "timer.h" |
|
unsigned char EEPromArray[E2END+1] EEMEM; |
|
void ReadParameter(void) |
{ |
// unsigned char *buffer; |
|
LCD_ORIENTATION = eeprom_read_byte(&EEPromArray[EEPROM_ADR_ORIENTATION]); |
|
// set = eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET]); |
// if (number > 5) number = 5; |
// eeprom_read_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
} |
|
void WriteParameterset(void) |
{ |
|
eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], 1); |
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ORIENTATION], 0); |
|
// if(number > 5) number = 5; |
// eeprom_write_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
// eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], number); // diesen Parametersatz als aktuell merken |
} |
|
|
int main (void) |
{ |
PORTA = 0xFF; // unbenutzte Pins auf Pull-Up |
PORTB = 0x43; |
PORTC = 0xFC; |
PORTD = 0x7C; |
|
DDRC = 0x03; // Pins für Beleuchtung auf Ausgang |
DDRD = 0x80; |
|
if ((eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID])) != 1) |
WriteParameterset(); |
|
ReadParameter(); |
|
// LCD_ORIENTATION = 0; |
|
lcd_init(); |
RS232_init(); |
timer_init(); |
|
sei(); |
|
for (;;) |
main_menu(); |
} |