def upgrade_fw(hex_file_name, skip_goto, device_name):
    ih = intelhex.IntelHex()
    ih.fromfile(hex_file_name, "hex")

    if not skip_goto:
        goto_bootloader(device_name)
        sleep(6)

    log_level = 1
    if device_name == "auto":
        devices = auto()
        if len(devices) == 0:
            print("Failed to find COM port matching known vid and pids")
            return 1
        device_name = devices[0]
    bootloader = Bootloader(device_name, log_level)

    print(bootloader.get_bootloader_info())

    flash_offset = 0x400000
    blob = ih.tobinarray(start=flash_offset)
    page_size = 512
    pages = len(blob) / page_size
    if (len(blob) % page_size) > 0:
        pages += 1

    for page in range(0, int(pages)):
        if page == 0 or page > 127:
            address = flash_offset + page * page_size
            bootloader.write_page(page,
                                  ih.tobinarray(start=address, size=page_size))

    sleep(1)
    bootloader.start_application(12)
    print("done")
def main():
    parser = ArgumentParser()

    parser.add_argument(
        "-d",
        "--device",
        dest="device_name",
        help=
        "Optional, program can dectect serial port automatically, if not work, using this option to set seral port name used by target XeThru sensor manually, i.e com8, /dev/ttyACM0",
        metavar="FILE")

    parser.add_argument(
        "-m",
        "--mode",
        type=str,
        default='0x1A',
        dest="mode_code",
        help=
        "Input test mode: 0x1A: Enalbe Certification Mode, 0x1D: Tx Only, 0x1E: TX Digital Only, 0x1F: Stream TX Off,  0x1B: Disable Certification Mode.",
        metavar="0xXX")
    args = parser.parse_args()

    if args.device_name:
        device_name = args.device_name
    else:
        try:
            device_name = auto()[0]
        except:
            print("Fail to find serial port, please specify it by use -d!")
            raise

    set_certification_mode(device_name, mode_code=int(args.mode_code, 0))
def main():
    parser = ArgumentParser()
    parser.add_argument("-d",
                        "--device",
                        dest="device_name",
                        help="device file to use",
                        metavar="FILE")
    parser.add_argument("-b",
                        "--baseband",
                        action="store_true",
                        default=True,
                        dest="baseband",
                        help="Enable baseband output")
    parser.add_argument("-rf",
                        "--radiofrequency",
                        action="store_false",
                        dest="baseband",
                        help="Enable rf output")
    parser.add_argument("-n",
                        "--framesnumber",
                        metavar="NUMBER",
                        type=int,
                        default=20,
                        dest="frames_number",
                        help="Decide how mange frames shown on plotting")
    parser.add_argument("-r",
                        "--record",
                        action="store_true",
                        default=False,
                        dest="record",
                        help="Enable recording")
    parser.add_argument("-f",
                        "--file",
                        dest="meta_filename",
                        metavar="FILE",
                        help="meta file from recording")

    args = parser.parse_args()

    if not args.meta_filename:
        if args.device_name:
            device_name = args.device_name
        else:
            try:
                device_name = auto()[0]
            except:
                print("Fail to find serial port, please specify it by use -d!")
                raise
        print_module_info(device_name)
        xep = configure_x4(device_name, args.record, args.baseband,
                           x4_par_settings)
    else:
        player = start_player(meta_filename=args.meta_filename)
        mc = ModuleConnector(player, log_level=0)
        xep = mc.get_xep()

    plot_radar_raw_data_message(xep,
                                baseband=args.baseband,
                                frames_number=args.frames_number)
