Rev 528 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 528 | Rev 529 | ||
---|---|---|---|
Line 45... | Line 45... | ||
45 | // + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
45 | // + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
46 | // + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
46 | // + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
47 | // + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
47 | // + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
48 | // + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
48 | // + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
49 | // + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
49 | // + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
50 | // + POSSIBILITY OF SUCH DAMAGE. |
50 | // + POSSIBILITY OF SUCH DAMAGE. |
51 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
51 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
52 | #include "main.h" |
52 | #include "main.h" |
Line 53... | Line 53... | ||
53 | 53 | ||
54 | unsigned char EEPromArray[E2END+1] EEMEM; |
54 | unsigned char EEPromArray[E2END+1] EEMEM; |
Line 58... | Line 58... | ||
58 | // number [0..5] |
58 | // number [0..5] |
59 | void ReadParameterSet(unsigned char number, unsigned char *buffer, unsigned char length) |
59 | void ReadParameterSet(unsigned char number, unsigned char *buffer, unsigned char length) |
60 | { |
60 | { |
61 | if (number > 5) number = 5; |
61 | if (number > 5) number = 5; |
62 | eeprom_read_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
62 | eeprom_read_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
63 | - | ||
64 | } |
63 | } |
Line 65... | Line 64... | ||
65 | 64 | ||
66 | 65 | ||
67 | // -- Parametersatz ins EEPROM schreiben --- |
66 | // -- Parametersatz ins EEPROM schreiben --- |
68 | // number [0..5] |
67 | // number [0..5] |
69 | void WriteParameterSet(unsigned char number, unsigned char *buffer, unsigned char length) |
68 | void WriteParameterSet(unsigned char number, unsigned char *buffer, unsigned char length) |
70 | { |
69 | { |
71 | if(number > 5) number = 5; |
- | |
72 | eeprom_write_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
70 | if(number > 5) number = 5; |
73 | 71 | eeprom_write_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
|
Line 74... | Line 72... | ||
74 | eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], number); // diesen Parametersatz als aktuell merken |
72 | eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], number); // diesen Parametersatz als aktuell merken |
75 | } |
73 | } |
Line 90... | Line 88... | ||
90 | //Hauptprogramm |
88 | //Hauptprogramm |
91 | int main (void) |
89 | int main (void) |
92 | //############################################################################ |
90 | //############################################################################ |
93 | { |
91 | { |
94 | unsigned int timer; |
92 | unsigned int timer; |
- | 93 | ||
95 | unsigned int timer2 = 0; |
94 | //unsigned int timer2 = 0; |
96 | DDRB = 0x00; |
95 | DDRB = 0x00; |
97 | PORTB = 0x00; |
96 | PORTB = 0x00; |
98 | for(timer = 0; timer < 1000; timer++); // verzögern |
97 | for(timer = 0; timer < 1000; timer++); // verzögern |
99 | if(PINB & 0x01) PlatinenVersion = 11; else PlatinenVersion = 10; |
98 | if(PINB & 0x01) PlatinenVersion = 11; else PlatinenVersion = 10; |
100 | DDRC = 0x81; // SCL |
99 | DDRC = 0x81; // SCL |
Line 120... | Line 119... | ||
120 | Timer_Init(); |
119 | Timer_Init(); |
121 | UART_Init(); |
120 | UART_Init(); |
122 | rc_sum_init(); |
121 | rc_sum_init(); |
123 | ADC_Init(); |
122 | ADC_Init(); |
124 | i2c_init(); |
123 | i2c_init(); |
- | 124 | // SPI_MasterInit(); |
|
Line 125... | Line 125... | ||
125 | 125 | ||
Line 126... | Line 126... | ||
126 | sei(); |
126 | sei(); |
127 | 127 | ||
128 | VersionInfo.Hauptversion = VERSION_HAUPTVERSION; |
128 | VersionInfo.Hauptversion = VERSION_HAUPTVERSION; |
Line 129... | Line 129... | ||
129 | VersionInfo.Nebenversion = VERSION_NEBENVERSION; |
129 | VersionInfo.Nebenversion = VERSION_NEBENVERSION; |
130 | VersionInfo.PCKompatibel = VERSION_KOMPATIBEL; |
130 | VersionInfo.PCKompatibel = VERSION_KOMPATIBEL; |
131 | 131 | ||
Line 132... | Line 132... | ||
132 | printf("\n\rFlightControl\n\rHardware:%d.%d\n\rSoftware:V%d.%d ",PlatinenVersion/10,PlatinenVersion%10, VERSION_HAUPTVERSION, VERSION_NEBENVERSION); |
132 | printf("\n\rFlightControl\n\rHardware:%d.%d\n\rSoftware:V%d.%d%c ",PlatinenVersion/10,PlatinenVersion%10, VERSION_HAUPTVERSION, VERSION_NEBENVERSION,VERSION_INDEX + 'a'); |
133 | printf("\n\r=============================="); |
133 | printf("\n\r=============================="); |
134 | GRN_ON; |
134 | GRN_ON; |
135 | 135 | ||
136 | #define EE_DATENREVISION 62 // wird angepasst, wenn sich die EEPROM-Daten geändert haben |
136 | #define EE_DATENREVISION 68 // wird angepasst, wenn sich die EEPROM-Daten geändert haben |
137 | if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != EE_DATENREVISION) |
137 | if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != EE_DATENREVISION) |
138 | { |
138 | { |
139 | printf("\n\rInit. EEPROM: Generiere Default-Parameter..."); |
139 | printf("\n\rInit. EEPROM: Generiere Default-Parameter..."); |
- | 140 | DefaultKonstanten1(); |
|
- | 141 | for (unsigned char i=0;i<6;i++) |
|
140 | DefaultKonstanten1(); |
142 | { |
141 | for (unsigned char i=0;i<6;i++) |
143 | if(i==2) DefaultKonstanten2(); // Kamera |
142 | { |
144 | if(i==3) DefaultKonstanten3(); // Beginner |
143 | if(i==2) DefaultKonstanten2(); |
145 | if(i>3) DefaultKonstanten2(); // Kamera |
144 | WriteParameterSet(i, (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE); |
146 | WriteParameterSet(i, (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE); |
- | 147 | } |
|
- | 148 | eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], 3); // default-Setting |
|
- | 149 | eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], EE_DATENREVISION); |
|
- | 150 | } |
|
- | 151 | ||
Line 145... | Line 152... | ||
145 | } |
152 | if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACC_NICK]) > 4) |
146 | eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], 2); |
153 | { |
Line 179... | Line 186... | ||
179 | I2CTimeout = 5000; |
186 | I2CTimeout = 5000; |
180 | while (1) |
187 | while (1) |
181 | { |
188 | { |
182 | if (UpdateMotor) // ReglerIntervall |
189 | if (UpdateMotor) // ReglerIntervall |
183 | { |
190 | { |
- | 191 | // SPI_TransmitByte(); |
|
184 | UpdateMotor=0; |
192 | UpdateMotor=0; |
- | 193 | //PORTD |= 0x08; |
|
185 | MotorRegler(); |
194 | MotorRegler(); |
- | 195 | //PORTD &= ~0x08; |
|
186 | SendMotorData(); |
196 | SendMotorData(); |
187 | ROT_OFF; |
197 | ROT_OFF; |
188 | if(PcZugriff) PcZugriff--; |
198 | if(PcZugriff) PcZugriff--; |
- | 199 | else |
|
- | 200 | { |
|
- | 201 | DubWiseKeys[0] = 0; |
|
- | 202 | DubWiseKeys[1] = 0; |
|
- | 203 | ExternStickNick = 0; |
|
- | 204 | ExternStickRoll = 0; |
|
- | 205 | ExternStickGier = 0; |
|
- | 206 | } |
|
189 | if(SenderOkay) SenderOkay--; |
207 | if(SenderOkay) SenderOkay--; |
190 | if(!I2CTimeout) |
208 | if(!I2CTimeout) |
191 | { |
209 | { |
192 | I2CTimeout = 5; |
210 | I2CTimeout = 5; |
193 | i2c_reset(); |
211 | i2c_reset(); |
Line 217... | Line 235... | ||
217 | { |
235 | { |
218 | beeptime = 6000; |
236 | beeptime = 6000; |
219 | BeepMuster = 0x0300; |
237 | BeepMuster = 0x0300; |
220 | } |
238 | } |
221 | } |
239 | } |
- | 240 | // SPI_StartTransmitPacket(); |
|
222 | timer = SetDelay(100); |
241 | timer = SetDelay(100); |
223 | } |
242 | } |
224 | } |
243 | } |
225 | return (1); |
244 | return (1); |
226 | } |
245 | } |