1. Introduction

1.1 What's TiLP

TiLP is a linking program; it allows you to connect your TI graphing calculator to a computer/workstation and transfers data between them. TiLP is free software and licensed under GPL (GNU Public License).

TiLP can run on several platforms:

TiLP supports all common physical link cables:

TiLP also supports the following virtual links (internal connections with an emulator):

TiLP supports all calculators:

This documentation covers using TiLP on all available platforms. Topics which are specific to a particular operating system are enclosed within brackets ( "[" and "]" ).

1.2 Features and limitations

Features :
Limitations :

1.3 System requirements

In order to run TiLP, your computer must meet one of the following sets of requirements, depending on your operating system:

Linux:

Windows:

Mac OS-X:

FreeBSD:

All systems must have an available port that will support your cable (see section 3 below).

1.4 Installation

Linux:

Windows:

1.5 Configuration / Setting-up (Linux)

A burning issue with TiLP and Linux is good set-up of device access. Linux is secure because it heavily relies on permissions.
You should always run TiLP as root for the first run. By this way, you will be almost sure to run TiLP with success.

If you want to run TiLP as a simple user, you must take care of permissions. This is explained below.

For BlackLink or home-made serial cable, the node is '/dev/ttySx". You must have r/w permissions on this device. This can be done by:
- giving up r/w permissions to other (chmod ugo+rw /dev/ttyS0) or, better,
- adding your user to the group 'dialout' (edit /etc/group and your username after the ':').

Example 1:
    crw-rw-rw-  1 root dialout 4, 64 2006-02-08 13:40 /dev/ttyS0
Example 2:
    dialout:x:20:romain


For parallel link cable, the node is '/dev/parportX' and the same rules apply.

For SilverLink cable, things are more complicated...

libusb uses a pseudo-filesystem known as 'usbdevfs` or 'usbfs` to access the USB devices connected to your machine. This filesystem must be mounted
under /proc/bus/usb for libusb to work.

It could be done using the following command:
        mount -t usbfs none /proc/bus/usb

An alternative and more permanent method would be to add
        none /proc/bus/usb usbfs defaults 0 0
to your /etc/fstab file. It will mount the usbfs for you automatically at boot time ; only root will be able to access the USB devices with this setup.

Several mount options are available, that allow you to set the permissions on the files created under /proc/bus/usb so that non-root users can use libusb applications:
 - devuid=xxx, devgid=xxx, devmode=xxx respectively set the uid, the gid and the mode of the devices files, ie /proc/bus/usb/BBB/DDD
 - busuid=xxx, busgid=xxx, devmode=xxx respectively set the uid, the gid and the mode of the bus files, ie /proc/bus/usb/BBB
 - listuid=xxx, listgid=xxx, listmode=xxx respectively set the uid, the gid and the mode of /proc/bus/usb/devices

 -- Aurelien Jarno <aurel32@debian.org>, Sun, 21 Mar 2004 01:01:44 +0100