RoboTxTest.exe

Connecting to the fischertechnik ROBO TX Controller

There are two ways to connect the FT-32 contoller (part 500995) to your PC. The device supports telnet, so you can connect directly using terminal software.  However, mostly you will connect programmatically using library calls. Fischer provides a free utility, RoboTxTest.exe, which is a GUI interface for the library. It's a pretty useful tool for troubleshooting a newly assembled project.

The fischertechnik ROBO TX Controller

The controller runs the 4NetOS operating system on a 32-bit, 200 MHz ARM 9 processor, with 8 MB RAM, 2 MB flash. It requires a 9V DC. It can connect to the PC over USB or Bluetooth. The motors and sensors are plugged in with the familiar FT "mini banana plugs". The filesystem is displayed on a small LCD diplay and can be navigated with buttons, similar to the LEGO NXT brick. There is also port tantalizingly labeled "camera", but as of this writing no compatible camera has been made available.

Connecting to the ROBO TX Controller with a Terminal

To connect a PC to the brick over a USB cable or Bluetooth, you'll need a terminal program that can talk over a COM port. HyperTerminal works fine for this purpose, and it comes with Windows XP. However, it is not shipped with Windows 7. There are numerous alternative programs, but if you have access to an XP machine you can copy the binaries from there and in most cases it will run fine on the Win7 machine. This is a common hack. Search around for blogs on exactly which files you need to grab.

Once a USB or Bluetooth connection has been established, press ENTER and you should get a command prompt. You can manipulate the filesystem using DOS-like file commands like dir. Another useful command is help. For most applications, there is seldom reason to connect a terminal to session to the controller. It is a thoughtful feature though.

Stay away from the "erase_" commands.

Connecting to the ROBO TX Controller with RoboTxTest.exe

Fischer provides documentation for the controller. Download the .zip file from the FT website, located here. Inside it is a document, \PC_Programming_RoboTXC_V1-2_11_Dec_2009\PC_Programming_RoboTXC\Documentation\PC_Programmierung_RoboTXC.pdf

You might notice that this manual, "Programmierung des ROBO TX Controllers", is written in German. It's a helpful document if you can read it. This page is a (very) loose translation of chapter 4 of PC_Programmierung_RoboTXC.pdf, which describes the RoboTxTest utility. In case of discrepancy, of course the official doc is authoritative.

If you don't understand some of the German text in the .pdf, don't worry. It's just the internet. Squint. If you're knowledge of microcontrollers is at a level where the material in the other chapters is meaningful to you, you can probably figure out most of what you need it from the diagrams.

Installation

The Windows-based RoboTxTest.exe provides a simple means of of diagnosing and testing the functionality of the ROBO TX Controller. The communication between RoboTxTest and the controller is done using frMscLib.dll, the same library that's  used by the ROBOPro GUI. ROBOPro provides a subset of the same functionality in its Interface Test window. In particular, RoboTxTest implements a remote shell interface with the ROBO TX controller which is not available in ROBOPro.

A special installation for the diagnosis tool and library is not necessary if all files have been copied from the CD. The only requirement is that RoboTxTest.exe and ftMscLib.dll reside in the same directory (e.g. \RoboTxTest). RoboTxTest.exe is a .NET program and requires .NET Framework 2.0 or higher. (The DLL is not .NET.)

In case there is no .NET environment on the PC, a prompt dialog to install it will appear the first time RoboTxTest.exe is invoked. An internet connection is needed to complete this operation and continue.

Each time RoboTxTest.exe is run, an error log is created, ftlib.log. Any existing log file by the same name will be renamed to ftLib.bak.

Connecting to the ROBO TX Controller

With RoboTxTest.exe the user can open a connection to the ROBO TX controller over any COM port (the COM port number is unlimited), which in turn uses the corresponding Windows driver. The COM port is selected either with the Connection menu on the menu bar or by clicking on the lower textbox of the COM port description. Then a popup appears, prompting the user to choose a connection from among the available connections for each connection type. If the 'Fischertechnik Ports' filter is deselected, all available COM ports will be listed. The list of COM ports is filtered by the criteria and matching ports are displayed when the dropdown box is clicked.

After selecting a COM port and clicking [Use], the selected port will be opened and displayed on the main window. The [Close] button closes the connection.

Diagnostics and Tests with the ROBO TX Controller

After successfully connecting, the text field turns green. Relevant information about the controller is read from the device and displayed at the top of the page. Also, any of connected slave interfaces (extension boards) are shown on additional tabs. If there are no slaves connected, only the local interface (master) tab is shown.

Communication with the ROBO TX Controlller is started with the [Run TransferArea] button and the current values are displayed.

The following information about the state of the controller is shown on the 'Universal IO's / Counter' tab:

