How to use the odrive.serial_transport.SerialStreamTransport function in odrive

To help you get started, we’ve selected a few odrive examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github madcowswe / ODrive / tools / odrive / tests.py View on Github external
def run_test(self, odrv_ctx: ODriveTestContext, logger):
        import odrive.serial_transport
        port = odrive.serial_transport.SerialStreamTransport(odrv_ctx.yaml['uart'], 115200)

        # send garbage to throw the device off track
        port.process_bytes(b"garbage\r\n\r\0trash\n")
        port.process_bytes(b"\n") # start a new clean line
        get_lines(port) # flush RX buffer

        # info command without checksum
        port.process_bytes(b"i\n")
        # check if it reports the serial number (among other things)
        lines = get_lines(port)
        expected_line = ('Serial number: ' + odrv_ctx.yaml['serial-number']).encode('ascii')
        if not expected_line in lines:
            raise Exception("expected {} in ASCII protocol response but got {}".format(expected_line, str(lines)))

        # info command with checksum
        port.process_bytes(gcode_append_checksum(b"i") + b" ; a useless comment\n")
github madcowswe / ODrive / tools / odrive / core.py View on Github external
def channel_from_serial_port(port, baud, packet_based, printer=noprint):
    """
    Inits an ODrive Protocol channel from a serial port name and baudrate.
    """
    if packet_based == True:
        # TODO: implement packet based transport over serial
        raise NotImplementedError("not supported yet")
    serial_device = odrive.serial_transport.SerialStreamTransport(port, baud)
    input_stream = odrive.protocol.PacketFromStreamConverter(serial_device)
    output_stream = odrive.protocol.PacketToStreamConverter(serial_device)
    return odrive.protocol.Channel(
            "serial port {}@{}".format(port, baud),
            input_stream, output_stream)