1
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
15 if False:
16
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
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
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