This is a P8X32A/Propeller, P2X8C4M64P/Propeller 2 driver object for the HTU21D Temperature/RH sensor.
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.
- I2C connection at up to ~30kHz (P1: SPIN I2C), 400kHz (P1: PASM I2C, P2)
- Read temperature (hundredths of a degree), humidity (hundredths of a percent)
- Enable optional CRC checking of data - read flags indicating last acquired data was valid
- Set sensor resolution
- Enable on-chip heater (intended for diagnosis only - 0.5-1.5C temperature increase)
- Read low-battery status
P1/SPIN1:
- spin-standard-library
- 1 extra core/cog for the PASM I2C engine (none if SPIN I2C 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)
Processor | Language | Compiler | Backend | Status |
---|---|---|---|---|
P1 | SPIN1 | FlexSpin (5.9.23-beta) | Bytecode | OK |
P1 | SPIN1 | FlexSpin (5.9.23-beta) | Native code | OK |
P1 | SPIN1 | OpenSpin (1.00.81) | Bytecode | Untested (deprecated) |
P2 | SPIN2 | FlexSpin (5.9.23-beta) | NuCode | FTBFS |
P2 | SPIN2 | FlexSpin (5.9.23-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 |
- Very early in development - may malfunction, or outright fail to build
- Low battery status flag unverified
- P2 demo has incorrect output when built with FlexSpin 5.9.13-beta or older: see FlexSpin issue #289.