Package ais :: Module test
[hide private]
[frames] | no frames]

Source Code for Module ais.test

 1  #!/usr/bin/env python 
 2  ''' 
 3   
 4  @todo: turn this into a real test runner for everything in the test subdir. 
 5  ''' 
 6  import sys 
 7  from BitVector import BitVector 
 8  import binary 
 9  import ais_msg_1, ais_msg_8 
10  import sls.waterlevel 
11   
12  if __name__=='__main__': 
13   
14      # Try to parse some binary message 
15      if False: 
16          #nmeaStr='!BSVDM,1,1,,A,85MwpwQKf22M=5KEn7IONkp9nkF5PtBao=COt6;QOuwk82>:tltI,0*01,r003669717,1165850285' 
17          nmeaStr='!AIVDM,1,1,,A,85OpLV1Kf98p96dWWPLSViUfJlU@SV>cDF2Wq5>`=u8CnEFGCIOq,0*70,r003669983,1165795916' 
18   
19          msgPayload = nmeaStr.split(',')[5] 
20          print 'nmea string:    ',nmeaStr 
21          print 'message payload:',msgPayload 
22          bv = binary.ais6tobitvec(msgPayload) 
23          print len(bv), bv 
24   
25          msgDict = ais_msg_8.bin_broadcastDecode(bv) 
26          ais_msg_8.bin_broadcastPrintFields(msgDict) 
27   
28          bv = bv[39:] 
29   
30          print               'dac: ',bv[:10],int(bv[:10]) 
31          bv = bv[10:]; print 'fid: ',bv[: 6],int(bv[: 6]) 
32          bv = bv[ 6:]; print 'bits:',bv[:16],int(bv[:10]) 
33          bv = bv[10:]; print 'len: ',len(bv) 
34   
35      # Position message 
36      if False: 
37          nmeaStr = '!AIVDM,1,1,,B,15Mt9B001;rgAFhGKLaRK1v2040@,0*2A' 
38          msgPayload = nmeaStr.split(',')[5] 
39          print 'nmea string:    ',nmeaStr 
40          print 'message payload:',msgPayload 
41          bv = binary.ais6tobitvec(msgPayload) 
42          msgDict = ais_msg_1.positionDecode(bv) 
43          ais_msg_1.positionPrint(msgDict) 
44   
45   
46      # SLS try for waterlevel 
47      if True: 
48          bvStr = '010111101000001000100101000001010100110101001100011000001000000000110001100101110101000000001001010011101101000000000000001000000100000000000000' 
49          bv = BitVector(bitstring=bvStr) 
50          print type(bv) 
51          msgDict= sls.waterlevel.decode(bv) 
52          sls.waterlevel.printFields(msgDict) 
53