Exemple #1
0
    def __init__ (self, log, osp_chan, rec_chan):
        print '{Acoustic_node} parsing OSP events...'
        #self.osps = [acomms_osp_t.decode (e.data) for e in log if osp_chan in e.channel]
        osps = [acomms_osp_t.decode (e.data) for e in log if osp_chan in e.channel]
        print '{Acoustic_node} found %d OSPs' % (len (osps))

        print '{Acoustic_node} parsing OSP recovery events...'
        #self.recs = [acomms_osp_recovery_t.decode (e.data) for e in log if rec_chan in e.channel]
        recs = [acomms_osp_recovery_t.decode (e.data) for e in log if rec_chan in e.channel]
        print '{Acoustic_node} found %d recoveries' % (len (recs))

        t_osp = [o.utime for o in osps]
        t_rec = [o.utime for o in recs]

        self.t_osp = np.asarray (t_osp)
        self.t_rec = np.asarray (t_rec)
        utime = t_osp+t_rec
        utime.sort ()
        self.utime = np.asarray (utime)
Exemple #2
0
    def __init__(self, log, osp_chan, rec_chan):
        print '{Acoustic_node} parsing OSP events...'
        #self.osps = [acomms_osp_t.decode (e.data) for e in log if osp_chan in e.channel]
        osps = [
            acomms_osp_t.decode(e.data) for e in log if osp_chan in e.channel
        ]
        print '{Acoustic_node} found %d OSPs' % (len(osps))

        print '{Acoustic_node} parsing OSP recovery events...'
        #self.recs = [acomms_osp_recovery_t.decode (e.data) for e in log if rec_chan in e.channel]
        recs = [
            acomms_osp_recovery_t.decode(e.data) for e in log
            if rec_chan in e.channel
        ]
        print '{Acoustic_node} found %d recoveries' % (len(recs))

        t_osp = [o.utime for o in osps]
        t_rec = [o.utime for o in recs]

        self.t_osp = np.asarray(t_osp)
        self.t_rec = np.asarray(t_rec)
        utime = t_osp + t_rec
        utime.sort()
        self.utime = np.asarray(utime)
Exemple #3
0
import lcm
from perls.lcmtypes.perllcm import iver_osm_state_t
from perls.lcmtypes.perllcm import iver_osm_vis_t
from perls.lcmtypes.senlcm import acomms_osp_t

if __name__ == '__main__':
    if len (sys.argv) < 2:
        print 'usage: %s <lcmlog-server>' % sys.argv[0]
        sys.exit (0)

    ilog = lcm.EventLog (sys.argv[1])
    olog = lcm.EventLog ('lcmlog-server-cooked', 'w', overwrite=True)
    
    DTOL = 2
    for e in ilog:
        if e.channel=='IVER31_SERVER_OSP':
            m = acomms_osp_t.decode (e.data)
            m.org_tol_no += DTOL
            m.new_tol_no += DTOL
            olog.write_event (e.timestamp, e.channel, m.encode ())
            continue
        elif e.channel=='SERVER_OSM_VIS':
            m = iver_osm_vis_t.decode (e.data)
            for p in m.poses: p.index += DTOL
            olog.write_event (e.timestamp, e.channel, m.encode ())
            continue
        olog.write_event (e.timestamp, e.channel, e.data)

    sys.exit (0)
import lcm
from perls.lcmtypes.senlcm import acomms_data_t
from perls.lcmtypes.senlcm import acomms_osp_t
from perls.lcmtypes.senlcm import acomms_range_t

if __name__ == '__main__':
    if len(sys.argv) < 3:
        print 'usage: %s <lcmlog-orig> <lcmlog-server>' % sys.argv[0]
        sys.exit(0)

    logc = lcm.EventLog(sys.argv[1])

    logs = lcm.EventLog(sys.argv[2])
    osp_events = [e for e in logs if e.channel == 'IVER28_SERVER_OSP']
    osp = [acomms_osp_t.decode(e.data) for e in osp_events]
    osp_utime = np.asarray([o.utime for o in osp])

    print 'found %d osps' % len(osp_utime)

    olog = lcm.EventLog('lcmlog-multiple-server', 'w', overwrite=True)
    for e in logc:
        if e.channel == 'TOPSIDE_ACOMMS_DATA':
            m = acomms_data_t.decode(e.data)
            print 'data', m.utime, m.src, m.frame_size

            if m.src == 2 and m.frame_size == 3:
                ii = np.where((m.utime - osp_utime > 0)
                              & (m.utime - osp_utime < 5e6))[0]
                #print (m.utime-osp_utime[ii])*1e-6
                #print [osp[i].new_tol_no for i in ii]
import numpy as np

import lcm
from perls.lcmtypes.senlcm import acomms_osp_t

if __name__ == '__main__':
    if len (sys.argv) < 3:
        print 'usage: %s <lcmlog-orig> <lcmlog-server>' % sys.argv[0]
        sys.exit (0)

    logc = lcm.EventLog (sys.argv[1])

    logs = lcm.EventLog (sys.argv[2])
    osp_events = [e for e in logs if e.channel=='IVER31_SERVER_OSP']
    osp = [acomms_osp_t.decode (e.data) for e in osp_events]
    osp_utime = np.asarray ([o.utime for o in osp])
    print 'found %d osps' % len (osp_utime)

    olog = lcm.EventLog ('lcmlog-replaced-osp', 'w', overwrite=True)
    for e in logc:
        if e.channel=='IVER28_CLIENT_OSP':
            m = acomms_osp_t.decode (e.data)

            ii = np.where ((m.utime-osp_utime>0) & (m.utime-osp_utime < 5e6))[0]
            #ii = np.where ((m.utime-osp_utime>-12e6) & (m.utime-osp_utime < 12e6))[0]
            #print (m.utime-osp_utime[ii])*1e-6
            #print [osp[i].new_tol_no for i in ii]
            for i in ii:
                if m.new_tol_no==osp[i].new_tol_no:
                    print 'replacing osp event (%d,%d) (%d,%d)' % (m.org_tol_no, m.new_tol_no, osp[i].org_tol_no, osp[i].new_tol_no)
Exemple #6
0
 def osp_handler(self, channel, data):
     osp = acomms_osp_t.decode(data)
     self.osps.append(osp)
Exemple #7
0
import lcm
from perls.lcmtypes.perllcm import iver_osm_state_t
from perls.lcmtypes.perllcm import iver_osm_vis_t
from perls.lcmtypes.senlcm import acomms_osp_t

if __name__ == '__main__':
    if len(sys.argv) < 2:
        print 'usage: %s <lcmlog-server>' % sys.argv[0]
        sys.exit(0)

    ilog = lcm.EventLog(sys.argv[1])
    olog = lcm.EventLog('lcmlog-server-cooked', 'w', overwrite=True)

    DTOL = 2
    for e in ilog:
        if e.channel == 'IVER31_SERVER_OSP':
            m = acomms_osp_t.decode(e.data)
            m.org_tol_no += DTOL
            m.new_tol_no += DTOL
            olog.write_event(e.timestamp, e.channel, m.encode())
            continue
        elif e.channel == 'SERVER_OSM_VIS':
            m = iver_osm_vis_t.decode(e.data)
            for p in m.poses:
                p.index += DTOL
            olog.write_event(e.timestamp, e.channel, m.encode())
            continue
        olog.write_event(e.timestamp, e.channel, e.data)

    sys.exit(0)