herosdevices.hardware.raspberrypi.max318xx.max31855 - Heros Devices 0.5.4 documentation

Skip to content
Back to top
View this page

# herosdevices.hardware.raspberrypi.max318xx.max31855

Uses Superclass MAX318xx for communication methods and implements MAX31855 specific functions.

## Module Contents

herosdevices.hardware.raspberrypi.max318xx.max31855.temperature_NIST(t_remote: float, t_ambient: float) → float

  Correct temperature for ambient effects according to the Adafruit library.

  https://github.com/adafruit/Adafruit_CircuitPython_MAX31855/blob/main/adafruit_max31855.py This function applies a correction to the remote thermocouple temperature reading based on the ambient temperature, using the polynomial approximations from the Adafruit MAX31855 library.

  Parameters:

    - t_remote (float) – The remote thermocouple junction temperature in Celsius.

    - t_ambient (float) – The ambient (cold junction) temperature in Celsius.

  Returns:

    Corrected temperature in Celsius.

  Return type:

    float

  Raises:

    RuntimeError – If the total thermoelectric voltage is out of the expected range.

class herosdevices.hardware.raspberrypi.max318xx.max31855.MAX31855(cs_pins: dict, miso_pin: int = 5, clk_pin: int = 7, invert_sign: bool = False)

  Bases: `herosdevices.hardware.raspberrypi.max318xx.max318xx.MAX318xx`

  Class to interface with MAX31855 thermocouple-to-digital converter.

  Parameters:

    - cs_pin (int) – Chip select GPIO pin. Default is 24.

    - miso_pin (int) – MISO GPIO pin. Default is 5.

    - clk_pin (int) – CLK GPIO pin. Default is 7.

    - invert_sign (bool) – Whether to invert the sign of the temperature reading (default: False).

  read_temperature()

    Returns the temperature in Celsius.

  invert_sign = False
  static convert_bits(data: list) → tuple[int, int]

    Convert raw bits from sensor to temperature readings.

    Parameters:

      data (list) – List of integers representing raw bits.

    Returns:

      (t_tc, t_ref) where:

        t_tc (float): Thermocouple temperature. t_ref (float): Cold junction (reference) temperature.

    Return type:

      tuple

  transform_bytes(data: list) → tuple[int, int]

    Extract temperature data from raw byte list.

    Parameters:

      data (list) – List of bytes received from sensor.

    Returns:

      (t_tc, t_ref)

        t_tc (float): Thermocouple temperature. t_ref (float): Cold junction (reference) temperature.

    Return type:

      tuple

  read_temp(cs_pin: int, num_registers: int, convert: collections.abc.Callable[[float, float], float]) → float

    Read temperature on port cs_pin.

  cs_pins
  miso_pin = 9
  mosi_pin = 10
  clk_pin = 11
  write_register(reg_num: int, data_byte: int) → None

    Write a byte to a specified register.

    Parameters:

      - regNum (int) – Register number to write to.

      - dataByte (int) – Data byte to write.

  read_register(cs_pin: int, num_registers: int, reg_num_start: int | None = None) → list[int]

    Read one or more bytes starting from a specified register.

    Parameters:

      - cs_pin (int) – Chip select GPIO pin number.

      - numRegisters (int) – Number of bytes to read.

      - regNumStart (int, optional) – Starting register number for the read operation.

    Returns:

      List of bytes read from the device.

    Return type:

      list

  send_byte(byte: int) → None

    Send a byte via SPI by bit-banging.

    Parameters:

      byte (int) – Byte value to send.

  recv_byte() → int

    Receive a byte via SPI by bit-banging.

    Returns:

      Byte received.

    Return type:

      int

  create_dict(values: list[float], observable: str, unit: str) → dict

    Build dictionary of observables to be returned by the sensor.