The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Tinkerforge::BrickletThermocouple - Measures temperature with thermocouples

CONSTANTS

DEVICE_IDENTIFIER

This constant is used to identify a Thermocouple Bricklet.

The get_identity() subroutine and the CALLBACK_ENUMERATE callback of the IP Connection have a device_identifier parameter to specify the Brick's or Bricklet's type.

DEVICE_DISPLAY_NAME

This constant represents the display name of a Thermocouple Bricklet.

CALLBACK_TEMPERATURE

This constant is used with the register_callback() subroutine to specify the CALLBACK_TEMPERATURE callback.

CALLBACK_TEMPERATURE_REACHED

This constant is used with the register_callback() subroutine to specify the CALLBACK_TEMPERATURE_REACHED callback.

CALLBACK_ERROR_STATE

This constant is used with the register_callback() subroutine to specify the CALLBACK_ERROR_STATE callback.

FUNCTION_GET_TEMPERATURE

This constant is used with the get_response_expected(), set_response_expected() and set_response_expected_all() subroutines.

FUNCTION_SET_TEMPERATURE_CALLBACK_PERIOD

This constant is used with the get_response_expected(), set_response_expected() and set_response_expected_all() subroutines.

FUNCTION_GET_TEMPERATURE_CALLBACK_PERIOD

This constant is used with the get_response_expected(), set_response_expected() and set_response_expected_all() subroutines.

FUNCTION_SET_TEMPERATURE_CALLBACK_THRESHOLD

This constant is used with the get_response_expected(), set_response_expected() and set_response_expected_all() subroutines.

FUNCTION_GET_TEMPERATURE_CALLBACK_THRESHOLD

This constant is used with the get_response_expected(), set_response_expected() and set_response_expected_all() subroutines.

FUNCTION_SET_DEBOUNCE_PERIOD

This constant is used with the get_response_expected(), set_response_expected() and set_response_expected_all() subroutines.

FUNCTION_GET_DEBOUNCE_PERIOD

This constant is used with the get_response_expected(), set_response_expected() and set_response_expected_all() subroutines.

FUNCTION_SET_CONFIGURATION

This constant is used with the get_response_expected(), set_response_expected() and set_response_expected_all() subroutines.

FUNCTION_GET_CONFIGURATION

This constant is used with the get_response_expected(), set_response_expected() and set_response_expected_all() subroutines.

FUNCTION_GET_ERROR_STATE

This constant is used with the get_response_expected(), set_response_expected() and set_response_expected_all() subroutines.

FUNCTION_GET_IDENTITY

This constant is used with the get_response_expected(), set_response_expected() and set_response_expected_all() subroutines.

FUNCTIONS

new()

Creates an object with the unique device ID *uid* and adds it to the IP Connection *ipcon*.

get_temperature()

Returns the temperature of the thermocouple. The value is given in °C/100, e.g. a value of 4223 means that a temperature of 42.23 °C is measured.

If you want to get the temperature periodically, it is recommended to use the :cb:`Temperature` callback and set the period with :func:`Set Temperature Callback Period`.

set_temperature_callback_period()

Sets the period in ms with which the :cb:`Temperature` callback is triggered periodically. A value of 0 turns the callback off.

The :cb:`Temperature` callback is only triggered if the temperature has changed since the last triggering.

The default value is 0.

get_temperature_callback_period()

Returns the period as set by :func:`Set Temperature Callback Period`.

set_temperature_callback_threshold()

Sets the thresholds for the :cb:`Temperature Reached` callback.

The following options are possible:

.. csv-table:: :header: "Option", "Description" :widths: 10, 100

 "'x'",    "Callback is turned off"
 "'o'",    "Callback is triggered when the temperature is *outside* the min and max values"
 "'i'",    "Callback is triggered when the temperature is *inside* the min and max values"
 "'<'",    "Callback is triggered when the temperature is smaller than the min value (max is ignored)"
 "'>'",    "Callback is triggered when the temperature is greater than the min value (max is ignored)"

The default value is ('x', 0, 0).

get_temperature_callback_threshold()

Returns the threshold as set by :func:`Set Temperature Callback Threshold`.

set_debounce_period()

Sets the period in ms with which the threshold callback

* :cb:`Temperature Reached`

is triggered, if the threshold

* :func:`Set Temperature Callback Threshold`

keeps being reached.

The default value is 100.

get_debounce_period()

Returns the debounce period as set by :func:`Set Debounce Period`.

set_configuration()

You can configure averaging size, thermocouple type and frequency filtering.

Available averaging sizes are 1, 2, 4, 8 and 16 samples.

As thermocouple type you can use B, E, J, K, N, R, S and T. If you have a different thermocouple or a custom thermocouple you can also use G8 and G32. With these types the returned value will not be in °C/100, it will be calculated by the following formulas:

* G8: ``value = 8 * 1.6 * 2^17 * Vin`` * G32: ``value = 32 * 1.6 * 2^17 * Vin``

where Vin is the thermocouple input voltage.

The frequency filter can be either configured to 50Hz or to 60Hz. You should configure it according to your utility frequency.

The conversion time depends on the averaging and filter configuration, it can be calculated as follows:

* 60Hz: ``time = 82 + (samples - 1) * 16.67`` * 50Hz: ``time = 98 + (samples - 1) * 20``

The default configuration is 16 samples, K type and 50Hz.

get_configuration()

Returns the configuration as set by :func:`Set Configuration`.

get_error_state()

Returns the current error state. There are two possible errors:

* Over/Under Voltage and * Open Circuit.

Over/Under Voltage happens for voltages below 0V or above 3.3V. In this case it is very likely that your thermocouple is defective. An Open Circuit error indicates that there is no thermocouple connected.

You can use the :cb:`Error State` callback to automatically get triggered when the error state changes.

get_identity()

Returns the UID, the UID where the Bricklet is connected to, the position, the hardware and firmware version as well as the device identifier.

The position can be 'a', 'b', 'c' or 'd'.

The device identifier numbers can be found :ref:`here <device_identifier>`. |device_identifier_constant|