Example #1
0
def set_nmea_intervals(ser, args, test):
    """Set message intervals."""
    interval_format = ''.join((
        '!',  # network format (big-endian)
        'B',  # message id, 8 = set NMEA intervals
        'B',  # GGA interval
        'B',  # GSA interval
        'B',  # GSV interval
        'B',  # GLL interval
        'B',  # RMC interval
        'B',  # VTG interval
        'B',  # ZDA interval
        'B',  # save to Flash, 0 = no, 1 = yes
    ))
    ser.write(
        format_message(
            struct.pack(
                interval_format,
                8,
                args.gga,
                args.gsa,
                args.gsv,
                args.gll,
                args.rmc,
                args.vtg,
                args.zda,
                0 if test else 1
            )
        )
    )
Example #2
0
def reset(ser):
    """Reset to factory defaults."""
    reset_format = ''.join((
        '!',  # network format (big-endian)
        'B',  # message id, 4 = reset
        'B',  # type, 0 = reserved, 1 = reboot after resetting to default
    ))
    ser.write(format_message(struct.pack(reset_format, 4, 1)))
Example #3
0
def reset(ser):
    """Reset to factory defaults."""
    reset_format = ''.join((
        '!',  # network format (big-endian)
        'B',  # message id, 4 = reset
        'B',  # type, 0 = reserved, 1 = reboot after resetting to default
    ))
    ser.write(format_message(struct.pack(reset_format, 4, 1)))
Example #4
0
def set_binary_interval(ser, interval, test):
    """Set binary message interval."""
    interval_format = ''.join((
        '!',  # network format (big-endian)
        'B',  # message id, 11 = set binary intervals
        'B',  # binary interval
        'B',  # save to Flash, 0 = no, 1 = yes
    ))
    ser.write(
        format_message(
            struct.pack(interval_format, 11, interval, 0 if test else 1)))
    ser.flush()
Example #5
0
def set_update_rate(ser, rate, test):
    """Sets the message rate."""
    if rate not in (1, 2, 4, 5, 8, 10, 20, 25, 40, 50):
        raise ValueError('Invalid update rate')

    update_format = ''.join((
        '!',  # network format (big-endian)
        'B',  # message id, 0x0E = set update rate
        'B',  # rate
        'B',  # save to Flash, 0 = no, 1 = yes
    ))
    ser.write(
        format_message(struct.pack(update_format, 0x0E, rate,
                                   0 if test else 1)))
    ser.flush()
Example #6
0
def set_nmea_intervals(ser, args, test):
    """Set message intervals."""
    interval_format = ''.join((
        '!',  # network format (big-endian)
        'B',  # message id, 8 = set NMEA intervals
        'B',  # GGA interval
        'B',  # GSA interval
        'B',  # GSV interval
        'B',  # GLL interval
        'B',  # RMC interval
        'B',  # VTG interval
        'B',  # ZDA interval
        'B',  # save to Flash, 0 = no, 1 = yes
    ))
    ser.write(
        format_message(
            struct.pack(interval_format, 8, args.gga, args.gsa, args.gsv,
                        args.gll, args.rmc, args.vtg, args.zda,
                        0 if test else 1)))
Example #7
0
def set_binary_interval(ser, interval, test):
    """Set binary message interval."""
    interval_format = ''.join((
        '!',  # network format (big-endian)
        'B',  # message id, 11 = set binary intervals
        'B',  # binary interval
        'B',  # save to Flash, 0 = no, 1 = yes
    ))
    ser.write(
        format_message(
            struct.pack(
                interval_format,
                11,
                interval,
                0 if test else 1
            )
        )
    )
    ser.flush()
Example #8
0
def set_update_rate(ser, rate, test):
    """Sets the message rate."""
    if rate not in (1, 2, 4, 5, 8, 10, 20, 25, 40, 50):
        raise ValueError('Invalid update rate')

    update_format = ''.join((
        '!',  # network format (big-endian)
        'B',  # message id, 0x0E = set update rate
        'B',  # rate
        'B',  # save to Flash, 0 = no, 1 = yes
    ))
    ser.write(
        format_message(
            struct.pack(
                update_format,
                0x0E,
                rate,
                0 if test else 1
            )
        )
    )
    ser.flush()