Changeset 40535
- Timestamp:
- 06/15/17 18:52:25 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
titan/titan/cec.h
r40511 r40535 4 4 int cecon = 0; 5 5 int sreq = 0; 6 int actsource = 0; 6 7 7 8 struct stimerthread* hdmiEventthread = NULL; … … 45 46 { 46 47 unsigned char cmd = 0x82; 48 char data[4]; 49 50 data[0] = cec_physicalAddress[0]; 51 data[1] = cec_physicalAddress[1]; 52 data[2] = '\0'; 53 sendMessage(address, cmd, data, 2); 54 } 55 56 void stopSource(unsigned char address) 57 { 58 unsigned char cmd = 0x9d; 47 59 char data[4]; 48 60 … … 332 344 if(rxmessage.data[3]== cec_physicalAddress[0] && rxmessage.data[4]== cec_physicalAddress[1]) 333 345 { 334 sendSource(rxmessage.address); 346 actsource = 1; 347 //sendSource(rxmessage.address); 348 sendSource(0x0f); 335 349 //sendswitch(); 336 350 //setFixedPhysicalAddress(getconfigint("cec_fixedAddress", NULL)); … … 339 353 setVolumeForward(); 340 354 } 355 else 356 actsource = 0; 341 357 break; 342 358 } 343 359 case 0x82: 360 case 0x86: /* Set Stream Path */ 344 361 { 345 362 //cecon = 0; … … 347 364 if(rxmessage.data[1]== cec_physicalAddress[0] && rxmessage.data[2]== cec_physicalAddress[1]) 348 365 { 349 //sendswitch(); 350 //setFixedPhysicalAddress(getconfigint("cec_fixedAddress", NULL)); 351 //reportPhysicalAddress(0); 352 //sendMenuInfo(0x00); 353 //setVolumeForward(); 354 } 355 else if(rxmessage.data[1]== 0x00 && rxmessage.data[2]== 0x00 && sreq == 1) 356 { 357 sendSource(rxmessage.address); 358 //sendswitch(); 366 actsource = 1; 359 367 //setFixedPhysicalAddress(getconfigint("cec_fixedAddress", NULL)); 360 368 //reportPhysicalAddress(0); 361 369 sendMenuInfo(0x00); 362 370 setVolumeForward(); 363 sreq = 0; 371 } 372 else 373 { 374 actsource = 0; 364 375 } 365 376 break; … … 398 409 case 0x85: /* request active source */ 399 410 { 400 sreq = 1; 401 sendSource(rxmessage.address); 411 if(actsource == 1) 412 { 413 sreq = 1; 414 //sendSource(rxmessage.address); 415 sendSource(0x0f); 416 } 402 417 break; 403 418 } … … 461 476 if (status.hdmiFd >= 0) 462 477 { 478 usleep(200000); 463 479 printf("HdmiCEC: send message\n"); 464 480 printf("%02x ", message->address); … … 472 488 message->flag = 1; 473 489 ret = ioctl(status.hdmiFd, 3, message); 490 if(ret == -1) 491 { 492 usleep(500000); 493 ret = ioctl(status.hdmiFd, 3, message); 494 } 495 if(ret == -1) 496 { 497 usleep(500000); 498 ret = ioctl(status.hdmiFd, 3, message); 499 } 474 500 if(ret == 0) 475 501 ret = 1 + message->length; … … 480 506 } 481 507 free(message); message=NULL; 482 usleep(100000);483 508 m_unlock(&status.cecmutex, 26); 484 509 } … … 804 829 805 830 sreq = 0; 831 actsource = 0; 806 832 807 833 if(getconfigint("cec_on", NULL) == 0) … … 878 904 if(getconfigint("cec_on", NULL) == 1 && cecon == 0) 879 905 { 906 setFixedPhysicalAddress(getconfigint("cec_fixedAddress", NULL)); 907 880 908 if(getconfigint("cec_all_on", NULL) == 1) 881 909 { 882 910 address = 0x0f; 883 911 sendMessage(address, cmd, data, 0); 884 //sleep(1);885 912 } 886 913 if(getconfigint("cec_rec_on", NULL) == 1) … … 888 915 address = 0x05; 889 916 sendMessage(address, cmd, data, 0); 890 //sleep(1);891 917 } 892 918 if(getconfigint("cec_tv_on", NULL) == 1) … … 894 920 address = 0x00; 895 921 sendMessage(address, cmd, data, 0); 896 //sleep(1);897 922 } 898 923 if(getconfigint("cec_tv_switch", NULL) == 1) … … 904 929 data[2] = '\0'; 905 930 sendMessage(address, cmd, data, 2); 906 //sleep(1); 907 } 931 actsource = 1; 932 } 933 sendMenuInfo(0x00); 934 setVolumeForward(); 908 935 cecon = 1; 909 936 printf("**********wakeup\n"); 910 937 } 911 938 if(cecon < 2) 912 {913 //setFixedPhysicalAddress(getconfigint("cec_fixedAddress", NULL));914 //setVolumeForward();915 //sendMenuInfo(0x00);916 939 cecon = 2; 917 }918 940 } 919 941
Note: See TracChangeset
for help on using the changeset viewer.