Subversion Repositories FlightCtrl

Rev

Rev 1059 | Rev 1065 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1059 Rev 1063
Line 313... Line 313...
313
                                        // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
313
                                        // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
314
                                        if(pRxData[0] == 0xFF)
314
                                        if(pRxData[0] == 0xFF)
315
                                        {
315
                                        {
316
                                                pRxData[0] = GetActiveParamSetNumber();
316
                                                pRxData[0] = GetActiveParamSetNumber();
317
                                        }
317
                                        }
318
                                        else // request active parameter set
318
                                        // limit settings range
319
                                        {
-
 
320
                                                if(pRxData[0] < 1) pRxData[0] = 1; // limit to 5
319
                                        if(pRxData[0] < 1) pRxData[0] = 1; // limit to 5
321
                                                else if(pRxData[0] > 5) pRxData[0] = 5; // limit to 5
320
                                        else if(pRxData[0] > 5) pRxData[0] = 5; // limit to 5
322
                                                // load requested parameter set
321
                                        // load requested parameter set
323
                                                ReadParameterSet(pRxData[0], (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
322
                                        ReadParameterSet(pRxData[0], (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
324
                                        }
323
 
325
                                        while(!UebertragungAbgeschlossen);
324
                                        while(!UebertragungAbgeschlossen);
326
                                        tempchar1 = pRxData[0];
325
                                        tempchar1 = pRxData[0];
327
                                        tempchar2 = EE_DATENREVISION;
326
                                        tempchar2 = EE_DATENREVISION;
328
                                        SendOutData('Q', FC_ADDRESS, 3, &tempchar1, sizeof(tempchar1), &tempchar2, sizeof(tempchar2), (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
327
                                        SendOutData('Q', FC_ADDRESS, 3, &tempchar1, sizeof(tempchar1), &tempchar2, sizeof(tempchar2), (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
329
                                        break;
328
                                        break;
Line 331... Line 330...
331
                        case 's': // Parametersatz speichern
330
                        case 's': // Parametersatz speichern
332
                                        if((1 <= pRxData[0]) && (pRxData[0] <= 5) && (pRxData[1] == EE_DATENREVISION)) // check for setting to be in range
331
                                        if((1 <= pRxData[0]) && (pRxData[0] <= 5) && (pRxData[1] == EE_DATENREVISION)) // check for setting to be in range
333
                                        {
332
                                        {
334
                                                memcpy((unsigned char *) &EE_Parameter.Kanalbelegung[0], (unsigned char *)&pRxData[2], STRUCT_PARAM_LAENGE);
333
                                                memcpy((unsigned char *) &EE_Parameter.Kanalbelegung[0], (unsigned char *)&pRxData[2], STRUCT_PARAM_LAENGE);
335
                                                WriteParameterSet(pRxData[0], (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
334
                                                WriteParameterSet(pRxData[0], (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
336
                                                eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], RxdBuffer[2] - 'l' + 1);  // aktiven Datensatz merken
-
 
337
                                                Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L;
335
                                                Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L;
338
                                                Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagRoll * 2500L;
336
                                                Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagRoll * 2500L;
339
                                                Piep(GetActiveParamSetNumber());
337
                                                SetActiveParamSetNumber(pRxData[0]);
340
                                                tempchar1 = pRxData[0]; // return setting written
338
                                                tempchar1 = GetActiveParamSetNumber();
-
 
339
                                                Piep(tempchar1);
341
                                        }
340
                                        }
342
                                        else
341
                                        else
343
                                        {
342
                                        {
344
                                                tempchar1 = 0; // mark in response an invlid setting
343
                                                tempchar1 = 0; // mark in response an invlid setting
345
                                        }
344
                                        }