示例#4
0
def main():
    parser = ArgumentParser()
    parser.add_argument("-d",
                        "--device",
                        dest="device_name",
                        help="device file to use, example: python %s -d COM4" %
                        sys.argv[0],
                        metavar="FILE")
    parser.add_argument("-r",
                        "--record",
                        action="store_true",
                        default=False,
                        dest="record",
                        help="Enable recording")
    parser.add_argument("-w",
                        "--datatype",
                        dest="datatype",
                        default="pulsedoppler",
                        help="Data to get. pulsedoppler or noisemap",
                        metavar="TYPE")

    parser.add_argument("-f",
                        "--format",
                        dest="format",
                        default="byte",
                        help="Data format to get. byte or float",
                        metavar="FORMAT")

    parser.add_argument("-m",
                        "--dopplers",
                        dest="dopplers",
                        default="both",
                        help="Which pD instance to get. fast, slow or both.",
                        metavar="FORMAT")

    parser.add_argument("-n",
                        "--num-messages",
                        dest="num_messages",
                        type=int,
                        default=0,
                        help="how many matrices to read (0 = infinite)",
                        metavar="INT")

    args = parser.parse_args()

    if args.device_name:
        device_name = args.device_name
    else:
        try:
            device_name = auto()[0]
        except:
            print("Fail to find serial port, please specify it by use -d!")
            raise
    xt_sensor = configure_sensor_dp_output(device_name, args.record,
                                           args.datatype, args.format,
                                           args.dopplers, args.num_messages)
    print_dp_messages(xt_sensor, args.datatype, args.format, args.num_messages)
示例#5
0
def main():
    module = auto('x4')
    mc = ModuleConnector(module[0])
    xep = mc.get_xep()
    regmap = X4(xep)
    # Use regmap object to access registers, for example to set tx_power
    print("Setting TX power to 1")
    regmap.tx_power = 1
    print("TX power is now %d" % regmap.tx_power)
    # In an interactive session use tab-completion to get a list of
    # available registers
    return 0
def main():
    parser = OptionParser()
    parser.add_option(
        "-d",
        "--device",
        dest="device_name",
        help="device file to use",
        metavar="FILE")
    parser.add_option(
        "-b",
        "--baseband",
        action="store_true",
        default=False,
        dest="baseband",
        help="Enable baseband output, rf data is default")
    parser.add_option(
        "-r",
        "--record",
        action="store_true",
        default=False,
        dest="record",
        help="Enable recording")
    parser.add_option(
        "-f",
        "--file",
        dest="meta_filename",
        metavar="FILE",
        help="meta file from recording")

    (options, args) = parser.parse_args()

    if not options.meta_filename:
        if options.device_name:
            device_name = options.device_name
        else:
            try:
                device_name = auto()[0]
            except:
                print("Fail to find serial port, please specify it by use -d!")
                raise
        print_module_info(device_name)
        xep = configure_x4(device_name,
                           options.record, options.baseband, x4_par_settings)
    else:
        player = start_player(meta_filename=options.meta_filename)
        mc = ModuleConnector(player, log_level=0)
        xep = mc.get_xep()

    plot_radar_raw_data_message(xep, baseband=options.baseband)
def display_information(device_name):
    print("trying to read information from module")
    log_level = 1
    if device_name == "auto":
        devices = auto()
        if len(devices) == 0:
            print("Failed to find COM port matching known vid and pids")
            return 1
        device_name = devices[0]
    mc = ModuleConnector(device_name, log_level)
    xep = mc.get_xep()
    sleep(1)  # Allow for MC to read waiting messages from module.
    print(xep.get_system_info(XTID_SSIC_FIRMWAREID))
    print(xep.get_system_info(XTID_SSIC_VERSION))
    print(xep.get_system_info(XTID_SSIC_BUILD))
    mc.close()
示例#8
0
def main():
    parser = ArgumentParser()
    parser.add_argument("-d",
                        "--device",
                        dest="device_name",
                        help="device file to use",
                        metavar="FILE")
    parser.add_argument(
        "-t",
        "--data_type",
        dest="data_type",
        default="iq",
        help="Data to get. iq or ap",  # only one option can be choose
        metavar="TYPE")
    parser.add_argument("-r",
                        "--record",
                        action="store_true",
                        default=False,
                        dest="record",
                        help="Enable recording")
    parser.add_argument("-f",
                        "--file",
                        dest="meta_filename",
                        metavar="FILE",
                        help="meta file from recording")

    args = parser.parse_args()

    if not args.meta_filename:
        if args.device_name:
            device_name = args.device_name
        else:
            try:
                device_name = auto()[0]
            except:
                print("Fail to find serial port, please specify it by use -d!")
                raise

        xt_sensor = configure_sensor_bb_output(device_name, args.record,
                                               args.data_type)

    else:
        player = start_player(meta_filename=args.meta_filename)
        mc = ModuleConnector(player, log_level=0)
        xt_sensor = mc.get_x4m200()
    plot_sensor_bb_message(xt_sensor, args.data_type)