Universal input display: the displayed values are affected by the corresponding display modes. Voltage or resistance values for each input port are displayed individually. Binary values (1/0) can also be displayed. If a value goes past the operating range of an input port, "overrun" is displayed.

Counter input display: the current counter state for each of the 4 counter inputs (counters 1 through 4) is displayed. The counters can be reset by pressing the [Reset] button. This sends a corresponding Reset command is to the controller.

Selection button display: for the selection buttons on the ROBO TX controller, the duration that each has been depressed is displayed. The duration is displayed in milliseconds (ms).

The 'Display Message' option allows you to print text messages of up to 64 characters on the ROBO TX display. Edit the message in the textbox and click [Show Message]. The message is sent to the controller and printed on the display. Multiple messages can be sent, but only the most recent will be visible. By pressing the right selection button, the most recent message will be deleted. The [Clear Message] button deletes all messages on the controller.

Selecting the 'Motor/PWMs' tab reveals the following options:

The 4 motor or the 8 PWM output ports can be controlled from this screen. Either a single motor or a pair of of PWM ports can be controlled by independent slider bars.

Motor controls: for the 4 motors M1 to M4, the speed and direction of rotation and can be controlled by moving the slider bar left and right. The speed can be set in PWM steps from 0 to 512. The [Stop] command stops a motor immediately while maintaining the speed setting. The option "=0" stops the motor immediately and sets the speed to 0.

By changing the option from 'Motor' to 'Output', a configuration change will automatically sent to the interface which deactivates the motors, and both leads of a motor connection will be treated as independent outputs. The control of the corresponding PWM output ports of a motor now goes over separate slider bars in steps from 0 to 8. The slider bars for the motor of a group is then deactivated.

Motor synchronisation can be set up and tested with the following setting on the 'Motor Control' tab.

Next, you pick a master motor and optionally assign a slave motor to it. In the 'Duty' setting, the speed and direction of rotation are set. By setting the distance, the program will receive notification when the encoder motors reach their goal. The two counter inputs document the state of the counters during the synchronized run. These counters can be reset with the [Reset] button during a synchronized motor run. In that case the goal will be reached later. The button [Start Motor Control] starts an active motor synchronization, [Stop] pauses the synchronized run until it's resumed with [Start Moto Control]. Starting a synchronized run resets the counters. If the motors or motor reached their goal, they will stop right away. During a synchronized run, a progress meter shows the state of the active synchronization.

File Upload and Remote Shell

The [Remote] menu item opens up the following dialog:

The window is divided into a 'ROBO TX Controller Folder' area and a console output area (Remote Shell). On the left, the contents of the available drives '/ramdisk', '/flash' and '/system' are displayed in tree control. Drive contents can be seen by clicking on the "+" sign.

A file to be downloaded to the interface can selected on the [File] menu. The selected directory is saved in "robotest.ini" and will be used the next time the dialog is opened. After selecting a file, its details are shown in the console window. The [File Upload] menu item starts uploading the selected file to the selected location on the ROBO TX Controller. (Note the terminology - file upload seems to be a bug in the UI.) The target location can be on any of the available drives. Only the flash drive saves the the files persistently, so that they'll be available the next time the controller is powered up.

The [File Upload] menu item transfers the executables to the the target drive. After that, program can be started and stopped with the run and stop commands on the command line, or from the [Program] menu item.

Files can be deleted from the drives either with the del command or from the "Loeschen" (right mouse button) on the filename in the tree on the left. Files can also be renamed from the context menu. ("Umbennen" - this menu is not localized.)

With the [Clean disk] menu item, the contents of both /ramdisk and /flash can be fully deleted. The corresponding console commands clean_disk /ramdisk or clean_disk /flash have the same effect.

Command lines can be typed directly into the text field at the bottom of the dialog. The command output from the ROBO TX Controller is displayed in the output field above. The "?" command lists all available console commands. The [Clear] button deletes the content of the output field.

The console "remote panel" behaves exactly like a terminal program (such as HyperTerminal) connected directly to the ROBO TX Controller over a COM port. (The difference being, this program is making calls into ftMscLib.dll.)

Firmware Update

The [Firmware Update] menu item is used for updating the firmware, include language files. After selecting a folder that contains the firmware files, the following dialog pops up.

The [Update Firmware] button starts the update. A progress bar shows completion status during the update. The line below shows the current step being carried out as the update runs. Then there is a pause while the commands 'flush_disk flash' and 'flush_disk system' are carried out, which take awhile. After the firmware update completes successfully, the text box will display "Firmware Update finished..." The dialog can then be closed and the new firmware will be used by the ROBO TX controller after its power has been cycled.

 

Page last updated: