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