1
2
3 import sls_wind, sls_header
4 from lxml import etree
5 from BitVector import BitVector
6 import binary
7
8 r = etree.parse('test/sls_wind_2_1.xml').getroot()
9
10 bvStrList = []
11 for field in r.xpath('/aismsg/fields/field'):
12 print field.attrib['name'], field.text, field.attrib['bits']
13 bvStrList.append(field.attrib['bits'])
14 bvStr=''.join(bvStrList)
15 print bvStr
16
17 bv = BitVector(bitstring=bvStr)
18 print len(bv)
19
20 bv = sls_header.encode({'dac':366, 'MessageID':2, 'BinaryData':bv})
21 print len(bv)
22 print bv
23
24 import ais_msg_8
25 ais_msg_8.encode({'UserID':1193046,'BinaryData':bv})
26 print len(bv),bv
27
28 nmeaPayload, pad = binary.bitvectoais6(bv)
29 print nmeaPayload, pad
30
31
32 nmeaStr = '!AIVDM,1,1,,A,'+nmeaPayload+','+str(pad)
33 print nmeaStr
34 import nmea
35 print nmea.checksumStr(nmeaStr)
36 nmeaStr = nmeaStr + '*' + nmea.checksumStr(nmeaStr)
37 print nmeaStr
38