| Automatic probing of hand-held model

### ticalcs_probe_calc_2

static int ticalcs_probe_calc_2(CalcHandle* handle, CalcModel* model)

This function tries and detect the calculator type for non-silent models by requesting a screedump and analyzing the Machine ID. It supposes your calc is on and plugged.

handle : | a previously allocated handle
type : | the calculator model
Return value : | 08 6D 00 00 PC request a screen dump TI: MId 56 00 00 TI reply OK Beware: the call sequence is very important: 86, 85, 73, 83, 82 !!! Return value: 0 if successful, an error code otherwise.

### ticalcs_probe_calc_1

static int ticalcs_probe_calc_1(CalcHandle* handle, CalcModel* model)

Check if the calculator is ready and detect the type. Works only on FLASH calculators with an AMS2.08 or OS2.00 by requesting the version. A previous version was based on MID but TI83+/84+, TI89/TI89t, TI92+/V200 could not be distinguished ;-(

handle : | a previously allocated handle
type : | the calculator model
Return value : | 0 if successful, an error code otherwise.

### ticalcs_probe_calc

int TICALL ticalcs_probe_calc(CableHandle* cable, CalcModel* model)

This function attempts to detect the calculator model plugged onto the cable. It works in a heuristic fashion.

cable : | a valid (=opened/attached) link cable handle
model : | the calculator model which have been detected
Return value : | 0 if successful, an error code otherwise.

### ticalcs_probe_usb_calc

int TICALL ticalcs_probe_usb_calc(CableHandle* cable, CalcModel* model)

This function attempts to detect the calculator model plugged onto the cable. It works in a heuristic fashion and with FLASH hand-helds only.

cable : | a valid (=opened/attached) link cable handle
model : | the calculator model which have been detected
Return value : | 0 if successful, an error code otherwise.

### ticalcs_probe

int TICALL ticalcs_probe(CableModel c_model, CablePort c_port, CalcModel* model, int all)

This function attempts to detect the calculator model plugged onto a given link cable model/port. It works in a heuristic fashion. This function handles device opening/closing for you.

c_model : | link cable model
c_port : | link cable port
model : | hand-held model detected/found [out]
all : | which hand-helds to detect (FLASH only or all)
Return value : | 0 if successful, an error code otherwise.

### ticalcs_device_info_to_model

{

Converts a cable device info to a CalcModel, if possible.

info : | pointer to device info
Return value : | != CALC_NONE if a precise calculator model can be determined through the cable+device info, CALC_NONE if invalid argument or SilverLink cable.

### ticalcs_remap_model_from_usb

CalcModel TICALL ticalcs_remap_model_from_usb(CableModel cable, CalcModel calc)

This function remaps a CALC_*_USB model to the corresponding CALC_* model, if said CALC_* model exists and the selected cable is USB.

cable : | a cable model model taken in #CableModel.
cable : | a calc model model taken in #CalcModel.
Return value : | the new calculator model, which can be the same as the passed one.

### ticalcs_remap_model_from_usb

CalcModel TICALL ticalcs_remap_model_to_usb(CableModel cable, CalcModel calc)

This function remaps a CALC_* model to the corresponding CALC_*_USB model, if said CALC_*_USB model exists and the selected cable is USB.

cable : | a cable model model taken in #CableModel.
cable : | a calc model model taken in #CalcModel.
Return value : | the new calculator model, which can be the same as the passed one.

### Return to the main index