Ejemplo n.º 1
0
def main(host, port, uid_rs485, uid_master):
    ipcon = IPConnection()
    rs485 = BrickletRS485(uid_rs485, ipcon)
    master = BrickMaster(uid_master, ipcon)
    ipcon.connect(host, port)

    print('Baudrate before: ' + str(master.get_spitfp_baudrate('c')))
    master.set_spitfp_baudrate('c', 2000000)
    print('Baudrate after: ' + str(master.get_spitfp_baudrate('c')))
    print("")


if __name__ == "__main__":
    ipcon = IPConnection()  # Create IP connection
    master = BrickMaster(UID_MASTER, ipcon)  # Create device object
    ipcon.register_callback(IPConnection.CALLBACK_ENUMERATE, cb_enumerate)

    ipcon.connect(HOST, PORT)  # Connect to brickd
    # Don't use device before ipcon is connected

    ipcon.enumerate()
    time.sleep(0.5)
    rs485 = BrickletRS485(UID, ipcon)  # Create device object

    master.set_spitfp_baudrate('c', 2000000)

    fw = open(
        '/home/olaf/tf/rs485-bricklet/software/build/rs485-bricklet-with-checksum.bin',
        'rb').read()

    print "firmware length:", len(fw)
    print "bootloader mode:", rs485.get_bootloader_mode()

    print "set bootloader mode 0:", rs485.set_bootloader_mode(0)
    time.sleep(1)
    print "bootloader mode:", rs485.get_bootloader_mode()
    for i in range(len(fw) / 64):
        from_ptr = i * 64
        to_ptr = (i + 1) * 64
        print "write ptr:", from_ptr, to_ptr