Fix bug with priority scheduling

merge-requests/38/head
cgbsat 2019-07-14 12:31:46 +00:00
parent 532316a9ec
commit 8b99d8ffa6
2 changed files with 12 additions and 10 deletions

View File

@ -56,8 +56,8 @@ class satellite:
self.mode = mode
def __repr__(self):
return "%s %s %d %d %d %s" % (self.id, self.transmitter, self.success_rate, self.good_count,
self.data_count, self.name)
return "%s %s %d %d %d %s %s" % (self.id, self.transmitter, self.success_rate, self.good_count,
self.data_count, self.mode, self.name)
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)
priorities, favorite_transmitters = read_priorities_transmitters(priority_filename)
# List of scheduled passes
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" %
@ -309,7 +309,7 @@ def main():
schedule_needed = False
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']):
logging.info(
"%3d | %3.d | %05d | %s | %s | %3.0f | %4.6f | %s | %-10s | %s" %

View File

@ -309,14 +309,16 @@ def get_priority_passes(passes, priorities, favorite_transmitters, only_priority
priority = []
normal = []
for satpass in passes:
# Get user defined priorities
# Is this satellite a priority satellite?
if satpass['id'] in priorities:
satpass['priority'] = priorities[satpass['id']]
if satpass['id'] in favorite_transmitters:
# Is this transmitter a priority transmitter?
if satpass['uuid'] == favorite_transmitters[satpass['id']]:
satpass['priority'] = priorities[satpass['id']]
satpass['uuid'] = favorite_transmitters[satpass['id']]
# Add if priority is high enough
if satpass['priority'] >= min_priority:
priority.append(satpass)
# Add if priority is high enough
if satpass['priority'] >= min_priority:
priority.append(satpass)
elif only_priority:
# 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"]])