kopia lustrzana https://github.com/projecthorus/wenet
Further updates for better debugging and reliability (hopefully!)
rodzic
e404294075
commit
eb073db8ed
|
@ -97,6 +97,7 @@ class PacketTX(object):
|
||||||
|
|
||||||
if log_file != None:
|
if log_file != None:
|
||||||
self.log_file = open(log_file,'a')
|
self.log_file = open(log_file,'a')
|
||||||
|
print(f"Opened log file {log_file}")
|
||||||
self.log_file.write("Started Transmitting at %s\n" % datetime.datetime.utcnow().isoformat())
|
self.log_file.write("Started Transmitting at %s\n" % datetime.datetime.utcnow().isoformat())
|
||||||
else:
|
else:
|
||||||
self.log_file = None
|
self.log_file = None
|
||||||
|
@ -247,6 +248,7 @@ class PacketTX(object):
|
||||||
|
|
||||||
if self.log_file != None:
|
if self.log_file != None:
|
||||||
self.log_file.write(datetime.datetime.now().isoformat() + "," + log_string + "\n")
|
self.log_file.write(datetime.datetime.now().isoformat() + "," + log_string + "\n")
|
||||||
|
self.log_file.flush()
|
||||||
|
|
||||||
print(log_string)
|
print(log_string)
|
||||||
|
|
||||||
|
|
|
@ -269,9 +269,9 @@ class WenetPiCamera2(object):
|
||||||
|
|
||||||
# Resize image to the desired resolution.
|
# Resize image to the desired resolution.
|
||||||
self.debug_message("Resizing image.")
|
self.debug_message("Resizing image.")
|
||||||
return_code = os.system("convert %s -resize %dx%d\! picam_temp.jpg" % (filename, self.tx_resolution[0], self.tx_resolution[1]))
|
return_code = os.system("timeout -k 5 60 convert %s -resize %dx%d\! picam_temp.jpg" % (filename, self.tx_resolution[0], self.tx_resolution[1]))
|
||||||
if return_code != 0:
|
if return_code != 0:
|
||||||
self.debug_message("Resize operation failed!")
|
self.debug_message("Resize operation failed! (Possible kernel Oops? Maybe set arm_freq to 700 MHz)")
|
||||||
return "FAIL"
|
return "FAIL"
|
||||||
|
|
||||||
# Get non-extension part of filename.
|
# Get non-extension part of filename.
|
||||||
|
@ -448,7 +448,7 @@ class WenetPiCamera2(object):
|
||||||
return -1
|
return -1
|
||||||
|
|
||||||
|
|
||||||
# Basic transmission test script.
|
# Basic transmission test script. TODO - Fix this, this is all incorrect..
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import PacketTX
|
import PacketTX
|
||||||
import argparse
|
import argparse
|
||||||
|
@ -469,7 +469,7 @@ if __name__ == "__main__":
|
||||||
tx.start_tx()
|
tx.start_tx()
|
||||||
|
|
||||||
|
|
||||||
picam = WenetPiCam(src_resolution=(1920,1088),
|
picam = WenetPiCamera2(src_resolution=(1920,1088),
|
||||||
tx_resolution=(1920,1088),
|
tx_resolution=(1920,1088),
|
||||||
callsign=callsign,
|
callsign=callsign,
|
||||||
num_images=5,
|
num_images=5,
|
||||||
|
|
|
@ -21,7 +21,7 @@ from radio_wrappers import *
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument("callsign", default="N0CALL", help="Payload Callsign")
|
parser.add_argument("callsign", default="N0CALL", help="Payload Callsign")
|
||||||
parser.add_argument("--gps", default="/dev/ttyACM0", help="uBlox GPS Serial port. Defaults to /dev/ttyACM0")
|
parser.add_argument("--gps", default="none", help="uBlox GPS Serial port. Defaults to /dev/ttyACM0")
|
||||||
parser.add_argument("--logo", default="none", help="Optional logo to overlay on image.")
|
parser.add_argument("--logo", default="none", help="Optional logo to overlay on image.")
|
||||||
parser.add_argument("--rfm98w", default=0, type=int, help="If set, configure a RFM98W on this SPI device number.")
|
parser.add_argument("--rfm98w", default=0, type=int, help="If set, configure a RFM98W on this SPI device number.")
|
||||||
parser.add_argument("--frequency", default=443.500, type=float, help="Transmit Frequency (MHz). (Default: 443.500 MHz)")
|
parser.add_argument("--frequency", default=443.500, type=float, help="Transmit Frequency (MHz). (Default: 443.500 MHz)")
|
||||||
|
@ -175,7 +175,7 @@ def post_process_image(filename):
|
||||||
gps_string = ""
|
gps_string = ""
|
||||||
|
|
||||||
# Build up our imagemagick 'convert' command line
|
# Build up our imagemagick 'convert' command line
|
||||||
overlay_str = "convert %s -gamma 0.8 -font Helvetica -pointsize 40 -gravity North " % filename
|
overlay_str = "timeout -k 5 60 convert %s -gamma 0.8 -font Helvetica -pointsize 40 -gravity North " % filename
|
||||||
overlay_str += "-strokewidth 2 -stroke '#000C' -annotate +0+5 \"%s\" " % gps_string
|
overlay_str += "-strokewidth 2 -stroke '#000C' -annotate +0+5 \"%s\" " % gps_string
|
||||||
overlay_str += "-stroke none -fill white -annotate +0+5 \"%s\" " % gps_string
|
overlay_str += "-stroke none -fill white -annotate +0+5 \"%s\" " % gps_string
|
||||||
# Add on logo overlay argument if we have been given one.
|
# Add on logo overlay argument if we have been given one.
|
||||||
|
@ -185,7 +185,9 @@ def post_process_image(filename):
|
||||||
overlay_str += filename
|
overlay_str += filename
|
||||||
|
|
||||||
tx.transmit_text_message("Adding overlays to image.")
|
tx.transmit_text_message("Adding overlays to image.")
|
||||||
os.system(overlay_str)
|
return_code = os.system(overlay_str)
|
||||||
|
if return_code != 0:
|
||||||
|
tx.transmit_text_message("Image Overlay operation failed! (Possible kernel Oops? Maybe set arm_freq to 700 MHz)")
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
@ -1240,6 +1240,7 @@ if __name__ == "__main__":
|
||||||
parser.add_argument("--waitforlock", default=None, type=int, help="If set, exit after the GPS has obtained lock, or a timeout (in minutes) is reached.")
|
parser.add_argument("--waitforlock", default=None, type=int, help="If set, exit after the GPS has obtained lock, or a timeout (in minutes) is reached.")
|
||||||
parser.add_argument("--lockcount", default=60, type=int, help="If waitforlock is specified, wait until the GPS reports lock for this many sequential fixes. Default: 60")
|
parser.add_argument("--lockcount", default=60, type=int, help="If waitforlock is specified, wait until the GPS reports lock for this many sequential fixes. Default: 60")
|
||||||
parser.add_argument("--locksats", default=None, type=int, help="If waitforlock is specified, also wait until the GPS reports this many SVs used in its solution. Default: None")
|
parser.add_argument("--locksats", default=None, type=int, help="If waitforlock is specified, also wait until the GPS reports this many SVs used in its solution. Default: None")
|
||||||
|
parser.add_argument("--ntp", action='store_true', default=False, help="Push time updates into NTPDSHM.")
|
||||||
parser.add_argument("-v", "--verbose", action='store_true', default=False, help="Show additional debug info.")
|
parser.add_argument("-v", "--verbose", action='store_true', default=False, help="Show additional debug info.")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
@ -1288,7 +1289,7 @@ if __name__ == "__main__":
|
||||||
callback=gps_callback,
|
callback=gps_callback,
|
||||||
update_rate_ms=500,
|
update_rate_ms=500,
|
||||||
dynamic_model=DYNAMIC_MODEL_AIRBORNE1G,
|
dynamic_model=DYNAMIC_MODEL_AIRBORNE1G,
|
||||||
ntpd_update=False
|
ntpd_update=args.ntp
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
Ładowanie…
Reference in New Issue