5. Adding a GUI with Tcl/Tk

Tcl/Tk is the most convenient way to create GUIs that will work on both Windows and Linux. Even if you only use one system, you will benefit from the fact that Tcl/Tk is quite easy to learn and used by a lot of people. The particular mix of Tcl/Tk and C that we recommend here was the best solution we found; if you know of other ways to do it, let us know!

Now, take a look at ssc-tester.tcl. This program is very simple: it contains a loop that runs 16 times to create sixteen sliders, one for each of the servos that can be controlled by the servo controller. The critical command is

    scale .servo$i.scale -width 20 -length 200 -orient vertical
      -from 500 -to 5500 -command "stepTo 0 $i " -showvalue 0

This creates a slider with values from 500 to 5500, so that whenever you adjust the slider, the command

stepTo 0 slider position

will be run, with slider and position replaced by the slider number and position. This command is defined in ssctester.c by the line

  Tcl_CreateObjCommand(interp, "stepTo", &stepToProc, NULL, NULL);

The arguments are interpreted by the C function stepToProc and passed on to stepTo in ssc.c, where they are translated into commands to be sent to the serial port. When modifying the program for your own purposes, you will need to find the documentation for both commands in the Tcl/Tk language and special C functions used for interacting with Tcl. The Tcl/Tk manual will probably be your most useful reference.

New Products

JST PH-Style Cable, 2-Pin, Female-Female, 25cm
QTR-MD-01A-S Reflectance Sensor: 1-Channel, 8mm Wide, Analog Output, Side-Entry Connector
ACS37041KLHBLT-010B5 Current Sensor Micro Carrier -10A to +10A, 5V
Isolated DC-DC Power Module, MIE1W0505BGLVH, 5V/3.3V, 200mA
Pololu Basic 2-Channel SPDT Relay Carrier with 12VDC Relays, Terminal Blocks, and JST SH-Style Top-Entry Connector
JST PH-Style Cable with Female Pins for 0.1" Housings, 2-Pin, 12cm
Magnetic Encoder Pair Kit with Side-Entry Connector for 20D mm Metal Gearmotors, 20 CPR, 2.7-18V
QTRXL-MD-01RC-S Reflectance Sensor: 1-Channel, 8mm Wide, RC Output, Long Range, Side-Entry Connector
ACS37042KLHBLT-010B5 Current Sensor Micro Carrier -10A to +10A, 5V
Pololu RC Switch with Isolated Solid State Relay/Switch, SPST, 60V, 6A (Soldered Connectors)
Log In
Pololu Robotics & Electronics
Shopping cart
(702) 262-6648
Same-day shipping, worldwide
Menu
Shop Blog Forum Support
My account Comments or questions? About Pololu Contact Ordering information Distributors