Rev 1036 | Rev 1051 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1036 | Rev 1038 | ||
---|---|---|---|
Line 6... | Line 6... | ||
6 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
6 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
Line 7... | Line 7... | ||
7 | 7 | ||
8 | #include "main.h" |
8 | #include "main.h" |
Line 9... | Line 9... | ||
9 | #include "uart.h" |
9 | #include "uart.h" |
10 | 10 | ||
11 | unsigned char DebugGetAnforderung = 0,DebugDisplayAnforderung = 0,DebugDataAnforderung = 0,GetVersionAnforderung = 0; |
11 | unsigned char GetExternalControl = 0,DebugDisplayAnforderung = 0,DebugDataAnforderung = 0,GetVersionAnforderung = 0; |
12 | unsigned volatile char SioTmp = 0; |
12 | unsigned volatile char SioTmp = 0; |
13 | unsigned volatile char SendeBuffer[MAX_SENDE_BUFF]; |
13 | unsigned volatile char SendeBuffer[MAX_SENDE_BUFF]; |
14 | unsigned volatile char RxdBuffer[MAX_EMPFANGS_BUFF]; |
14 | unsigned volatile char RxdBuffer[MAX_EMPFANGS_BUFF]; |
Line 254... | Line 254... | ||
254 | RemoteTasten |= ExternControl.RemoteTasten; |
254 | RemoteTasten |= ExternControl.RemoteTasten; |
255 | ConfirmFrame = ExternControl.Frame; |
255 | ConfirmFrame = ExternControl.Frame; |
256 | DebugDataAnforderung = 1; |
256 | DebugDataAnforderung = 1; |
257 | PcZugriff = 255; |
257 | PcZugriff = 255; |
258 | break; |
258 | break; |
- | 259 | case 'f': // Poll the debug data |
|
- | 260 | DebugDataAnforderung = 1; |
|
- | 261 | break; |
|
259 | case 'h':// x-1 Displayzeilen |
262 | case 'h':// x-1 Displayzeilen |
260 | Decode64((unsigned char *) &tmp_char_arr2[0],sizeof(tmp_char_arr2),3,AnzahlEmpfangsBytes); |
263 | Decode64((unsigned char *) &tmp_char_arr2[0],sizeof(tmp_char_arr2),3,AnzahlEmpfangsBytes); |
261 | RemoteTasten |= tmp_char_arr2[0]; |
264 | RemoteTasten |= tmp_char_arr2[0]; |
262 | if(tmp_char_arr2[1] == 255) NurKanalAnforderung = 1; else NurKanalAnforderung = 0; // keine Displaydaten |
265 | if(tmp_char_arr2[1] == 255) NurKanalAnforderung = 1; else NurKanalAnforderung = 0; // keine Displaydaten |
263 | DebugDisplayAnforderung = 1; |
266 | DebugDisplayAnforderung = 1; |
Line 272... | Line 275... | ||
272 | PcZugriff = 255; |
275 | PcZugriff = 255; |
273 | break; |
276 | break; |
274 | case 'v': // Version-Anforderung und Ausbaustufe |
277 | case 'v': // Version-Anforderung und Ausbaustufe |
275 | GetVersionAnforderung = 1; |
278 | GetVersionAnforderung = 1; |
276 | break; |
279 | break; |
277 | case 'g':// "Get"-Anforderung für Debug-Daten |
280 | case 'g':// |
278 | // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen |
- | |
279 | DebugGetAnforderung = 1; |
281 | GetExternalControl = 1; |
280 | break; |
282 | break; |
281 | case 'q':// "Get"-Anforderung für Settings |
283 | case 'q':// "Get"-Anforderung für Settings |
282 | // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen |
284 | // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen |
283 | Decode64((unsigned char *) &tmp_char_arr2[0],sizeof(tmp_char_arr2),3,AnzahlEmpfangsBytes); |
285 | Decode64((unsigned char *) &tmp_char_arr2[0],sizeof(tmp_char_arr2),3,AnzahlEmpfangsBytes); |
284 | while(!UebertragungAbgeschlossen); |
286 | while(!UebertragungAbgeschlossen); |
Line 303... | Line 305... | ||
303 | eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], RxdBuffer[2] - 'l' + 1); // aktiven Datensatz merken |
305 | eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], RxdBuffer[2] - 'l' + 1); // aktiven Datensatz merken |
304 | Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L; |
306 | Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L; |
305 | Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagRoll * 2500L; |
307 | Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagRoll * 2500L; |
306 | Piep(GetActiveParamSetNumber()); |
308 | Piep(GetActiveParamSetNumber()); |
307 | break; |
309 | break; |
308 | - | ||
309 | - | ||
310 | } |
310 | } |
311 | // DebugOut.AnzahlZyklen = Debug_Timer_Intervall; |
311 | // DebugOut.AnzahlZyklen = Debug_Timer_Intervall; |
312 | NeuerDatensatzEmpfangen = 0; |
312 | NeuerDatensatzEmpfangen = 0; |
313 | } |
313 | } |
Line 364... | Line 364... | ||
364 | //--------------------------------------------------------------------------------------------- |
364 | //--------------------------------------------------------------------------------------------- |
365 | void DatenUebertragung(void) |
365 | void DatenUebertragung(void) |
366 | { |
366 | { |
367 | if(!UebertragungAbgeschlossen) return; |
367 | if(!UebertragungAbgeschlossen) return; |
Line 368... | Line 368... | ||
368 | 368 | ||
369 | if(DebugGetAnforderung && UebertragungAbgeschlossen) // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen |
369 | if(GetExternalControl && UebertragungAbgeschlossen) // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen |
370 | { |
370 | { |
371 | SendOutData('G',MeineSlaveAdresse,(unsigned char *) &ExternControl,sizeof(ExternControl)); |
371 | SendOutData('G',MeineSlaveAdresse,(unsigned char *) &ExternControl,sizeof(ExternControl)); |
372 | DebugGetAnforderung = 0; |
372 | GetExternalControl = 0; |
Line 373... | Line 373... | ||
373 | } |
373 | } |
374 | 374 | ||
375 | if((CheckDelay(Kompass_Timer)) && UebertragungAbgeschlossen) |
375 | if((CheckDelay(Kompass_Timer)) && UebertragungAbgeschlossen) |
Line 380... | Line 380... | ||
380 | WinkelOut.UserParameter[1] = Parameter_UserParam2; |
380 | WinkelOut.UserParameter[1] = Parameter_UserParam2; |
381 | SendOutData('w',MeineSlaveAdresse,(unsigned char *) &WinkelOut,sizeof(WinkelOut)); |
381 | SendOutData('w',MeineSlaveAdresse,(unsigned char *) &WinkelOut,sizeof(WinkelOut)); |
382 | if(WinkelOut.CalcState > 4) WinkelOut.CalcState = 6; // wird dann in SPI auf Null gesetzt |
382 | if(WinkelOut.CalcState > 4) WinkelOut.CalcState = 6; // wird dann in SPI auf Null gesetzt |
383 | Kompass_Timer = SetDelay(99); |
383 | Kompass_Timer = SetDelay(99); |
384 | } |
384 | } |
385 | - | ||
386 | if((CheckDelay(Debug_Timer) || DebugDataAnforderung) && UebertragungAbgeschlossen) |
385 | if((CheckDelay(Debug_Timer) || DebugDataAnforderung) && UebertragungAbgeschlossen) |
387 | { |
386 | { |
388 | SendOutData('D',MeineSlaveAdresse,(unsigned char *) &DebugOut,sizeof(DebugOut)); |
387 | SendOutData('D',MeineSlaveAdresse,(unsigned char *) &DebugOut,sizeof(DebugOut)); |
389 | DebugDataAnforderung = 0; |
388 | DebugDataAnforderung = 0; |
390 | Debug_Timer = SetDelay(MIN_DEBUG_INTERVALL); |
389 | Debug_Timer = SetDelay(MIN_DEBUG_INTERVALL); |