Skip to content

P8X32A/Propeller driver object for the MCP9808 Temperature sensor

License

Notifications You must be signed in to change notification settings

avsa242/mcp9808-spin

Repository files navigation

mcp9808-spin


This is a P8X32A/Propeller, P2X8C4M64P/Propeller 2 driver object for Microchip MCP9808 Temperature sensors

IMPORTANT: This software is meant to be used with the spin-standard-library (P8X32A) or p2-spin-standard-library (P2X8C4M64P). Please install the applicable library first before attempting to use this code, otherwise you will be missing several files required to build the project.

Salient Features

  • I2C connection at up to 400kHz
  • Read temperature in hundredths of a degree
  • Set temperature scale to Celsius or Fahrenheit
  • Power sensor on/off
  • Interrupts: set low, high, critical thresholds, enable low, high, critical, or only critical interrupts, set interrupts active low or active high, set comparator or interrupt output mode
  • Supports alternate slave addresses

Requirements

P1/SPIN1:

  • spin-standard-library
  • 1 extra core/cog for the PASM I2C engine (none if bytecode-based engine is used)
  • sensor.temp_rh.common.spinh (source: spin-standard-library)

P2/SPIN2:

  • p2-spin-standard-library
  • sensor.temp_rh.common.spin2h (source: p2-spin-standard-library)

Compiler Compatibility

Processor Language Compiler Backend Status
P1 SPIN1 FlexSpin (5.9.21-beta) Bytecode OK
P1 SPIN1 FlexSpin (5.9.21-beta) Native code OK
P1 SPIN1 OpenSpin (1.00.81) Bytecode Untested (deprecated)
P2 SPIN2 FlexSpin (5.9.21-beta) NuCode FTBFS
P2 SPIN2 FlexSpin (5.9.21-beta) Native code OK
P1 SPIN1 Brad's Spin Tool (any) Bytecode Unsupported
P1, P2 SPIN1, 2 Propeller Tool (any) Bytecode Unsupported
P1, P2 SPIN1, 2 PNut (any) Bytecode Unsupported

Limitations

  • TBD