Changeset 35

Show
Ignore:
Timestamp:
11/28/04 14:57:48 (18 years ago)
Author:
pieterpalmers
Message:

- code merge
- some more experiments

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/freebob/src/avdevice.cpp

    r31 r35  
    132132                                                        case 0x01: // audio subunit 
    133133                                                                tmpAvDeviceSubunit=new AvDeviceAudioSubunit(this,subunit_id); 
     134                                                                if (tmpAvDeviceSubunit) { // test code 
     135                                                                        //tmpAvDeviceSubunit->printOutputPlugConnections(); 
     136                                                                } 
    134137                                                        break; 
    135138                                                        case 0x0C: // music subunit 
     
    139142                                                                tmpAvDeviceSubunit2.printMusicPlugInfo(); 
    140143                                                                tmpAvDeviceSubunit2.printMusicPlugConfigurations(); 
     144                                                                tmpAvDeviceSubunit2.printOutputPlugConnections(); 
    141145                                                                tmpAvDeviceSubunit2.test(); 
    142146                                                                } 
  • trunk/freebob/src/avdevicemusicsubunit.cpp

    r27 r35  
    3535        quadlet_t *response; 
    3636         
    37         unsigned char opcr=0; 
    38          
    39         debugPrint(DEBUG_LEVEL_SUBUNIT,"AvDeviceMusicSubunit: Serial bus iso output plug connections:\n"); 
    40         for(opcr=0;opcr<0x1E;opcr++) {         
     37        unsigned char ipcr=0; 
     38 
     39        debugPrint(DEBUG_LEVEL_SUBUNIT,"AvDeviceMusicSubunit: Input Select status (iso channels):\n"); 
     40        for(ipcr=0;ipcr<0x1E;ipcr++) {         
    4141                request[0] = AVC1394_CTYPE_STATUS | ((iTarget & 0x1F) << 19) | ((iId & 0x07) << 16) 
    42                                                 | (0x1A << 8) | 0xFF; 
     42                                                | (0x1B << 8) | 0xFF; 
    4343                //request[1] = ((iTarget & 0x1F) << 27) | ((iId & 0x07) << 24) | 0x00FF7F; 
    44                 request[1]=0xFFFEFF00 | opcr; 
    45                 response = cParent->avcExecuteTransaction(request, 2, 4); 
     44                request[1]=0xFFFFFFFF; 
     45                request[2]= (ipcr<<24)| 0xFFFEFF; 
     46                response = cParent->avcExecuteTransaction(request, 3, 4); 
     47                 
    4648                if ((response != NULL) && ((response[0]&0xFF000000)==0x0C000000)) { 
    47                         unsigned char output_status=(response[0]&0xE0) >> 5
    48                         unsigned char conv=(response[0]&0x10) >> 4
    49                         unsigned char signal_status=(response[0]&0x0F); 
     49                        unsigned char output_status=(response[1]&0xF0000000) >> 28
     50                        unsigned char output_plug=(response[1]&0xFF)
     51                        unsigned char input_plug=((response[2]>>24)&0xFF); 
    5052                         
    51                         unsigned int signal_source=((response[1]>>16)&0xFFFF); 
    52                         unsigned int signal_destination=((response[1])&0xFFFF); 
    53                         debugPrint(DEBUG_LEVEL_SUBUNIT,"  oPCR %d: output_status=%d,conv=%d,signal_status=%d,signal_source=0x%04X,signal_destination=0x%04X\n",opcr,output_status,conv,signal_status,signal_source,signal_destination); 
     53                        unsigned int node_id=((response[1]>>8)&0xFFFF); 
     54                        unsigned int signal_destination=((response[2]>>8)&0xFFFF); 
     55                        debugPrint(DEBUG_LEVEL_SUBUNIT,"  iPCR %d: output_status=0x%01X,node_id=%02d,output_plug=0x%02X,input_plug=0x%02X,signal_destination=0x%04X\n",ipcr,output_status,node_id,output_plug,input_plug,signal_destination); 
    5456                } 
    5557        } 
    56         debugPrint(DEBUG_LEVEL_SUBUNIT,"AvDeviceMusicSubunit: Serial bus external output plug connections:\n"); 
    57         for(opcr=0x80;opcr<0x9E;opcr++) {        
    58                 request[0] = AVC1394_CTYPE_STATUS | ((iTarget & 0x1F) << 19) | ((iId & 0x07) << 16) 
    59                                                 | (0x1A << 8) | 0xFF; 
    60                 //request[1] = ((iTarget & 0x1F) << 27) | ((iId & 0x07) << 24) | 0x00FF7F; 
    61                 request[1]=0xFFFEFF00 | opcr; 
    62                 response = cParent->avcExecuteTransaction(request, 2, 4); 
    63                 if ((response != NULL) && ((response[0]&0xFF000000)==0x0C000000)) { 
    64                         unsigned char output_status=(response[0]&0xE0) >> 5; 
    65                         unsigned char conv=(response[0]&0x10) >> 4; 
    66                         unsigned char signal_status=(response[0]&0x0F); 
    67                          
    68                         unsigned int signal_source=((response[1]>>16)&0xFFFF); 
    69                         unsigned int signal_destination=((response[1])&0xFFFF); 
    70                         debugPrint(DEBUG_LEVEL_SUBUNIT,"  oPCR %02X: output_status=%d,conv=%d,signal_status=%d,signal_source=0x%04X,signal_destination=0x%04X\n",opcr,output_status,conv,signal_status,signal_source,signal_destination); 
    71                 } 
    72         } 
     58
    7359 
    74 
     60 
    7561void AvDeviceMusicSubunit::printMusicPlugConfigurations() { 
    7662        unsigned char byte; 
  • trunk/freebob/src/avdevicesubunit.cpp

    r31 r35  
    3030} 
    3131 
     32void AvDeviceSubunit::printOutputPlugConnections() { 
     33        unsigned char byte; 
     34        quadlet_t request[6]; 
     35        quadlet_t *response; 
     36         
     37        unsigned char opcr=0; 
     38         
     39        debugPrint(DEBUG_LEVEL_SUBUNIT,"AvDeviceSubunit: Serial bus iso output plug connections:\n"); 
     40        for(opcr=0;opcr<0x1E;opcr++) {   
     41                request[0] = AVC1394_CTYPE_STATUS | ((iTarget & 0x1F) << 19) | ((iId & 0x07) << 16) 
     42                                                | (0x1A << 8) | 0xFF; 
     43                //request[1] = ((iTarget & 0x1F) << 27) | ((iId & 0x07) << 24) | 0x00FF7F; 
     44                request[1]=0xFFFEFF00 | opcr; 
     45                response = cParent->avcExecuteTransaction(request, 2, 4); 
     46                if ((response != NULL) && ((response[0]&0xFF000000)==0x0C000000)) { 
     47                        unsigned char output_status=(response[0]&0xE0) >> 5; 
     48                        unsigned char conv=(response[0]&0x10) >> 4; 
     49                        unsigned char signal_status=(response[0]&0x0F); 
     50                         
     51                        unsigned int signal_source=((response[1]>>16)&0xFFFF); 
     52                        unsigned int signal_destination=((response[1])&0xFFFF); 
     53                        debugPrint(DEBUG_LEVEL_SUBUNIT,"  oPCR %d: output_status=%d,conv=%d,signal_status=%d,signal_source=0x%04X,signal_destination=0x%04X\n",opcr,output_status,conv,signal_status,signal_source,signal_destination); 
     54                } 
     55        } 
     56        debugPrint(DEBUG_LEVEL_SUBUNIT,"AvDeviceSubunit: Serial bus external output plug connections:\n"); 
     57        for(opcr=0x80;opcr<0x9E;opcr++) {        
     58                request[0] = AVC1394_CTYPE_STATUS | ((iTarget & 0x1F) << 19) | ((iId & 0x07) << 16) 
     59                                                | (0x1A << 8) | 0xFF; 
     60                //request[1] = ((iTarget & 0x1F) << 27) | ((iId & 0x07) << 24) | 0x00FF7F; 
     61                request[1]=0xFFFEFF00 | opcr; 
     62                response = cParent->avcExecuteTransaction(request, 2, 4); 
     63                if ((response != NULL) && ((response[0]&0xFF000000)==0x0C000000)) { 
     64                        unsigned char output_status=(response[0]&0xE0) >> 5; 
     65                        unsigned char conv=(response[0]&0x10) >> 4; 
     66                        unsigned char signal_status=(response[0]&0x0F); 
     67                         
     68                        unsigned int signal_source=((response[1]>>16)&0xFFFF); 
     69                        unsigned int signal_destination=((response[1])&0xFFFF); 
     70                        debugPrint(DEBUG_LEVEL_SUBUNIT,"  oPCR %02X: output_status=%d,conv=%d,signal_status=%d,signal_source=0x%04X,signal_destination=0x%04X\n",opcr,output_status,conv,signal_status,signal_source,signal_destination); 
     71                } 
     72        } 
     73 
     74} 
    3275 
    3376AvDeviceSubunit::AvDeviceSubunit(AvDevice *parent, unsigned char target, unsigned char  id) 
  • trunk/freebob/src/avdevicesubunit.h

    r27 r35  
    3434 
    3535    virtual void test(); 
     36    void printOutputPlugConnections(); 
    3637     
    3738 protected: 
  • trunk/freebob/src/debugmodule.h

    r33 r35  
    3737#define DEBUG_LEVEL_MODERATE (DEBUG_LEVEL_INFO | DEBUG_LEVEL_DEVICE | DEBUG_LEVEL_SUBUNIT) 
    3838 
    39 #define DEBUG_LEVEL DEBUG_LEVEL_MODERATE 
     39#define DEBUG_LEVEL DEBUG_LEVEL_MODERATE  
    4040 
    4141#define DEBUG 
     
    4444        #define debugError(format, args...) fprintf( stderr, "%s %s %d: " format,  __FILE__, __FUNCTION__, __LINE__, ##args ) 
    4545//      #define debugPrint(Level, format, args...) if(DEBUG_LEVEL & Level) { int idebug=Level; while(idebug) {printf(" "); idebug=idebug>>1;} printf( format, ##args ); } 
    46         #define debugPrint(Level, format, args...) if(DEBUG_LEVEL>=Level) printf("DEBUG %s %s %d :"  format, __FILE__, __FUNCTION__, __LINE__, ##args ); 
     46        #define debugPrint(Level, format, args...) if(DEBUG_LEVEL & Level) printf("DEBUG %s %s %d :"  format, __FILE__, __FUNCTION__, __LINE__, ##args ); 
    4747 
    4848#else