Changeset 4104

Show
Ignore:
Timestamp:
06/03/07 16:16:31 (6 years ago)
Author:
jgaeddert
Message:

removing antiquated methods, moving to DSP class

Location:
experimental/components/PacketizerSimpleBPSK
Files:
2 added
6 modified

Legend:

Unmodified
Added
Removed
  • experimental/components/PacketizerSimpleBPSK/Makefile.am

    r4101 r4104  
    66    src/PacketizerSimpleBPSK.cpp                \ 
    77    src/PacketizerSimpleBPSK.h                  \ 
     8    src/PacketizerDSP.h                     \ 
     9    src/PacketizerDSP.cpp                   \ 
    810    src/PNCodes.h                           \ 
    911    src/PNCodes.cpp                         \ 
  • experimental/components/PacketizerSimpleBPSK/configure.ac

    r3440 r4104  
    1919AC_CHECK_HEADERS([omniORB4/CORBA.h], [], [AC_MSG_ERROR([cannot find omniORB4 header files])]) 
    2020 
     21AC_CHECK_LIB([sigproc], [main], [], [AC_MSG_ERROR([cannot find sigproc library])]) 
     22AC_CHECK_HEADERS([sigproc/SigProc.h], [], [AC_MSG_ERROR([cannot find sigproc library header files])]) 
     23 
    2124AC_CHECK_LIB([standardInterfaces], [main], [], [AC_MSG_ERROR([cannot find standardInterfaces])]) 
    2225AC_CHECK_HEADERS([standardinterfaces/complexShort.h], [], [AC_MSG_ERROR([cannot find standardInterfaces header files])]) 
  • experimental/components/PacketizerSimpleBPSK/src/PNCodes.cpp

    r4101 r4104  
    3030    0, 0, 0}; 
    3131 
     32// P/N packet control code 
     33char pnControlCode[7] = {1, 1, 1, 0, 1, 0, 0}; 
     34 
     35// P/N inverse packet control code 
     36char pnControlCodeInv[7] = {0, 0, 0, 1, 0, 1, 1}; 
     37 
     38 
  • experimental/components/PacketizerSimpleBPSK/src/PNCodes.h

    r4101 r4104  
    2828extern char pnPacketSyncCode[63]; 
    2929 
     30// P/N packet control code 
     31extern char pnControlCode[7]; 
     32 
     33// P/N inverse packet control code 
     34extern char pnControlCodeInv[7]; 
     35 
  • experimental/components/PacketizerSimpleBPSK/src/PacketizerSimpleBPSK.cpp

    r4100 r4104  
    3636    dataOut_0 = new standardInterfaces_i::realChar_u("bitsOut"); 
    3737 
    38     // set initial variable values 
    39     preamble = NULL; 
    40     preambleLength = 35; 
    41     pnSyncCode = NULL; 
    42     pnSyncCodeLength = 31; 
    43     controlBlock = NULL; 
    44     controlBlockLength = 15; 
    45     // dataBlock = NULL; 
    46     dataBlockLength = 400; 
    47     pnEOMCode = NULL; 
    48     pnEOMCodeLength = 31; 
    49  
    50     ConfigurePreamble(); 
    51     //ConfigurePNSyncCode( 0x75ac21a8 ); 
    52     ConfigurePNSyncCode( 0x05763e69 ); // m-sequence 
    53     ConfigureControlData( 0 ); 
    54     //ConfigurePNEOMCode( 0x71357ac1 ); 
    55     ConfigurePNEOMCode( 0x3e690576 ); 
    56  
    5738    //Create the thread for the writer's processing function  
    5839    processing_thread = new omni_thread(Run, (void *) this); 
     
    6849    delete dataIn_1; 
    6950    delete dataOut_0; 
    70  
    71     if ( preamble != NULL ) 
    72         delete [] preamble; 
    73  
    74     if ( pnSyncCode != NULL ) 
    75         delete [] pnSyncCode; 
    76  
    77     if ( controlBlock != NULL ) 
    78         delete [] controlBlock; 
    79  
    80     if ( pnEOMCode != NULL ) 
    81         delete [] pnEOMCode; 
    8251} 
    8352 
     
    142111     
    143112    DEBUG(3, PacketizerSimpleBPSK, "props length : " << props.length()) 
    144 #if 0 
    145     unsigned int j; 
    146  
    147     for (unsigned int i = 0; i <props.length(); i++) 
    148     { 
    149         DEBUG(3, PacketizerSimpleBPSK, "Property id : " << props[i].id) 
    150  
    151         // sync_code 
    152         if (strcmp(props[i].id, "DCE:58fa6fbf-0daa-4ed4-9d33-7f343a92c184") == 0) 
    153         { 
    154             CORBA::ULong simple_temp; 
    155             props[i].value >>= simple_temp; 
    156             simple_0_value = simple_temp; 
    157             if ( pnSyncCode != NULL ) 
    158                 delete [] pnSyncCode; 
    159             pnSyncCode  = new char[pnSyncCodeLength]; 
    160             std::cout << "--- SYNC code: "; 
    161             for (j=0; j<pnSyncCodeLength; j++) 
    162             { 
    163                 pnSyncCode[j] = (simple_0_value & 0x0001 == 0) ? BIT0 : BIT1; 
    164                 simple_0_value >>= 1; 
    165                 std::cout << pnSyncCode[j] << " "; 
    166             } 
    167             std::cout << std::endl; 
    168         } 
    169  
    170         // packetLength 
    171         if (strcmp(props[i].id, "DCE:e99ff5ab-d06a-4c99-965a-73901478176e") == 0) 
    172         { 
    173             CORBA::ULong simple_temp; 
    174             props[i].value >>= simple_temp; 
    175             // simple_1_value = simple_temp; 
    176             dataBlockLength = simple_temp; 
    177         } 
    178  
    179         // eom_code 
    180         if (strcmp(props[i].id, "DCE:67fa3260-533a-4184-be7c-c1868b3f70dd") == 0) 
    181         { 
    182             CORBA::ULong simple_temp; 
    183             props[i].value >>= simple_temp; 
    184             simple_2_value = simple_temp; 
    185             if ( pnEOMCode != NULL ) 
    186                 delete [] pnEOMCode; 
    187             pnEOMCode  = new char[pnEOMCodeLength]; 
    188             std::cout << "--- EOM code: "; 
    189             for (j=0; j<pnEOMCodeLength; j++) 
    190             { 
    191                 pnEOMCode[j] = (simple_2_value & 0x0001 == 0) ? BIT0 : BIT1; 
    192                 simple_2_value >>= 1; 
    193                 std::cout << pnEOMCode[j] << " "; 
    194             } 
    195             std::cout << std::endl; 
    196         } 
    197  
    198     } 
    199 #endif 
    200113} 
    201114 
    202 void PacketizerSimpleBPSK_i::ConfigurePreamble() 
    203 { 
    204     if ( preamble != NULL ) 
    205         delete [] preamble; 
    206      
    207     unsigned int i; 
    208     preamble = new char[preambleLength]; 
    209     for (i=0; i<preambleLength; i++) 
    210         preamble[i] = ( i%2==0 ) ? BIT0 : BIT1; 
    211  
    212 } 
    213  
    214 void PacketizerSimpleBPSK_i::ConfigurePNSyncCode( unsigned int _code ) 
    215 { 
    216     if ( pnSyncCode != NULL ) 
    217         delete [] pnSyncCode; 
    218      
    219     signed int i; 
    220     pnSyncCode = new char[pnSyncCodeLength]; 
    221     for (i=pnSyncCodeLength-1; i>=0; i--) 
    222     { 
    223         pnSyncCode[i] = ( (_code & 0x0001) == 0 ) ? BIT0 : BIT1; 
    224         _code >>= 1; 
    225     } 
    226  
    227     std::cout << "PacketizerSimpleBPSK: (sync code) "; 
    228     for (i=0; (unsigned int) i<pnSyncCodeLength; i++) 
    229         std::cout << (int) pnSyncCode[i]; 
    230     std::cout << std::endl; 
    231  
    232 } 
    233  
    234 void PacketizerSimpleBPSK_i::ConfigureControlData( unsigned int _data ) 
    235 { 
    236     if ( controlBlock != NULL ) 
    237         delete [] controlBlock; 
    238      
    239     signed int i; 
    240     controlBlock = new char[controlBlockLength]; 
    241     for (i=controlBlockLength-1; i>=0; i--) 
    242     { 
    243         controlBlock[i] = ( (_data & 0x0001) == 0 ) ? BIT0 : BIT1; 
    244         _data >>= 1; 
    245     } 
    246  
    247 } 
    248  
    249 void PacketizerSimpleBPSK_i::ConfigurePNEOMCode( unsigned int _code ) 
    250 { 
    251     if ( pnEOMCode != NULL ) 
    252         delete [] pnEOMCode; 
    253      
    254     signed int i; 
    255     pnEOMCode = new char[pnEOMCodeLength]; 
    256     for (i=pnEOMCodeLength-1; i>=0; i--) 
    257     { 
    258         pnEOMCode[i] = ( (_code & 0x0001) == 0 ) ? BIT0 : BIT1; 
    259         _code >>= 1; 
    260     } 
    261  
    262     std::cout << "PacketizerSimpleBPSK: (eom code) "; 
    263     for (i=0; (unsigned int) i<pnEOMCodeLength; i++) 
    264         std::cout << (int) pnEOMCode[i]; 
    265     std::cout << std::endl; 
    266  
    267 } 
    268115 
    269116void PacketizerSimpleBPSK_i::RunLoop() 
     
    288135         
    289136        //dataBlockLength = data_bits_in->length(); 
    290         bits_out.length( preambleLength + 
    291                          pnSyncCodeLength + 
    292                          controlBlockLength + 
    293                          dataBlockLength + 
    294                          pnEOMCodeLength ); 
    295         N=0; 
    296         DEBUG(7, PacketizerSimpleBPSK, "preparing to copy data...") 
    297  
    298         DEBUG(7, PacketizerSimpleBPSK, "copying preamble") 
    299         // copy preamble sync pattern 
    300         for (i=0; i<preambleLength; i++) 
    301             bits_out[i] = preamble[i]; 
    302         N += preambleLength; 
     137        bits_out.length( 512 ); 
    303138 
    304139        DEBUG(7, PacketizerSimpleBPSK, "copying P/N sync code") 
    305140        // copy P/N sync code 
    306         for (i=0; i<pnSyncCodeLength; i++) 
     141        for (i=0; i<63; i++) 
    307142            bits_out[N+i] = pnSyncCode[i]; 
    308         N += pnSyncCodeLength; 
     143        N += 63; 
    309144 
    310145        DEBUG(7, PacketizerSimpleBPSK, "copying control data") 
    311         unsigned int ctrl; 
    312         ctrl = k | (k<<5) | (k<<10); 
    313         ConfigureControlData( ctrl ); 
    314         // copy control data 
    315         for (i=0; i<controlBlockLength; i++) 
    316             bits_out[N+i] = (*control_bits_in)[i];//controlBlock[i]; 
    317         N += controlBlockLength; 
     146        N += 49; 
    318147 
    319148        DEBUG(7, PacketizerSimpleBPSK, "copying data block") 
    320         // copy data block 
    321         for (i=0; i<dataBlockLength; i++) 
     149        for (i=0; i<400; i++) 
    322150            bits_out[N+i] = (*data_bits_in)[i]; 
    323         N += dataBlockLength; 
    324  
    325         DEBUG(7, PacketizerSimpleBPSK, "copying P/N EOM code") 
    326         // copy P/N eom code 
    327         for (i=0; i<pnEOMCodeLength; i++) 
    328             bits_out[N+i] = pnEOMCode[i]; 
    329         N += pnEOMCodeLength; 
     151        N += 400; 
    330152 
    331153        DEBUG(5, PacketizerSimpleBPSK, "pushing data " << N << " samples...") 
  • experimental/components/PacketizerSimpleBPSK/src/PacketizerSimpleBPSK.h

    r4100 r4104  
    3535#include "standardinterfaces/realChar_p.h" 
    3636 
     37#include "PacketizerDSP.h" 
    3738 
    38 class PacketizerSimpleBPSK_i : public virtual Resource_impl 
     39class PacketizerSimpleBPSK_i : public virtual Resource_impl, public PacketizerDSP 
    3940{ 
    4041  public: 
     
    9697    standardInterfaces_i::realChar_u *dataOut_0; // output packet 
    9798 
    98     // algorithm methods 
    99     void ConfigurePreamble(); 
    100     void ConfigurePNSyncCode( unsigned int _code ); 
    101     void ConfigureControlData( unsigned int _data ); 
    102     void ConfigurePNEOMCode( unsigned int _code ); 
    103  
    104     // algorithm variables 
    105     char * preamble; 
    106     unsigned int preambleLength; 
    107     char * pnSyncCode; 
    108     unsigned int pnSyncCodeLength; 
    109     char * controlBlock; 
    110     unsigned int controlBlockLength; 
    111     // char * dataBlock; 
    112     unsigned int dataBlockLength; 
    113     char * pnEOMCode; 
    114     unsigned int pnEOMCodeLength; 
     99    /// Operational mode 
     100    enum { 
     101        ASSEMBLE_PN_PACKET_SYNC_CODE, 
     102        ASSEMBLE_CONTROL_CODES, 
     103        ASSEMBLE_PACKET 
     104    } operationalMode; 
    115105     
    116106};