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

Module ais_msg_5

source code

Autogenerated python functions to serialize/deserialize binary messages.

Generated by: ./aisxmlbinmsg2py.py

Need to then wrap these functions with the outer AIS packet and then convert the whole binary blob to a NMEA string. Those functions are not currently provided in this file.

serialize: python to ais binary deserialize: ais binary to python

The generated code uses translators.py, binary.py, and aisstring.py which should be packaged with the resulting files.


Requires:

Author: xmlbinmsg

Version: 4791

Status: under development

License: Generated code has no license

Classes [hide private]
  Testshipdata
Use testvalue tag text from each type to build test case the shipdata message

Functions [hide private]
BitVector encode(params, validate=False)
Create a shipdata binary message payload to pack into an AIS Msg shipdata.
dict decode(bv, validate=False)
Unpack a shipdata message
  decodeMessageID(bv, validate=False)
  decodeRepeatIndicator(bv, validate=False)
  decodeUserID(bv, validate=False)
  decodeAISversion(bv, validate=False)
  decodeIMOnumber(bv, validate=False)
  decodecallsign(bv, validate=False)
  decodename(bv, validate=False)
  decodeshipandcargo(bv, validate=False)
  decodedimA(bv, validate=False)
  decodedimB(bv, validate=False)
  decodedimC(bv, validate=False)
  decodedimD(bv, validate=False)
  decodefixtype(bv, validate=False)
  decodeETA(bv, validate=False)
  decodedraught(bv, validate=False)
  decodedestination(bv, validate=False)
  decodedte(bv, validate=False)
  decodeSpare(bv, validate=False)
stdout printFields(params, out=sys.stdout, format='std')
Print a shipdata message to stdout.
dict testParams()
Return a params file base on the testvalue tags.

Variables [hide private]
  __date__ = '2006-12-20'
Date of last svn commit
  TrueBV = <BitVector.BitVector object at 0x2066f90>
Why always rebuild the True bit? This should speed things up a bunch
  FalseBV = <BitVector.BitVector object at 0x206e030>
