Rev 1051 | Rev 1054 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1051 | Rev 1053 | ||
---|---|---|---|
Line 7... | Line 7... | ||
7 | #include <stdarg.h> |
7 | #include <stdarg.h> |
8 | #include <string.h> |
8 | #include <string.h> |
9 | #include "main.h" |
9 | #include "main.h" |
10 | #include "uart.h" |
10 | #include "uart.h" |
Line 11... | Line 11... | ||
11 | 11 | ||
- | 12 | unsigned char GetExternalControl = 0,DebugDisplayAnforderung1 = 0, DebugDisplayAnforderung = 0,DebugDataAnforderung = 0,GetVersionAnforderung = 0, GetPPMChannelAnforderung = 0; |
|
12 | unsigned char GetExternalControl = 0,DebugDisplayAnforderung = 0,DebugDataAnforderung = 0,GetVersionAnforderung = 0, GetPPMChannelAnforderung = 0; |
13 | unsigned char DisplayLine = 0; |
13 | unsigned volatile char SioTmp = 0; |
14 | unsigned volatile char SioTmp = 0; |
14 | unsigned volatile char SendeBuffer[MAX_SENDE_BUFF]; |
15 | unsigned volatile char SendeBuffer[MAX_SENDE_BUFF]; |
15 | unsigned volatile char RxdBuffer[MAX_EMPFANGS_BUFF]; |
16 | unsigned volatile char RxdBuffer[MAX_EMPFANGS_BUFF]; |
16 | unsigned volatile char NMEABuffer[MAX_EMPFANGS_BUFF]; |
17 | unsigned volatile char NMEABuffer[MAX_EMPFANGS_BUFF]; |
Line 299... | Line 300... | ||
299 | break; |
300 | break; |
300 | case 'd': // Poll the debug data |
301 | case 'd': // Poll the debug data |
301 | DebugDataIntervall = pRxData[0] * 10; |
302 | DebugDataIntervall = pRxData[0] * 10; |
302 | if (DebugDataIntervall) DebugDataAnforderung = 1; |
303 | if (DebugDataIntervall) DebugDataAnforderung = 1; |
303 | break; |
304 | break; |
- | 305 | ||
- | 306 | case 'h':// x-1 Displayzeilen |
|
- | 307 | RemoteKeys |= pRxData[0]; |
|
- | 308 | if(RemoteKeys) DisplayLine = 0; |
|
- | 309 | DebugDisplayAnforderung = 1; |
|
- | 310 | break; |
|
- | 311 | ||
304 | case 'l':// x-1 Displayzeilen |
312 | case 'l':// x-1 Displayzeilen |
305 | MenuePunkt = pRxData[0]; |
313 | MenuePunkt = pRxData[0]; |
306 | DebugDisplayAnforderung = 1; |
314 | DebugDisplayAnforderung1 = 1; |
307 | break; |
315 | break; |
308 | case 'm':// Motortest |
316 | case 't':// Motortest |
309 | memcpy(&MotorTest[0], (unsigned char *)pRxData, sizeof(MotorTest)); |
317 | memcpy(&MotorTest[0], (unsigned char *)pRxData, sizeof(MotorTest)); |
310 | while(!UebertragungAbgeschlossen); |
318 | while(!UebertragungAbgeschlossen); |
311 | SendOutData('M', MeineSlaveAdresse, 0); |
319 | SendOutData('T', MeineSlaveAdresse, 0); |
312 | PcZugriff = 255; |
320 | PcZugriff = 255; |
313 | break; |
321 | break; |
314 | case 'v': // Version-Anforderung und Ausbaustufe |
322 | case 'v': // Version-Anforderung und Ausbaustufe |
315 | GetVersionAnforderung = 1; |
323 | GetVersionAnforderung = 1; |
316 | break; |
324 | break; |
Line 318... | Line 326... | ||
318 | GetExternalControl = 1; |
326 | GetExternalControl = 1; |
319 | break; |
327 | break; |
320 | case 'p': // get PPM Channels |
328 | case 'p': // get PPM Channels |
321 | GetPPMChannelAnforderung = 1; |
329 | GetPPMChannelAnforderung = 1; |
322 | break; |
330 | break; |
323 | case 't':// "Get"-Anforderung für Settings |
331 | case 'q':// "Get"-Anforderung für Settings |
324 | // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen |
332 | // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen |
325 | if(pRxData[0] == 0xFF) |
333 | if(pRxData[0] == 0xFF) |
326 | { |
334 | { |
327 | pRxData[0] = GetActiveParamSetNumber(); |
335 | pRxData[0] = GetActiveParamSetNumber(); |
328 | } |
336 | } |
Line 332... | Line 340... | ||
332 | else if(pRxData[0] > 5) pRxData[0] = 5; // limit to 5 |
340 | else if(pRxData[0] > 5) pRxData[0] = 5; // limit to 5 |
333 | // load requested parameter set |
341 | // load requested parameter set |
334 | ReadParameterSet(pRxData[0], (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE); |
342 | ReadParameterSet(pRxData[0], (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE); |
335 | } |
343 | } |
336 | while(!UebertragungAbgeschlossen); |
344 | while(!UebertragungAbgeschlossen); |
337 | SendOutData('T', MeineSlaveAdresse, 2, &pRxData[0], sizeof(unsigned char), (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE); |
345 | SendOutData('Q', MeineSlaveAdresse, 2, &pRxData[0], sizeof(unsigned char), (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE); |
338 | break; |
346 | break; |
339 | case 's': // Parametersatz speichern |
347 | case 's': // Parametersatz speichern |
340 | if((1 <= pRxData[0]) && (pRxData[0] <= 5)) // check for setting to be in range |
348 | if((1 <= pRxData[0]) && (pRxData[0] <= 5)) // check for setting to be in range |
341 | { |
349 | { |
342 | memcpy((unsigned char *) &EE_Parameter.Kanalbelegung[0], (unsigned char *)&pRxData[1], STRUCT_PARAM_LAENGE); |
350 | memcpy((unsigned char *) &EE_Parameter.Kanalbelegung[0], (unsigned char *)&pRxData[1], STRUCT_PARAM_LAENGE); |
Line 449... | Line 457... | ||
449 | if(ConfirmFrame && UebertragungAbgeschlossen) // Datensatz bestätigen |
457 | if(ConfirmFrame && UebertragungAbgeschlossen) // Datensatz bestätigen |
450 | { |
458 | { |
451 | SendOutData('B', MeineSlaveAdresse, 1, (uint8_t*)&ConfirmFrame, sizeof(ConfirmFrame)); |
459 | SendOutData('B', MeineSlaveAdresse, 1, (uint8_t*)&ConfirmFrame, sizeof(ConfirmFrame)); |
452 | ConfirmFrame = 0; |
460 | ConfirmFrame = 0; |
453 | } |
461 | } |
- | 462 | ||
454 | if(DebugDisplayAnforderung && UebertragungAbgeschlossen) |
463 | if(DebugDisplayAnforderung && UebertragungAbgeschlossen) |
455 | { |
464 | { |
- | 465 | Menu(); |
|
- | 466 | SendOutData('H',MeineSlaveAdresse, 2, &DisplayLine, sizeof(DisplayLine), &DisplayBuff[DisplayLine * 20], 20); |
|
- | 467 | DisplayLine++; |
|
- | 468 | if(DisplayLine >= 4) DisplayLine = 0; |
|
- | 469 | DebugDisplayAnforderung = 0; |
|
- | 470 | } |
|
- | 471 | if(DebugDisplayAnforderung1 && UebertragungAbgeschlossen) |
|
- | 472 | { |
|
456 | Menu(); |
473 | Menu(); |
457 | SendOutData('L',MeineSlaveAdresse, 3, &MenuePunkt, sizeof(MenuePunkt), &MaxMenue, sizeof(MaxMenue), DisplayBuff, sizeof(DisplayBuff)); |
474 | SendOutData('L',MeineSlaveAdresse, 3, &MenuePunkt, sizeof(MenuePunkt), &MaxMenue, sizeof(MaxMenue), DisplayBuff, sizeof(DisplayBuff)); |
458 | DebugDisplayAnforderung = 0; |
475 | DebugDisplayAnforderung1 = 0; |
459 | } |
476 | } |
460 | if(GetVersionAnforderung && UebertragungAbgeschlossen) |
477 | if(GetVersionAnforderung && UebertragungAbgeschlossen) |
461 | { |
478 | { |
462 | SendOutData('V',MeineSlaveAdresse, 1, (unsigned char *) &VersionInfo, sizeof(VersionInfo)); |
479 | SendOutData('V',MeineSlaveAdresse, 1, (unsigned char *) &VersionInfo, sizeof(VersionInfo)); |
463 | GetVersionAnforderung = 0; |
480 | GetVersionAnforderung = 0; |