Changeset 3039

Show
Ignore:
Timestamp:
03/05/07 17:26:16 (6 years ago)
Author:
jgaeddert
Message:

adding packet error counter

Location:
experimental/components/DataComparator
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • experimental/components/DataComparator/DataComparator.cpp

    r2980 r3039  
    9797CORBA::Object_ptr DataComparator_i::getPort( const char* portName ) throw (CORBA::SystemException, CF::PortSupplier::UnknownPort) 
    9898{ 
    99     DEBUG(5, DataComparator, "DataComparator_i getPort called with : " << portName) 
     99    DEBUG(5, DataComparator, "getPort() invoked with : " << portName) 
    100100     
    101101    CORBA::Object_var p; 
     
    117117void DataComparator_i::start() throw (CORBA::SystemException, CF::Resource::StartError) 
    118118{ 
    119     DEBUG(5, DataComparator, "start invoked") 
     119    DEBUG(5, DataComparator, "start() invoked") 
    120120} 
    121121 
    122122void DataComparator_i::stop() throw (CORBA::SystemException, CF::Resource::StopError)  
    123123 
    124     DEBUG(5, DataComparator, "stop invoked") 
     124    DEBUG(5, DataComparator, "stop() invoked") 
    125125} 
    126126 
    127127void DataComparator_i::releaseObject() throw (CORBA::SystemException, CF::LifeCycle::ReleaseError) 
    128128{ 
    129     DEBUG(5, DataComparator, "releaseObject invoked") 
     129    DEBUG(5, DataComparator, "releaseObject() invoked") 
    130130     
    131131    component_running->signal(); 
     
    134134void DataComparator_i::initialize() throw (CF::LifeCycle::InitializeError, CORBA::SystemException) 
    135135{ 
    136     DEBUG(5, DataComparator, "initialize invoked") 
     136    DEBUG(5, DataComparator, "initialize() invoked") 
    137137} 
    138138 
    139139void DataComparator_i::configure(const CF::Properties& props) throw (CORBA::SystemException, CF::PropertySet::InvalidConfiguration, CF::PropertySet::PartialConfiguration) 
    140140{ 
    141     DEBUG(5, DataComparator, "configure invoked") 
     141    DEBUG(5, DataComparator, "configure() invoked") 
    142142     
    143143    DEBUG(5, DataComparator, "props length : " << props.length()) 
     
    160160void DataComparator_i::run_loop() 
    161161{ 
    162     DEBUG(5, DataComparator, "DataComparator's run_loop thread started") 
     162    DEBUG(5, DataComparator, "run_loop() thread started") 
    163163 
    164164#ifdef LOGGING 
     
    169169 
    170170    unsigned int i, N, num_errors; 
    171     unsigned int packet_id(0); 
     171    unsigned int packet_id(0), prev_packet_id(0); 
     172    signed int packet_index_diff(0); 
     173    unsigned int num_dropped_packets(0); 
     174    unsigned int num_packets_to_observe(100); 
     175    unsigned int num_received_packets(0); 
    172176    unsigned int M(control_data_length); 
     177 
     178    bool first_packet(true); 
     179 
    173180    packet_length = 400; 
    174181    if ( packet != NULL ) 
     
    186193        dataIn_0->getData(data_bits_in); 
    187194        N = data_bits_in->length(); 
    188         DEBUG(1, DataComparator, "received " << N << " data samples") 
     195        DEBUG(7, DataComparator, "received " << N << " data samples") 
    189196 
    190197        dataIn_1->getData(control_bits_in); 
    191198        M = control_bits_in->length(); 
    192         DEBUG(1, DataComparator, "received " << M << " control samples") 
     199        DEBUG(7, DataComparator, "received " << M << " control samples") 
    193200 
    194201        if ( N != packet_length ) 
     
    202209        else 
    203210        { 
    204             //TODO: compare control data 
    205             if ( ossieDebugLevel >= 7 ) 
     211            // compare control data 
     212            if ( true ) 
    206213            { 
    207214                packet_id = 0; 
    208                 std::cout << "DataComparator: control: "; 
     215               // std::cout << "DataComparator: control: "; 
    209216                /* 
    210217                for (i=0; i<M; i++) 
     
    251258                ) > 2 ) ? 0x0001 : 0x0000; 
    252259 
    253                 std::cout << " " << packet_id << std::endl; 
     260                DEBUG(5, DataComparator, "packet id : " << packet_id); 
     261 
     262                if ( first_packet ) 
     263                    first_packet = false; 
     264                else 
     265                { 
     266                    // determine if packets have been dropped 
     267                    if ( packet_id == 0 ) 
     268                        packet_index_diff = 31 - prev_packet_id; 
     269                    else 
     270                        packet_index_diff = packet_id - prev_packet_id - 1; 
     271 
     272                    while (packet_index_diff<0) 
     273                        packet_index_diff += 31; 
     274 
     275                    num_dropped_packets += (unsigned int) packet_index_diff; 
     276                } 
     277 
     278                num_received_packets++; 
     279                prev_packet_id = packet_id; 
     280                 
    254281            } 
    255282            num_errors = 0; 
    256283 
    257             // compare values 
     284            // compare data values 
    258285            for (i=0; i<N; i++) 
    259286                num_errors += ( (signed char) (*data_bits_in)[i]==packet_tmp[i]) 
    260287                    ? 0 : 1; 
    261288 
    262             DEBUG(1, DataComparator, "errors: " << num_errors << " / " << N) 
     289            DEBUG(5, DataComparator, "data errors : " << num_errors << " / " << N) 
     290 
     291            if ( (num_received_packets+num_dropped_packets) >= num_packets_to_observe ) 
     292            { 
     293                DEBUG(1, DataComparator, "------------------ dropped packets : " << num_dropped_packets << " / " << num_received_packets + num_dropped_packets) 
     294                num_received_packets = 0; 
     295                num_dropped_packets = 0; 
     296            } 
    263297#ifdef LOGGING 
    264298            if ( log_size_counter < LOG_SIZE_MAX ) 
  • experimental/components/DataComparator/DataComparator.h

    r2744 r3039  
    7979        signed char * control_data; 
    8080        unsigned int control_data_length; 
    81          
     81 
    8282}; 
    8383#endif 
  • experimental/components/DataComparator/main.cpp

    r2744 r3039  
    3232 
    3333{ 
    34     ossieDebugLevel = 7; 
     34    ossieDebugLevel = 4; 
    3535 
    3636    ossieSupport::ORB *orb = new ossieSupport::ORB;