Why always rebuild the False bit? This should speed things up a bunch
  typeChoices = 'binary', 'nmeapayload', 'nmea'
  msgDict = {'MessageID': '5', 'RepeatIndicator': options.Repeat...
  bitLen = len(bits)
  bits = bits+ BitVector(size= (6-(bitLen % 6)))

Function Details [hide private]

encode(params, validate=False)

source code 

Create a shipdata binary message payload to pack into an AIS Msg shipdata.

Fields in params:
  • MessageID(uint): AIS message number. Must be 5 (field automatically set to "5")
  • RepeatIndicator(uint): Indicated how many times a message has been repeated
  • UserID(uint): Unique ship identification number (MMSI)
  • AISversion(uint): Compliant with what edition. 0 is the first edition.
  • IMOnumber(uint): vessel identification number (different than mmsi)
  • callsign(aisstr6): Ship radio call sign
  • name(aisstr6): Vessel name
  • shipandcargo(uint): what
  • dimA(uint): FIX: write a description
  • dimB(uint): FIX: write a description
  • dimC(uint): FIX: write a description
  • dimD(uint): FIX: write a description
  • fixtype(uint): Method used for positioning
  • ETA(uint): FIX: break this out
  • draught(udecimal): Maximum present static draught. 25.5 is 25.5 m or greater
  • destination(aisstr6): Where is the vessel going
  • dte(uint): Data terminal ready
  • Spare(uint): Reserved for definition by a regional authority. (field automatically set to "0")
Parameters:
  • params - Dictionary of field names/values. Throws a ValueError exception if required is missing
  • validate - Set to true to cause checking to occur. Runs slower. FIX: not implemented.
Returns: BitVector
encoded binary message (for binary messages, this needs to be wrapped in a msg 8

Note: The returned bits may not be 6 bit aligned. It is up to you to pad out the bits.

decode(bv, validate=False)

source code 

Unpack a shipdata message

Fields in params:
  • MessageID(uint): AIS message number. Must be 5 (field automatically set to "5")
  • RepeatIndicator(uint): Indicated how many times a message has been repeated
  • UserID(uint): Unique ship identification number (MMSI)
  • AISversion(uint): Compliant with what edition. 0 is the first edition.
  • IMOnumber(uint): vessel identification number (different than mmsi)
  • callsign(aisstr6): Ship radio call sign
  • name(aisstr6): Vessel name
  • shipandcargo(uint): what
  • dimA(uint): FIX: write a description
  • dimB(uint): FIX: write a description
  • dimC(uint): FIX: write a description
  • dimD(uint): FIX: write a description
  • fixtype(uint): Method used for positioning
  • ETA(uint): FIX: break this out
  • draught(udecimal): Maximum present static draught. 25.5 is 25.5 m or greater
  • destination(aisstr6): Where is the vessel going
  • dte(uint): Data terminal ready
  • Spare(uint): Reserved for definition by a regional authority. (field automatically set to "0")
Parameters:
  • bv (BitVector) - Bits defining a message
  • validate - Set to true to cause checking to occur. Runs slower. FIX: not implemented.
Returns: dict
params

decodeMessageID(bv, validate=False)

source code 
None

decodeRepeatIndicator(bv, validate=False)

source code 
None

decodeUserID(bv, validate=False)

source code 
None

decodeAISversion(bv, validate=False)

source code 
None

decodeIMOnumber(bv, validate=False)

source code 
None

decodecallsign(bv, validate=False)

source code 
None

decodename(bv, validate=False)

source code 
None

decodeshipandcargo(bv, validate=False)

source code 
None

decodedimA(bv, validate=False)

source code 
None

decodedimB(bv, validate=False)

source code 
None

decodedimC(bv, validate=False)

source code 
None

decodedimD(bv, validate=False)

source code 
None

decodefixtype(bv, validate=False)

source code 
None

decodeETA(bv, validate=False)

source code 
None

decodedraught(bv, validate=False)

source code 
None

decodedestination(bv, validate=False)

source code 
None

decodedte(bv, validate=False)

source code 
None

decodeSpare(bv, validate=False)

source code 
None

printFields(params, out=sys.stdout, format='std')

source code 

Print a shipdata message to stdout.

Fields in params:
  • MessageID(uint): AIS message number. Must be 5 (field automatically set to "5")
  • RepeatIndicator(uint): Indicated how many times a message has been repeated
  • UserID(uint): Unique ship identification number (MMSI)
  • AISversion(uint): Compliant with what edition. 0 is the first edition.
  • IMOnumber(uint): vessel identification number (different than mmsi)
  • callsign(aisstr6): Ship radio call sign
  • name(aisstr6): Vessel name
  • shipandcargo(uint): what
  • dimA(uint): FIX: write a description
  • dimB(uint): FIX: write a description
  • dimC(uint): FIX: write a description
  • dimD(uint): FIX: write a description
  • fixtype(uint): Method used for positioning
  • ETA(uint): FIX: break this out
  • draught(udecimal): Maximum present static draught. 25.5 is 25.5 m or greater
  • destination(aisstr6): Where is the vessel going
  • dte(uint): Data terminal ready
  • Spare(uint): Reserved for definition by a regional authority. (field automatically set to "0")
Parameters:
  • params - Dictionary of field names/values.
  • out - File like object to write to
Returns: stdout
text to out

testParams()

source code 
Return a params file base on the testvalue tags.
Returns: dict
params based on testvalue tags

Variables Details [hide private]

__date__

Date of last svn commit
Value:
'2006-12-20'                                                           
      

TrueBV

Why always rebuild the True bit? This should speed things up a bunch
Value:
<BitVector.BitVector object at 0x2066f90>                              
      

FalseBV

Why always rebuild the False bit? This should speed things up a bunch
Value:
<BitVector.BitVector object at 0x206e030>                              
      

typeChoices

None
Value:
'binary', 'nmeapayload', 'nmea'                                        
      

msgDict

None
Value:
{'MessageID': '5', 'RepeatIndicator': options.RepeatIndicatorField, 'U
serID': options.UserIDField, 'AISversion': options.AISversionField, 'I
MOnumber': options.IMOnumberField, 'callsign': options.callsignField, 
'name': options.nameField, 'shipandcargo': options.shipandcargoField, 
'dimA': options.dimAField, 'dimB': options.dimBField, 'dimC': options.
dimCField, 'dimD': options.dimDField, 'fixtype': options.fixtypeField,
 'ETA': options.ETAField, 'draught': options.draughtField, 'destinatio
n': options.destinationField, 'dte': options.dteField, 'Spare': '0',}  
      

bitLen

None
Value:
len(bits)                                                              
      

bits

None
Value:
bits+ BitVector(size= (6-(bitLen % 6)))