Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
962 | - | 1 | |
2 | /****************************************************************/ |
||
3 | /* */ |
||
4 | /* NG-Video 5,8GHz */ |
||
5 | /* */ |
||
6 | /* Copyright (C) 2011 - gebad */ |
||
7 | /* */ |
||
8 | /* This code is distributed under the GNU Public License */ |
||
9 | /* which can be found at http://www.gnu.org/licenses/gpl.txt */ |
||
10 | /* */ |
||
11 | /****************************************************************/ |
||
12 | |||
13 | #ifndef SETTING_H_ |
||
14 | #define SETTING_H_ |
||
15 | |||
16 | /* Indexwerte für av_source bzw. zur Auswertung von av_source */ |
||
17 | #define AV1 0 |
||
18 | #define AV2 1 |
||
19 | #define DIVERSITY 2 |
||
20 | |||
21 | #define MARKER_SELECT 0xfc // 0xfc enspricht '>>' Menue-Marker |
||
22 | #define MARKER_AV 0xfb // 0xfb enspricht '<<' Diversity AV-Marker |
||
23 | #define MARKER_RSSI 'd' |
||
24 | #define MARKER_SYNC 's' |
||
25 | |||
26 | #define SET_MUX_0 PORTA &= ~(1<<MUX_IN); // MUX SxA enabled |
||
27 | #define SET_MUX_1 PORTA |= (1<<MUX_IN); // MUX SxB enabled |
||
28 | #define CLEAR_INT10 EIMSK &= ~((1<<INT1) | (1<<INT0)); // Interrupt für Sync ausschalten |
||
29 | #define SET_INT10 EIMSK |= (1<<INT1) | (1<<INT0); // External Interrupt Mask Register ein |
||
30 | |||
31 | /* Beep Verzögerungszeitein */ |
||
32 | #define DBEEPVERS 2 // Beep on nach Versionsanzeige |
||
33 | #define DBEEPVERSP 30 // Beep Pause nach Versionsanzeige |
||
34 | #define BEEPENTER 1 // Beep on Enter kurz Scroll_Menu() und Select_Menu() |
||
35 | #define DBEEPWR 4 // Beep on geänderte Werte ROM schreiben |
||
36 | #define DBEEPWRP 30 // Beep Pause geänderte Werte ROM schreiben |
||
37 | #define BEEPBAT 20 // Beep on bei Akku low |
||
38 | #define BEEP_LOW_TIME 240 // TIMER0_1 aller 500ms aufgerufen, BeepIntervall Akku leer mit 2 Min Abstand beginnen |
||
39 | |||
40 | #define ENABLE_BTIMER 1 // damit Intervall Beeper für Akku leer mit TIMER0_1 gesteuert wird |
||
41 | #define DISABLE_BTIMER 0 |
||
42 | |||
43 | #define GPS_DISP_NONE 0 |
||
44 | #define GPS_DISP_CALC 1 |
||
45 | #define GPS_DISP_CURRENT 2 |
||
46 | #define GPS_DISP_HOME 3 |
||
47 | |||
48 | #define BAUDRATE 5 |
||
49 | #define BAUDRATE_MIN 0 |
||
50 | #define BAUDRATE_MAX 6 |
||
51 | |||
52 | #define POLOLU_CMD 2 |
||
53 | |||
54 | #define OFF 0 |
||
55 | #define ON 1 |
||
56 | |||
57 | #define EEPROM __attribute__ ((section(".eeprom"))) |
||
58 | |||
59 | uint32_t baud[8] = {4800, 7200, 9600, 14400, 19200, 38400, 57600}; |
||
60 | |||
61 | typedef struct { |
||
62 | uint8_t rev; |
||
63 | uint16_t min; |
||
64 | uint16_t max; |
||
65 | uint16_t mid; |
||
66 | } servo_t; |
||
67 | |||
68 | /**************************************************************/ |
||
69 | /* */ |
||
70 | /* EEPROM */ |
||
71 | /* */ |
||
72 | /**************************************************************/ |
||
73 | static uint8_t ep_eep_init EEPROM; |
||
74 | static char ep_version[sizeof(VERSION)] EEPROM; |
||
75 | static uint8_t ep_dogm_vers EEPROM; |
||
76 | static uint8_t ep_contrast EEPROM; |
||
77 | static uint8_t ep_light_time EEPROM; |
||
78 | static uint8_t ep_u_offset EEPROM; |
||
79 | static uint32_t ep_u_min EEPROM; |
||
80 | static uint8_t ep_channel EEPROM; |
||
81 | static uint8_t ep_av_source EEPROM; |
||
82 | static uint8_t ep_language EEPROM; |
||
83 | static uint16_t ep_udbm_min EEPROM; |
||
84 | static uint16_t ep_udbm_max EEPROM; |
||
85 | static uint16_t ep_udbm_korr_1 EEPROM; |
||
86 | static uint16_t ep_udbm_korr_2 EEPROM; |
||
87 | static uint8_t ep_sIdxSteps EEPROM; |
||
88 | static servo_t ep_servo[SERVO_NUM_CHANNELS][sizeof(servo_t)] EEPROM; |
||
89 | static uint8_t ep_tracking EEPROM; |
||
90 | static uint8_t ep_track_hyst EEPROM; |
||
91 | static uint8_t ep_track_tx EEPROM; |
||
92 | static uint8_t ep_baudrate EEPROM; |
||
93 | |||
94 | uint8_t dogm_vers; |
||
95 | uint8_t contrast; |
||
96 | uint8_t light_time = BACKGR_LIGHT_MAX; |
||
97 | uint8_t backgr_light = OFF; |
||
98 | uint8_t u_offset = U_OFFSET; |
||
99 | uint32_t u_min = U_MIN; |
||
100 | uint8_t channel = CHANNEL; |
||
101 | uint8_t av_source = AV_SOURCE; |
||
102 | uint8_t language = NO_LANGUAGE; |
||
103 | uint16_t udbm_min = UDBM_MIN; |
||
104 | uint16_t udbm_max = UDBM_MAX; |
||
105 | uint16_t udbm_korr_1 = UDBM_KORR_FA; |
||
106 | uint16_t udbm_korr_2 = UDBM_KORR_FA; |
||
107 | uint32_t hyst_u_min; |
||
108 | servo_t servo[SERVO_NUM_CHANNELS] = {{SERVO_REV, SERVO_I0_RIGHT, SERVO_I0_LEFT, SERVO_I0_MIDDLE},\ |
||
109 | {SERVO_REV, SERVO_I0_RIGHT, SERVO_I0_LEFT, SERVO_I0_MIDDLE}}; |
||
110 | uint8_t tracking = TRACKING_MIN; |
||
111 | uint8_t track_hyst = TRACKING_HYSTERESE; |
||
112 | uint8_t track_tx = 0; |
||
113 | uint8_t baudrate = BAUDRATE; |
||
114 | uint8_t gps_display = 0; |
||
115 | uint8_t gps_disp_clear; |
||
116 | |||
117 | void RSSI_Calc_UdBm(uint16_t *pudbm); |
||
118 | uint8_t Set_AV_Source(uint8_t src); |
||
119 | |||
120 | uint16_t udbm[12]; |
||
121 | uint16_t* pudbm = udbm; |
||
122 | uint8_t bat_low = 1; |
||
123 | uint8_t sw_avx; // steuert über Set_AV_Source() oder rssi_diversity(av_source) Marker-Position und RX-Umschaltung |
||
124 | |||
125 | volatile uint8_t vsync0; |
||
126 | volatile uint8_t vsync1; |
||
127 | volatile uint8_t vscount0; |
||
128 | volatile uint8_t vscount1; |
||
129 | |||
130 | uint16_t ADC_Read( uint8_t channel ); |
||
131 | void servoSetDefaultPos(void); |
||
132 | void USART_Init_Baudrate(void); |
||
133 | |||
134 | #endif /* SETTING_H_ */ |