Microfire LLC Mod-NTC Raspberry Pi Library

Microfire LLC Mod-NTC Raspberry Pi Library

Release Information

Copyright © 2023 Microfire LLC

This documentation is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND).

Release History

Release

Date

Description

1.0.0

5/1/2023

Initial

Legal Disclaimer

TECHNICAL AND RELIABILITY DATA FOR MICROFIRE LLC PRODUCTS (INCLUDING DATASHEETS) AS MODIFIED FROM TIME TO TIME (“RESOURCES”) ARE PROVIDED BY MICROFIRE LLC "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN NO EVENT SHALL MICROFIRE LLC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE RESOURCES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

MICROFIRE LLC reserves the right to make any enhancements, improvements, corrections or any other modifications to the RESOURCES or any products described in them at any time and without further notice.

The RESOURCES are intended for skilled users with suitable levels of design knowledge. Users are solely responsible for their selection and use of the RESOURCES and any application of the products described in them. User agrees to indemnify and hold MICROFIRE LLC harmless against all liabilities, costs, damages or other losses arising out of their use of the RESOURCES.

HIGH RISK ACTIVITIES. MICROFIRE LLC products are not designed, manufactured or intended for use in hazardous environments requiring fail safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, weapons systems or safety-critical applications (including life support systems and other medical devices), in which the failure of the products could lead directly to death, personal injury or severe physical or environmental damage, or business loss (“High Risk Activities”). MICROFIRE LLC specifically disclaims any express or implied warranty of fitness for High Risk Activities and accepts no liability for use or inclusions of MICROFIRE LLC products in High Risk Activities.


Microfire LLC Mod-NTC Raspberry Pi Library

Release Information

Release History

Legal Disclaimer

Library Documentation

Installation

Member Variables

const float tempC

const float tempF

const float tempK

const float resistance

const float beta

const int hwVersion

const int fwVersion

const int status

Member Methods

begin

Definition

Parameters

Return

Example

connected

Definition

Parameters

Return

Example

measureTemp

Definition

Parameters

Return

Example

reset

Definition

Parameters

Return

Example

setBeta

Definition

Parameters

Return

Example

setI2CAddress

Definition

Parameters

Return

Example

update

Definition

Parameters

Return

Example


Library Documentation

Installation

This Python library can be installed through pip in a terminal:

pip3 install Microfire-Mod-NTC 

Typing python3 -m Microfire_Mod_NTC.shell will start the shell application and give access to all features and functions of the module. Type help to see a listing of the commands available.

Member Variables

const float tempC

Result of the last temperature measurement, in Celsius.

const float tempF

Result of the last temperature measurement, in Fahrenheit.

const float tempK

Result of the last temperature measurement, in Kelvin.

const float resistance

Result of the last measurement, in resistance (ohms).

const float beta

The beta value of the connected temperature sensor.

const int hwVersion

Hardware version of the module.

const int fwVersion

Firmware version of the module.

const int status

Status code of the last measurement or calibration.

0: STATUS_NO_ERROR

1: STATUS_NO_PROBE

2: STATUS_SYSTEM_ERROR

Member Methods

begin

Initializes the library and determines if the module is connected.

Definition

def begin(i2c_bus=1, address=0x0C)

Parameters

Parameter

Description

i2c_bus

TwoWire I2C interface

address

I2C address of the module

Return

Type

Description

bool

True if the module is connected.

False if the module is disconnected.

Example

import Microfire_Mod_NTC
ntc = Microfire_Mod_NTC.i2c()

if not ntc.begin():
   print(
"Error")


connected

Determines if the module is connected.

Definition

def connected()

Parameters

Parameter

Description

None

Return

Type

Description

bool

True if the module is connected.

False if the module is disconnected.

Example

import Microfire_Mod_NTC
ntc = Microfire_Mod_NTC.i2c()

ntc.begin()
if not ntc.connected():
   print(
"Error")


measureTemp

Starts a temperature measurement. A measurement takes 150 ms to complete.

Member variables tempC, tempF, tempK, and status are updated.

Definition

def measureTemp(blocking=True)

Parameters

Parameter

Description

blocking

Return immediately or wait for the module to complete the measurement

Return

Type

Description

float

The solution-under-test’s temperature in Celsius.

Example

import Microfire_Mod_NTC
ntc = Microfire_Mod_NTC.i2c()

ntc.begin()
ntc.measureTemp()

if ntc.status:
   print(
"Error: " + ntc.status_string[ntc.status])
else:
   print(str(
"{:.3f}".format(ntc.tempC)) + "°C")

    print(str("{:.3f}".format(ntc.tempF)) + "°F")

    print(str("{:.3f}".format(ntc.tempK)) + "K")


reset

Resets calibration beta to the default value of 3977.0.

Definition

def reset()

Parameters

Parameter

Description

None

Return

Type

Description

None

Example

import Microfire_Mod_NTC
ntc = Microfire_Mod_NTC.i2c()

ntc.begin()
ntc.reset()


setBeta

Changes the beta value for the connected temperature sensor. The value is saved and used across power resets.

Definition

def setBeta(float beta);

Parameters

Parameter

Description

float

New beta value

Return

Type

Description

None

Example

import Microfire_Mod_NTC
ntc = Microfire_Mod_NTC.i2c()

ntc.begin()
ntc.beta(
3750.0)


setI2CAddress

Changes the I2C address of the module. The change is stored and used again after a power-cycle.

Note: The library will use the new I2C address after calling this method, but the address must be stored and begin must be appropriately called with the new address on subsequent initialization.

Definition

def setI2CAddress(i2cAddress)

Parameters

Parameter

Description

int

New I2C address

Return

Type

Description

None

Example

import Microfire_Mod_NTC
ntc = Microfire_Mod_NTC.i2c()

ntc.begin()
ntc.setI2CAddress(
0x1C)


update

If blocking is set to false when measureTemp is called, this method will update tempC, tempF, tempK, and resistance. This allows the controlling device to do other work rather than wait for the module to complete the measurement.

Definition

def update()

Parameters

Parameter

Description

None

Return

Type

Description

None

Example

import Microfire_Mod_NTC
ntc = Microfire_Mod_NTC.i2c()

ntc.begin()
ntc.measureTemp(blocking=
False)
# blocking=False above, do other work for at least 150 ms
ntc.update()