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

Source Code for Module ais.validate_sls_wind

 1  #!/usr/bin/env python 
 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