0,0 → 1,134 |
|
/****************************************************************/ |
/* */ |
/* NG-Video 5,8GHz */ |
/* */ |
/* Copyright (C) 2011 - gebad */ |
/* */ |
/* This code is distributed under the GNU Public License */ |
/* which can be found at http://www.gnu.org/licenses/gpl.txt */ |
/* */ |
/****************************************************************/ |
|
#ifndef SETTING_H_ |
#define SETTING_H_ |
|
/* Indexwerte für av_source bzw. zur Auswertung von av_source */ |
#define AV1 0 |
#define AV2 1 |
#define DIVERSITY 2 |
|
#define MARKER_SELECT 0xfc // 0xfc enspricht '>>' Menue-Marker |
#define MARKER_AV 0xfb // 0xfb enspricht '<<' Diversity AV-Marker |
#define MARKER_RSSI 'd' |
#define MARKER_SYNC 's' |
|
#define SET_MUX_0 PORTA &= ~(1<<MUX_IN); // MUX SxA enabled |
#define SET_MUX_1 PORTA |= (1<<MUX_IN); // MUX SxB enabled |
#define CLEAR_INT10 EIMSK &= ~((1<<INT1) | (1<<INT0)); // Interrupt für Sync ausschalten |
#define SET_INT10 EIMSK |= (1<<INT1) | (1<<INT0); // External Interrupt Mask Register ein |
|
/* Beep Verzögerungszeitein */ |
#define DBEEPVERS 2 // Beep on nach Versionsanzeige |
#define DBEEPVERSP 30 // Beep Pause nach Versionsanzeige |
#define BEEPENTER 1 // Beep on Enter kurz Scroll_Menu() und Select_Menu() |
#define DBEEPWR 4 // Beep on geänderte Werte ROM schreiben |
#define DBEEPWRP 30 // Beep Pause geänderte Werte ROM schreiben |
#define BEEPBAT 20 // Beep on bei Akku low |
#define BEEP_LOW_TIME 240 // TIMER0_1 aller 500ms aufgerufen, BeepIntervall Akku leer mit 2 Min Abstand beginnen |
|
#define ENABLE_BTIMER 1 // damit Intervall Beeper für Akku leer mit TIMER0_1 gesteuert wird |
#define DISABLE_BTIMER 0 |
|
#define GPS_DISP_NONE 0 |
#define GPS_DISP_CALC 1 |
#define GPS_DISP_CURRENT 2 |
#define GPS_DISP_HOME 3 |
|
#define BAUDRATE 5 |
#define BAUDRATE_MIN 0 |
#define BAUDRATE_MAX 6 |
|
#define POLOLU_CMD 2 |
|
#define OFF 0 |
#define ON 1 |
|
#define EEPROM __attribute__ ((section(".eeprom"))) |
|
uint32_t baud[8] = {4800, 7200, 9600, 14400, 19200, 38400, 57600}; |
|
typedef struct { |
uint8_t rev; |
uint16_t min; |
uint16_t max; |
uint16_t mid; |
} servo_t; |
|
/**************************************************************/ |
/* */ |
/* EEPROM */ |
/* */ |
/**************************************************************/ |
static uint8_t ep_eep_init EEPROM; |
static char ep_version[sizeof(VERSION)] EEPROM; |
static uint8_t ep_dogm_vers EEPROM; |
static uint8_t ep_contrast EEPROM; |
static uint8_t ep_light_time EEPROM; |
static uint8_t ep_u_offset EEPROM; |
static uint32_t ep_u_min EEPROM; |
static uint8_t ep_channel EEPROM; |
static uint8_t ep_av_source EEPROM; |
static uint8_t ep_language EEPROM; |
static uint16_t ep_udbm_min EEPROM; |
static uint16_t ep_udbm_max EEPROM; |
static uint16_t ep_udbm_korr_1 EEPROM; |
static uint16_t ep_udbm_korr_2 EEPROM; |
static uint8_t ep_sIdxSteps EEPROM; |
static servo_t ep_servo[SERVO_NUM_CHANNELS][sizeof(servo_t)] EEPROM; |
static uint8_t ep_tracking EEPROM; |
static uint8_t ep_track_hyst EEPROM; |
static uint8_t ep_track_tx EEPROM; |
static uint8_t ep_baudrate EEPROM; |
|
uint8_t dogm_vers; |
uint8_t contrast; |
uint8_t light_time = BACKGR_LIGHT_MAX; |
uint8_t backgr_light = OFF; |
uint8_t u_offset = U_OFFSET; |
uint32_t u_min = U_MIN; |
uint8_t channel = CHANNEL; |
uint8_t av_source = AV_SOURCE; |
uint8_t language = NO_LANGUAGE; |
uint16_t udbm_min = UDBM_MIN; |
uint16_t udbm_max = UDBM_MAX; |
uint16_t udbm_korr_1 = UDBM_KORR_FA; |
uint16_t udbm_korr_2 = UDBM_KORR_FA; |
uint32_t hyst_u_min; |
servo_t servo[SERVO_NUM_CHANNELS] = {{SERVO_REV, SERVO_I0_RIGHT, SERVO_I0_LEFT, SERVO_I0_MIDDLE},\ |
{SERVO_REV, SERVO_I0_RIGHT, SERVO_I0_LEFT, SERVO_I0_MIDDLE}}; |
uint8_t tracking = TRACKING_MIN; |
uint8_t track_hyst = TRACKING_HYSTERESE; |
uint8_t track_tx = 0; |
uint8_t baudrate = BAUDRATE; |
uint8_t gps_display = 0; |
uint8_t gps_disp_clear; |
|
void RSSI_Calc_UdBm(uint16_t *pudbm); |
uint8_t Set_AV_Source(uint8_t src); |
|
uint16_t udbm[12]; |
uint16_t* pudbm = udbm; |
uint8_t bat_low = 1; |
uint8_t sw_avx; // steuert über Set_AV_Source() oder rssi_diversity(av_source) Marker-Position und RX-Umschaltung |
|
volatile uint8_t vsync0; |
volatile uint8_t vsync1; |
volatile uint8_t vscount0; |
volatile uint8_t vscount1; |
|
uint16_t ADC_Read( uint8_t channel ); |
void servoSetDefaultPos(void); |
void USART_Init_Baudrate(void); |
|
#endif /* SETTING_H_ */ |