Пример #1
0
 def test_longitude_negative(self):
     self.assertEqual(util.longitude_to_ddm(-45), "04500.00W")
     self.assertEqual(util.longitude_to_ddm(-90), "09000.00W")
     self.assertEqual(util.longitude_to_ddm(-135), "13500.00W")
     self.assertEqual(util.longitude_to_ddm(-180), "18000.00W")
     self.assertEqual(util.longitude_to_ddm(-0.5), "00030.00W")
     self.assertEqual(util.longitude_to_ddm(-0.55), "00033.00W")
     self.assertEqual(util.longitude_to_ddm(-0.555), "00033.30W")
     self.assertEqual(util.longitude_to_ddm(-0.5555), "00033.33W")
     self.assertEqual(util.longitude_to_ddm(-0.9999), "00059.99W")
     self.assertEqual(util.longitude_to_ddm(-0.99999), "00060.00W")
Пример #2
0
 def test_longitude_negative(self):
     self.assertEqual(util.longitude_to_ddm(-45), "04500.00W")
     self.assertEqual(util.longitude_to_ddm(-90), "09000.00W")
     self.assertEqual(util.longitude_to_ddm(-135), "13500.00W")
     self.assertEqual(util.longitude_to_ddm(-180), "18000.00W")
     self.assertEqual(util.longitude_to_ddm(-0.5), "00030.00W")
     self.assertEqual(util.longitude_to_ddm(-0.55), "00033.00W")
     self.assertEqual(util.longitude_to_ddm(-0.555), "00033.30W")
     self.assertEqual(util.longitude_to_ddm(-0.5555), "00033.33W")
     self.assertEqual(util.longitude_to_ddm(-0.9999), "00059.99W")
     self.assertEqual(util.longitude_to_ddm(-0.99999), "00060.00W")
Пример #3
0
    def _serialize_body(self):

        if self.timestamp is None:
            timestamp = ''
        elif isinstance(self.timestamp, str):
            timestamp = self.timestamp
        else:
            timestamp = datetime.utcfromtimestamp(self.timestamp).strftime("%d%H%M") + 'z'

        body = [
            '/' if self.timestamp else '!',  # packet type
            timestamp,
            latitude_to_ddm(self.latitude),
            self.symbol_table,
            longitude_to_ddm(self.longitude),
            self.symbol,
            comment_altitude(self.altitude) if self.altitude is not None else '',
            self.comment,
        ]

        return "".join(body)
Пример #4
0
    def _serialize_body(self):

        if self.timestamp is None:
            timestamp = ''
        elif isinstance(self.timestamp, str):
            timestamp = self.timestamp
        else:
            timestamp = datetime.utcfromtimestamp(
                self.timestamp).strftime("%d%H%M") + 'z'

        body = [
            '/' if self.timestamp else '!',  # packet type
            timestamp,
            latitude_to_ddm(self.latitude),
            self.symbol_table,
            longitude_to_ddm(self.longitude),
            self.symbol,
            comment_altitude(self.altitude)
            if self.altitude is not None else '',
            self.comment,
        ]

        return "".join(body)
Пример #5
0
def SendAPRS(tempCall, tempLat, tempLong, tempPayLoad):
    if tetraprs_useaprs != "True":
        return ()
    # create floats
    tempLat = float(tempLat)
    tempLong = float(tempLong)
    tempSymbol = GetAPRSSymbol(tempCall, 'CALL')
    tempPayLoad = tempPayLoad + GetAPRSText(tempCall, 'CALL')
    if tempCall != None and tempLat != 0 and tempLong != 0:
        # get timestamp for APRS
        timestamp = datetime.utcfromtimestamp(
            time.time()).strftime("%d%H%M") + 'z'
        APRSString = tempCall + '>APRS,TCPIP*:@' + timestamp + latitude_to_ddm(
            tempLat) + tempSymbol[0] + longitude_to_ddm(
                tempLong) + tempSymbol[1] + tempPayLoad
        aprs_logger.info(APRSString)
        try:
            AIS.connect()
            AIS.sendall(APRSString)
            logger.debug('SendAPRS - APRS string sent - ' + APRSString)
            return ()
        except:
            logger.error('SendAPRS - Failed to send APRS string')
            return ()
Пример #6
0
                    float(mytx['antennaGainDbi']), direction)
    if active == '_':
        pgh = ''

    #put all variables in the correct order in a list
    body = [
        aprsissourcecallsign,
        '>APRS,TCPIP*:',
        ';',
        'PS-',
        callsign,
        active,
        timestamp,
        latitude_to_ddm(latitude),
        symbol_table,
        longitude_to_ddm(longitude),
        symbol,
        phg,
        comment,
        timeSlots,
        status,
    ]

    #create the complete message string out of all components
    data = "".join(body)

    #transmitters with status ERROR are ignored
    if mytx['status'] != "ERROR":
        try:
            AIS.sendall(data)
            #			print(data) #print the APRS message string to the console
Пример #7
0
 def test_longitude(self):
     self.assertEqual(util.longitude_to_ddm(0), "00000.00E")
     self.assertEqual(util.longitude_to_ddm(45), "04500.00E")
     self.assertEqual(util.longitude_to_ddm(90), "09000.00E")
     self.assertEqual(util.longitude_to_ddm(135), "13500.00E")
     self.assertEqual(util.longitude_to_ddm(180), "18000.00E")
     self.assertEqual(util.longitude_to_ddm(0.5), "00030.00E")
     self.assertEqual(util.longitude_to_ddm(0.55), "00033.00E")
     self.assertEqual(util.longitude_to_ddm(0.555), "00033.30E")
     self.assertEqual(util.longitude_to_ddm(0.5555), "00033.33E")
     self.assertEqual(util.longitude_to_ddm(0.9999), "00059.99E")
     self.assertEqual(util.longitude_to_ddm(0.99999), "00060.00E")
Пример #8
0
 def test_longitude(self):
     self.assertEqual(util.longitude_to_ddm(0), "00000.00E")
     self.assertEqual(util.longitude_to_ddm(45), "04500.00E")
     self.assertEqual(util.longitude_to_ddm(90), "09000.00E")
     self.assertEqual(util.longitude_to_ddm(135), "13500.00E")
     self.assertEqual(util.longitude_to_ddm(180), "18000.00E")
     self.assertEqual(util.longitude_to_ddm(0.5), "00030.00E")
     self.assertEqual(util.longitude_to_ddm(0.55), "00033.00E")
     self.assertEqual(util.longitude_to_ddm(0.555), "00033.30E")
     self.assertEqual(util.longitude_to_ddm(0.5555), "00033.33E")
     self.assertEqual(util.longitude_to_ddm(0.9999), "00059.99E")
     self.assertEqual(util.longitude_to_ddm(0.99999), "00060.00E")