Changeset 41069 for titan/titan/frontenddev.h
- Timestamp:
- 10/29/17 14:25:45 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
titan/titan/frontenddev.h
r41068 r41069 307 307 dvbnode = dvbnode->next; 308 308 } 309 309 if(dvbfirst != NULL) 310 dvbnode = dvbfirst; 311 else 312 dvbnode = dvbdev; 313 314 //suche tuner der die gewuenschte orbitalpos kann und nicht belegt ist 315 while(dvbnode != NULL) 316 { 317 //FRONTENDDEV first in the list 318 if(dvbnode->type != FRONTENDDEV) break; 319 320 //check if tuner is deactivate 321 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 tuner 334 if(getconfig(dvbnode->feshortname, NULL) != NULL) 335 { 336 dvbnode = dvbnode->next; 337 continue; 338 } 339 found = 0; 340 //check if tuner is loop and looptuner is locked 341 tmpstr = getconfigbyval(dvbnode->feshortname, NULL); 342 CharPtrTmp[0] = NULL; 343 while(tmpstr != NULL) //found loop tuner 344 { 345 tmpdvbnode = fegetbyshortname(tmpstr); 346 //if(flag != 1) printf("****** test tuner1 %s -> %s\n", dvbnode->feshortname, tmpdvbnode->feshortname); 347 if(tmpdvbnode != NULL && tmpdvbnode->feakttransponder != NULL && (tmpdvbnode->feaktpolarization != tpnode->polarization || tmpdvbnode->feakttransponder->orbitalpos != tpnode->orbitalpos) && (tmpdvbnode->felock != 0 || (flag == 2 && tmpdvbnode->felock == 0))) 348 { 349 found = -1; 350 break; 351 } 352 else 353 { 354 CharPtrTmp[found] = tmpdvbnode; 355 found = found + 1; 356 } 357 tmpstr = getconfigbyval(tmpstr, NULL); //loop tuner also loop ? 358 } 359 CharPtrTmp[found] = NULL; 360 361 if(found == -1) 362 { 363 dvbnode = dvbnode->next; 364 continue; 365 } 366 367 tmpstr = ostrcat(dvbnode->feshortname, "_sat", 0, 0); 368 for(i = 1; i <= getmaxsat(dvbnode->feshortname); i++) 369 { 370 tmpnr = oitoa(i); 371 372 orbitalpos = getconfigint(tmpstr, tmpnr); 373 if(orbitalpos == tpnode->orbitalpos) 374 { 375 fegetconfig(dvbnode, tpnode, &aktnr, tmpnr); 376 if(flag == 3) 377 band = calclof(dvbnode, tpnode, aktnr, 0); 378 else 379 band = calclof(dvbnode, tpnode, aktnr, 1); 380 found = 0; 381 while(CharPtrTmp[found] != NULL) 382 { 383 //if(flag != 1) printf("++++++ test band1 %s\n", CharPtrTmp[found]->feshortname); 384 if(CharPtrTmp[found] != NULL && CharPtrTmp[found]->feaktband != band && (CharPtrTmp[found]->felock != 0 || (flag == 2 && CharPtrTmp[found]->felock == 0))) 385 { 386 found = 99; 387 break; 388 } 389 found = found + 1; 390 } 391 //if(tmpdvbnode != NULL && tmpdvbnode->feaktband != band && (tmpdvbnode->felock != 0 || (flag == 2 && tmpdvbnode->felock == 0))) 392 //{ 393 // free(tmpnr); tmpnr = NULL; 394 // continue; 395 //} 396 if(found == 99) 397 { 398 found = 0; 399 free(tmpnr); tmpnr = NULL; 400 continue; 401 } 402 if(flag == 1) 403 { 404 free(tmpstr); tmpstr = NULL; 405 free(tmpnr); tmpnr = NULL; 406 return dvbnode; 407 } 408 if(tmpdvbnode != NULL) 409 { 410 tmpdvbnode->feaktband = band; 411 tmpdvbnode->feaktpolarization = tpnode->polarization; 412 } 413 dvbnode->felasttransponder = dvbnode->feakttransponder; 414 dvbnode->feakttransponder = tpnode; 415 dvbnode->feaktpolarization = tpnode->polarization; 416 free(dvbnode->feaktnr); 417 if(aktnr != NULL) 418 dvbnode->feaktnr = ostrcat(aktnr, NULL, 0, 0); 419 else 420 dvbnode->feaktnr = NULL; 421 422 free(tmpstr); tmpstr = NULL; 423 free(tmpnr); tmpnr = NULL; 424 if(flag != 1) debug(200, "found free tuner witch same orbitalpos %s", dvbnode->feshortname); 425 //if(flag != 1) printf("------ found free tuner witch same orbitalpos %s\n", dvbnode->feshortname); 426 return dvbnode; 427 } 428 free(tmpnr); tmpnr = NULL; 429 } 430 free(tmpstr); tmpstr = NULL; 431 } 432 dvbnode = dvbnode->next; 433 } 310 434 if(dvbfirst != NULL) 311 435 dvbnode = dvbfirst; … … 454 578 dvbnode = dvbnode->next; 455 579 } 456 if(dvbfirst != NULL)457 dvbnode = dvbfirst;458 else459 dvbnode = dvbdev;460 461 //suche tuner der die gewuenschte orbitalpos kann und nicht belegt ist462 while(dvbnode != NULL)463 {464 //FRONTENDDEV first in the list465 if(dvbnode->type != FRONTENDDEV) break;466 467 //check if tuner is deactivate468 if(dvbnode->deactive == 1)469 {470 dvbnode = dvbnode->next;471 continue;472 }473 if(dvbnode->type == FRONTENDDEV && dvbnode->feinfo->type == tpnode->fetype && dvbnode->felock == 0)474 {475 if(flag == 2 && status.aktservice->fedev == dvbnode)476 {477 dvbnode = dvbnode->next;478 continue;479 }480 //check if tuner is main tuner481 if(getconfig(dvbnode->feshortname, NULL) != NULL)482 {483 dvbnode = dvbnode->next;484 continue;485 }486 found = 0;487 //check if tuner is loop and looptuner is locked488 tmpstr = getconfigbyval(dvbnode->feshortname, NULL);489 CharPtrTmp[0] = NULL;490 while(tmpstr != NULL) //found loop tuner491 {492 tmpdvbnode = fegetbyshortname(tmpstr);493 //if(flag != 1) printf("****** test tuner1 %s -> %s\n", dvbnode->feshortname, tmpdvbnode->feshortname);494 if(tmpdvbnode != NULL && tmpdvbnode->feakttransponder != NULL && (tmpdvbnode->feaktpolarization != tpnode->polarization || tmpdvbnode->feakttransponder->orbitalpos != tpnode->orbitalpos) && (tmpdvbnode->felock != 0 || (flag == 2 && tmpdvbnode->felock == 0)))495 {496 found = -1;497 break;498 }499 else500 {501 CharPtrTmp[found] = tmpdvbnode;502 found = found + 1;503 }504 tmpstr = getconfigbyval(tmpstr, NULL); //loop tuner also loop ?505 }506 CharPtrTmp[found] = NULL;507 508 if(found == -1)509 {510 dvbnode = dvbnode->next;511 continue;512 }513 514 tmpstr = ostrcat(dvbnode->feshortname, "_sat", 0, 0);515 for(i = 1; i <= getmaxsat(dvbnode->feshortname); i++)516 {517 tmpnr = oitoa(i);518 519 orbitalpos = getconfigint(tmpstr, tmpnr);520 if(orbitalpos == tpnode->orbitalpos)521 {522 fegetconfig(dvbnode, tpnode, &aktnr, tmpnr);523 if(flag == 3)524 band = calclof(dvbnode, tpnode, aktnr, 0);525 else526 band = calclof(dvbnode, tpnode, aktnr, 1);527 found = 0;528 while(CharPtrTmp[found] != NULL)529 {530 //if(flag != 1) printf("++++++ test band1 %s\n", CharPtrTmp[found]->feshortname);531 if(CharPtrTmp[found] != NULL && CharPtrTmp[found]->feaktband != band && (CharPtrTmp[found]->felock != 0 || (flag == 2 && CharPtrTmp[found]->felock == 0)))532 {533 found = 99;534 break;535 }536 found = found + 1;537 }538 //if(tmpdvbnode != NULL && tmpdvbnode->feaktband != band && (tmpdvbnode->felock != 0 || (flag == 2 && tmpdvbnode->felock == 0)))539 //{540 // free(tmpnr); tmpnr = NULL;541 // continue;542 //}543 if(found == 99)544 {545 found = 0;546 free(tmpnr); tmpnr = NULL;547 continue;548 }549 if(flag == 1)550 {551 free(tmpstr); tmpstr = NULL;552 free(tmpnr); tmpnr = NULL;553 return dvbnode;554 }555 if(tmpdvbnode != NULL)556 {557 tmpdvbnode->feaktband = band;558 tmpdvbnode->feaktpolarization = tpnode->polarization;559 }560 dvbnode->felasttransponder = dvbnode->feakttransponder;561 dvbnode->feakttransponder = tpnode;562 dvbnode->feaktpolarization = tpnode->polarization;563 free(dvbnode->feaktnr);564 if(aktnr != NULL)565 dvbnode->feaktnr = ostrcat(aktnr, NULL, 0, 0);566 else567 dvbnode->feaktnr = NULL;568 569 free(tmpstr); tmpstr = NULL;570 free(tmpnr); tmpnr = NULL;571 if(flag != 1) debug(200, "found free tuner witch same orbitalpos %s", dvbnode->feshortname);572 //if(flag != 1) printf("------ found free tuner witch same orbitalpos %s\n", dvbnode->feshortname);573 return dvbnode;574 }575 free(tmpnr); tmpnr = NULL;576 }577 free(tmpstr); tmpstr = NULL;578 }579 dvbnode = dvbnode->next;580 }581 580 582 581 return NULL;
Note: See TracChangeset
for help on using the changeset viewer.