def goto_bootloader(device_name):
    if device_name == "auto":
        devices = auto()
        if len(devices) == 0:
            print("Failed to find COM port matching known vid and pids")
            return 1
        device_name = devices[0]

    log_level = 1
    mc = ModuleConnector(device_name, log_level)
    x4m300 = mc.get_x4m300()
    sleep(1)  # Allow for MC to read waiting messages from module.
    try:
        # if this fails it will throw
        x4m300.start_bootloader()
    except:
        print("Could not go to bootloader, may be there already.")
    mc.close()
示例#10
0
def main():
    parser = OptionParser()
    parser.add_option(
        "-d",
        "--device",
        dest="device_name",
        help="Seral port name used by target XeThru sensor, i.e com8, /dev/ttyACM0",
        metavar="FILE")
    parser.add_option(
        "-r",
        "--record",
        action="store_true",
        default=False,
        dest="record",
        help="Enable recording")
    parser.add_option(
        "-f",
        "--file",
        dest="meta_filename",
        metavar="FILE",
        help="meta file from recording")

    (options, args) = parser.parse_args()

    if not options.meta_filename:
        if options.device_name:
            device_name = options.device_name
        else:
            try:
                device_name = auto()[0]
            except:
                print("Fail to find serial port, please specify it by use -d!")
                raise
        print_module_info(device_name)
        x4m200 = configure_x4m200(
            device_name, options.record, x4m200_par_settings)

    else:
        player = start_player(meta_filename=options.meta_filename)
        mc = ModuleConnector(player, log_level=0)
        x4m200 = mc.get_x4m200()
    print_x4m200_messages(x4m200)
def main():
    parser = OptionParser()
    parser.add_option(
        "-d",
        "--device",
        dest="device_name",
        help=
        "Seral port name used by target XeThru sensor, i.e com8, /dev/ttyACM0",
        metavar="FILE")

    (options, args) = parser.parse_args()
    if options.device_name:
        device_name = options.device_name
    else:
        try:
            device_name = auto()[0]
        except:
            print("Fail to find serial port, please specify it by use -d!")
            raise

    print_module_info(device_name)
    """ 
def main():
    parser = OptionParser()
    parser.add_option(
        "-d",
        "--device",
        dest="device_name",
        help="Seral port name used by target XeThru sensor, i.e com8, /dev/ttyACM0",
        metavar="FILE")
    parser.add_option(
        "-r",
        "--record",
        action="store_true",
        default=False,
        dest="record",
        help="Enable recording")
    parser.add_option(
        "-f",
        "--file",
        dest="meta_filename",
        metavar="FILE",
        help="meta file from recording")

    (options, args) = parser.parse_args()

    if not options.meta_filename:
        if options.device_name:
            device_name = options.device_name
        else:
            try:
                device_name = auto()[0]
            except:
                print("Fail to find serial port, please specify it by use -d!")
                raise
        mc = ModuleConnector(device_name)
        start_record(mc)
    else:
        start_player(meta_filename=options.meta_filename)
示例#13
0
def main():
    parser = OptionParser()
    parser.add_option("-d",
                      "--device",
                      dest="device_name",
                      help="device file to use",
                      metavar="FILE")
    parser.add_option("-r",
                      "--record",
                      action="store_true",
                      default=False,
                      dest="record",
                      help="Enable recording")

    (options, args) = parser.parse_args()
    if options.device_name:
        device_name = options.device_name
    else:
        try:
            device_name = auto()[0]
        except:
            print("Fail to find serial port, please specify it by use -d!")
            raise
    plot_record_movinglist_messages(device_name, options.record)
# xt_modules_print_info.py should be in the same folder


"""

from __future__ import print_function, division

import matplotlib.pyplot as plt
from matplotlib import mlab
import numpy as np

import pymoduleconnector
from pymoduleconnector.extras.auto import auto
from scipy import interpolate

device_name = auto()[0]
# print_module_info(device_name)
mc = pymoduleconnector.ModuleConnector(device_name)

# Assume an X4M300/X4M200 module and try to enter XEP mode
app = mc.get_x4m300()
# Stop running application and set module in manual mode.
try:
    app.set_sensor_mode(0x13, 0)  # Make sure no profile is running.
except RuntimeError:
    # Profile not running, OK
    pass

try:
    app.set_sensor_mode(0x12, 0)  # Manual mode.
except RuntimeError: