2016-05-22 05:23:22 +00:00
|
|
|
from sqlalchemy import Column, String, Integer, Float, Boolean, SmallInteger, ForeignKey
|
|
|
|
from sqlalchemy.orm import relationship
|
2015-10-24 21:13:21 +00:00
|
|
|
|
2015-10-30 20:19:03 +00:00
|
|
|
from .beacon import Beacon
|
2015-10-24 21:13:21 +00:00
|
|
|
|
|
|
|
|
2015-11-11 17:43:39 +00:00
|
|
|
class AircraftBeacon(Beacon):
|
|
|
|
__tablename__ = "aircraft_beacon"
|
2015-10-24 21:13:21 +00:00
|
|
|
|
|
|
|
# Flarm specific data
|
|
|
|
address_type = Column(SmallInteger)
|
|
|
|
aircraft_type = Column(SmallInteger)
|
|
|
|
stealth = Column(Boolean)
|
2016-05-22 05:23:22 +00:00
|
|
|
address = Column(String(6))
|
2015-10-24 21:13:21 +00:00
|
|
|
climb_rate = Column(Float)
|
|
|
|
turn_rate = Column(Float)
|
|
|
|
signal_strength = Column(Float)
|
|
|
|
error_count = Column(Integer)
|
|
|
|
frequency_offset = Column(Float)
|
|
|
|
gps_status = Column(String)
|
|
|
|
|
2015-10-27 19:17:39 +00:00
|
|
|
software_version = Column(Float)
|
|
|
|
hardware_version = Column(SmallInteger)
|
2015-11-27 20:29:00 +00:00
|
|
|
real_address = Column(String(6))
|
2015-10-26 22:50:16 +00:00
|
|
|
|
2015-10-29 07:34:20 +00:00
|
|
|
flightlevel = Column(Float)
|
|
|
|
|
2016-05-22 05:23:22 +00:00
|
|
|
# Relations
|
|
|
|
receiver_id = Column(Integer, ForeignKey('receiver.id', ondelete='SET NULL'), index=True)
|
|
|
|
receiver = relationship('Receiver', foreign_keys=[receiver_id])
|
|
|
|
|
|
|
|
device_id = Column(Integer, ForeignKey('device.id', ondelete='SET NULL'), index=True)
|
|
|
|
device = relationship('Device', foreign_keys=[device_id])
|
|
|
|
|
2015-10-24 21:13:21 +00:00
|
|
|
def __repr__(self):
|
2015-11-15 18:31:58 +00:00
|
|
|
return "<AircraftBeacon %s: %s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s>" % (
|
|
|
|
self.name,
|
|
|
|
self.address_type,
|
|
|
|
self.aircraft_type,
|
|
|
|
self.timestamp,
|
|
|
|
self.address_type,
|
|
|
|
self.aircraft_type,
|
|
|
|
self.stealth,
|
|
|
|
self.address,
|
|
|
|
self.climb_rate,
|
|
|
|
self.turn_rate,
|
|
|
|
self.signal_strength,
|
|
|
|
self.error_count,
|
|
|
|
self.frequency_offset,
|
|
|
|
self.gps_status)
|