Esempio n. 1
0
def decode_msg_23(bit_arr: bitarray.bitarray) -> typing.Dict:
    """
    Group Assignment Command
    Src: https://gpsd.gitlab.io/gpsd/AIVDM.html#_type_23_group_assignment_command
    """
    get_int_from_data = partial(get_int, bit_arr)
    return {
        'type': get_int_from_data(0, 6),
        'repeat': get_int_from_data(8, 8),
        'mmsi': get_int_from_data(8, 38),
        'ne_lon': get_int_from_data(40, 58, signed=True) * 0.1,
        'ne_lat': get_int_from_data(58, 75, signed=True) * 0.1,
        'sw_lon': get_int_from_data(75, 93, signed=True) * 0.1,
        'sw_lat': get_int_from_data(93, 110, signed=True) * 0.1,
        'station_type': StationType(get_int_from_data(110, 114)),
        'ship_type': ShipType(get_int_from_data(114, 122)),
        'txrx': TransmitMode(get_int_from_data(144, 146)),
        'interval': StationIntervals(get_int_from_data(146, 150)),
        'quiet': get_int_from_data(150, 154),
    }
Esempio n. 2
0
 def test_t_mode(self):
     self.assertEqual(TransmitMode(0), TransmitMode.TXA_TXB_RXA_RXB)
     self.assertEqual(TransmitMode(10), TransmitMode.TXA_TXB_RXA_RXB)