Use tio to interact with Nexus MCU nexus_mcu.py fails when pexpect_serial is not installed in the venv. This can result in a nexus board that needs a hard reset. Use the tio command to send commands and print out serial messages. Bypass-Presubmit-Reason: tested manually Change-Id: I04e4173f50ae0f3ed07174d2d9b511a66517e351
diff --git a/platforms/nexus/setup.sh b/platforms/nexus/setup.sh index a075e7f..5a832f0 100644 --- a/platforms/nexus/setup.sh +++ b/platforms/nexus/setup.sh
@@ -130,6 +130,7 @@ export SMC_UART="/dev/Nexus-CP210-FPGA-UART-${NEXUS_ID}" export SC_UART="/dev/Nexus-FTDI-${NEXUS_ID}-FPGA-UART" + export MCU_UART="/dev/Nexus-FTDI-${NEXUS_ID}-MCU-UART" } function opentitantool @@ -250,8 +251,11 @@ return 1 fi + echo "Clearing MCU UART input buffer..." + echo -e '\r' | tio ${MCU_UART} --script "expect('Unrecognized command: \r', 1000)" --mute echo "Sending nexus-${NEXUS_ID} MCU the command: $@" - nexus_mcu.py --nexus_id=${NEXUS_ID} "$@" + echo -ne "$@\r" | tio ${MCU_UART} --script "expect('> ', 1000)" --mute + echo } function nexus_load_bitstream