Fix bug with priority scheduling
parent
532316a9ec
commit
8b99d8ffa6
|
@ -56,8 +56,8 @@ class satellite:
|
||||||
self.mode = mode
|
self.mode = mode
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "%s %s %d %d %d %s" % (self.id, self.transmitter, self.success_rate, self.good_count,
|
return "%s %s %d %d %d %s %s" % (self.id, self.transmitter, self.success_rate, self.good_count,
|
||||||
self.data_count, self.name)
|
self.data_count, self.mode, self.name)
|
||||||
|
|
||||||
|
|
||||||
def _log_level_string_to_int(log_level_string):
|
def _log_level_string_to_int(log_level_string):
|
||||||
|
@ -280,7 +280,7 @@ def main():
|
||||||
passes = find_passes(satellites, observer, tmin, tmax, minimum_altitude, min_pass_duration)
|
passes = find_passes(satellites, observer, tmin, tmax, minimum_altitude, min_pass_duration)
|
||||||
|
|
||||||
priorities, favorite_transmitters = read_priorities_transmitters(priority_filename)
|
priorities, favorite_transmitters = read_priorities_transmitters(priority_filename)
|
||||||
|
|
||||||
# List of scheduled passes
|
# List of scheduled passes
|
||||||
scheduledpasses = get_scheduled_passes_from_network(ground_station_id, tmin, tmax)
|
scheduledpasses = get_scheduled_passes_from_network(ground_station_id, tmin, tmax)
|
||||||
logging.info("Found %d scheduled passes between %s and %s on ground station %d" %
|
logging.info("Found %d scheduled passes between %s and %s on ground station %d" %
|
||||||
|
@ -309,7 +309,7 @@ def main():
|
||||||
schedule_needed = False
|
schedule_needed = False
|
||||||
|
|
||||||
logging.info("GS | Sch | NORAD | Start time | End time | El | " +
|
logging.info("GS | Sch | NORAD | Start time | End time | El | " +
|
||||||
"Priority | Transmitter UUID | Satellite name ")
|
"Priority | Transmitter UUID | Mode | Satellite name ")
|
||||||
for satpass in sorted(scheduledpasses, key=lambda satpass: satpass['tr']):
|
for satpass in sorted(scheduledpasses, key=lambda satpass: satpass['tr']):
|
||||||
logging.info(
|
logging.info(
|
||||||
"%3d | %3.d | %05d | %s | %s | %3.0f | %4.6f | %s | %-10s | %s" %
|
"%3d | %3.d | %05d | %s | %s | %3.0f | %4.6f | %s | %-10s | %s" %
|
||||||
|
|
14
utils.py
14
utils.py
|
@ -309,14 +309,16 @@ def get_priority_passes(passes, priorities, favorite_transmitters, only_priority
|
||||||
priority = []
|
priority = []
|
||||||
normal = []
|
normal = []
|
||||||
for satpass in passes:
|
for satpass in passes:
|
||||||
# Get user defined priorities
|
# Is this satellite a priority satellite?
|
||||||
if satpass['id'] in priorities:
|
if satpass['id'] in priorities:
|
||||||
satpass['priority'] = priorities[satpass['id']]
|
# Is this transmitter a priority transmitter?
|
||||||
if satpass['id'] in favorite_transmitters:
|
if satpass['uuid'] == favorite_transmitters[satpass['id']]:
|
||||||
|
satpass['priority'] = priorities[satpass['id']]
|
||||||
satpass['uuid'] = favorite_transmitters[satpass['id']]
|
satpass['uuid'] = favorite_transmitters[satpass['id']]
|
||||||
# Add if priority is high enough
|
|
||||||
if satpass['priority'] >= min_priority:
|
# Add if priority is high enough
|
||||||
priority.append(satpass)
|
if satpass['priority'] >= min_priority:
|
||||||
|
priority.append(satpass)
|
||||||
elif only_priority:
|
elif only_priority:
|
||||||
# Find satellite transmitter with highest number of good observations
|
# Find satellite transmitter with highest number of good observations
|
||||||
max_good_count = max([s['good_count'] for s in passes if s["id"] == satpass["id"]])
|
max_good_count = max([s['good_count'] for s in passes if s["id"] == satpass["id"]])
|
||||||
|
|
Loading…
Reference in New Issue