UART Feedback

The embedded controller may be configured to periodically transmit state information to an external host. UART serial communications incur relatively slight overhead - by reference, transmitting serial packets is significantly less expensive than regularly updating the Luminary display. This system has a sub-kilohertz closed-loop mechanical bandwidth, so this communication penalty should be trivial. JTAG can provide real-time debugging of the processor with no overhead.

The C-code solution to the Tunneling Ball Device can periodically transmit debug messages containing planned and actual position, encoder pulse rate, output control signal, and system time. These messages can be interpreted in real-time by LabVIEW, or recorded and rendered offline by MATLAB.

UART Debugging on the Luminary

Serial messages can be transmitted via USB or Bluetooth. In the C-code solution, debugging is enabled by a preprocessor definition in "main.c"; refer to the source code for further documentation on how to switch UART debugging between USB and Bluetooth.

Both USB and Bluetooth communications require a virtual serial port on the destination computer. See Luminary Micro for the EKK-LM3S8962 Readme First document, which documents how to connect the Luminary UART0 port to a virtual serial port on your desktop via USB. The Luminary UART1 ports are connected to a BlurSMiRF Bluetooth serial emulator; see documentation below to create a virtual serial port on your computer to receive wireless updates from the device via UART1.

The initial C-code software is configured so that only one debug UART port is enabled at any time. It may be possible to use UART0 on the Luminary for both USB and Bluetooth feedback, but it was unclear at the initial design of this software, since the Bluetooth module when used in conjunction with USB resulted in erratic behavior.

Key Documentation

  • BlueSMiRF Gold modem
    • This is slightly different from v2.11 used by the device, but the command sequence is the same.