Changeset 41092
- Timestamp:
- 11/01/17 21:42:47 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
titan/titan/frontenddev.h
r41091 r41092 312 312 dvbnode = dvbdev; 313 313 314 //suche tuner der die gewuenschte orbitalpos kann und belegt ist und dessen looptuner es kann315 while(dvbnode != NULL)316 {317 //FRONTENDDEV first in the list318 if(dvbnode->type != FRONTENDDEV) break;319 320 //check if tuner is deactivate321 if(dvbnode->deactive == 1)322 {323 dvbnode = dvbnode->next;324 continue;325 }326 if(dvbnode->type == FRONTENDDEV && dvbnode->feinfo->type == tpnode->fetype && dvbnode->felock != 0)327 {328 if(flag == 2 && status.aktservice->fedev == dvbnode)329 {330 dvbnode = dvbnode->next;331 continue;332 }333 //check if tuner is main tuner334 if(getconfig(dvbnode->feshortname, NULL) != NULL)335 {336 dvbnode = dvbnode->next;337 continue;338 }339 if(dvbnode->feaktpolarization != tpnode->polarization || dvbnode->feakttransponder->orbitalpos != tpnode->orbitalpos)340 {341 dvbnode = dvbnode->next;342 continue;343 }344 found = 0;345 //check looptuner is free346 tmpstr = getconfigbyval(dvbnode->feshortname, NULL);347 CharPtrTmp[0] = NULL;348 while(tmpstr != NULL) //found loop tuner349 {350 tmpdvbnode = fegetbyshortname(tmpstr);351 //if(flag != 1) printf("****** test tuner1 %s -> %s\n", dvbnode->feshortname, tmpdvbnode->feshortname);352 if(tmpdvbnode != NULL && tmpdvbnode->felock == 0)353 {354 found = 99;355 break;356 }357 else358 {359 CharPtrTmp[found] = tmpdvbnode;360 found = found + 1;361 }362 tmpstr = getconfigbyval(tmpstr, NULL); //loop tuner also loop ?363 }364 CharPtrTmp[0] = NULL;365 if(found != 99)366 {367 dvbnode = dvbnode->next;368 continue;369 }370 tmpstr = ostrcat(dvbnode->feshortname, "_sat", 0, 0);371 for(i = 1; i <= getmaxsat(dvbnode->feshortname); i++)372 {373 tmpnr = oitoa(i);374 orbitalpos = getconfigint(tmpstr, tmpnr);375 if(orbitalpos == tpnode->orbitalpos)376 {377 fegetconfig(dvbnode, tpnode, &aktnr, tmpnr);378 if(flag == 3)379 band = calclof(dvbnode, tpnode, aktnr, 0);380 else381 band = calclof(dvbnode, tpnode, aktnr, 1);382 found = 0;383 if(tmpdvbnode != NULL && tmpdvbnode->feaktband != band)384 {385 found = -1;386 break;387 }388 389 if(flag == 1)390 {391 free(tmpstr); tmpstr = NULL;392 free(tmpnr); tmpnr = NULL;393 return tmpdvbnode;394 }395 dvbnode->feaktband = band;396 dvbnode->feaktpolarization = tpnode->polarization;397 398 tmpdvbnode->felasttransponder = tmpdvbnode->feakttransponder;399 tmpdvbnode->feakttransponder = tpnode;400 tmpdvbnode->feaktpolarization = tpnode->polarization;401 free(tmpdvbnode->feaktnr);402 if(aktnr != NULL)403 tmpdvbnode->feaktnr = ostrcat(aktnr, NULL, 0, 0);404 else405 tmpdvbnode->feaktnr = NULL;406 407 free(tmpstr); tmpstr = NULL;408 free(tmpnr); tmpnr = NULL;409 if(flag != 1) debug(200, "found free tuner witch same orbitalpos %s", dvbnode->feshortname);410 if(flag != 1) printf("------ found free loop tuner: %s witch same orbitalpos main tuner: %s\n", tmpdvbnode->feshortname, dvbnode->feshortname);411 return tmpdvbnode;412 }413 free(tmpnr); tmpnr = NULL;414 }415 free(tmpstr); tmpstr = NULL;416 if(found == -1)417 break;418 }419 dvbnode = dvbnode->next;420 }421 if(dvbfirst != NULL)422 dvbnode = dvbfirst;423 else424 dvbnode = dvbdev;425 314 426 315 //suche tuner der die gewuenschte orbitalpos kann und nicht belegt ist
Note: See TracChangeset
for help on using the changeset viewer.