« Back to documentation index
SHT3X Class Reference
Example:
More...
#include <SHT3X.h >
Public Types
enum SHT3X_address_t { SHT3X_ADDRESS_A = ( 0x44 << 1U ),
SHT3X_ADDRESS_B = ( 0x45 << 1U )
}
DEFAULT ADDRESSES.
More...
enum SHT3X_command_registers_single_shot_mode_t {
SHT3X_CLOCK_STRETCHING_ENABLED_REPEATABILITY_HIGH = 0x2C06,
SHT3X_CLOCK_STRETCHING_ENABLED_REPEATABILITY_MEDIUM = 0x2C0D,
SHT3X_CLOCK_STRETCHING_ENABLED_REPEATABILITY_LOW = 0x2C10,
SHT3X_CLOCK_STRETCHING_DISABLED_REPEATABILITY_HIGH = 0x2400,
SHT3X_CLOCK_STRETCHING_DISABLED_REPEATABILITY_MEDIUM = 0x240B,
SHT3X_CLOCK_STRETCHING_DISABLED_REPEATABILITY_LOW = 0x2416
}
COMMAND REGISTERS.
More...
enum SHT3X_command_registers_heater_t { SHT3X_HEATER_ENABLE = 0x306D,
SHT3X_HEATER_DISABLE = 0x3066
}
enum SHT3X_command_registers_periodic_data_mode_t {
SHT3X_MPS_0_5_REPEATABILITY_HIGH = 0x2032,
SHT3X_MPS_0_5_REPEATABILITY_MEDIUM = 0x2024,
SHT3X_MPS_0_5_REPEATABILITY_LOW = 0x202F,
SHT3X_MPS_1_REPEATABILITY_HIGH = 0x2130,
SHT3X_MPS_1_REPEATABILITY_MEDIUM = 0x2126,
SHT3X_MPS_1_REPEATABILITY_LOW = 0x212D,
SHT3X_MPS_2_REPEATABILITY_HIGH = 0x2236,
SHT3X_MPS_2_REPEATABILITY_MEDIUM = 0x2220,
SHT3X_MPS_2_REPEATABILITY_LOW = 0x222B,
SHT3X_MPS_4_REPEATABILITY_HIGH = 0x2334,
SHT3X_MPS_4_REPEATABILITY_MEDIUM = 0x2322,
SHT3X_MPS_4_REPEATABILITY_LOW = 0x2329,
SHT3X_MPS_10_REPEATABILITY_HIGH = 0x2737,
SHT3X_MPS_10_REPEATABILITY_MEDIUM = 0x2721,
SHT3X_MPS_10_REPEATABILITY_LOW = 0x272A
}
enum SHT3X_command_registers_t {
SHT3X_FETCH_DATA = 0xE000,
SHT3X_PERIODIC_MESUREMENT_WITH_ART = 0x2B32,
SHT3X_BREAK = 0x3093,
SHT3X_SOFT_RESET = 0x30A2,
SHT3X_STATUS_REGISTER = 0xF32D,
SHT3X_CLEAR_STATUS_REGISTER = 0x3041
}
enum SHT3X_general_call_t { SHT3X_GENERAL_CALL_RESET_ADDRESS_BYTE = 0x00,
SHT3X_GENERAL_CALL_RESET_SECOND_BYTE = 0x06
}
RESET.
More...
enum SHT3X_status_alert_pending_status_t { STATUS_ALERT_PENDING_STATUS_MASK = ( 1U << 15U ),
STATUS_ALERT_PENDING_STATUS_NO_PENDING_ALERTS = ( 0U << 15U ),
STATUS_ALERT_PENDING_STATUS_AT_LEAST_ONE_PENDING_ALERT = ( 1U << 15U )
}
STATUS REGISTER.
More...
enum SHT3X_status_heater_status_t { STATUS_HEATER_STATUS_MASK = ( 1U << 13U ),
STATUS_HEATER_OFF = ( 0U << 13U ),
STATUS_HEATER_ON = ( 1U << 13U )
}
enum SHT3X_status_rh_tracking_alert_t { STATUS_RH_TRACKING_ALERT_MASK = ( 1U << 11U ),
STATUS_RH_TRACKING_ALERT_NO_ALERT = ( 0U << 11U ),
STATUS_RH_TRACKING_ALERT_ALERT = ( 1U << 11U )
}
enum SHT3X_status_t_tracking_alert_t { STATUS_T_TRACKING_ALERT_MASK = ( 1U << 10U ),
STATUS_T_TRACKING_ALERT_NO_ALERT = ( 0U << 10U ),
STATUS_T_TRACKING_ALERT_ALERT = ( 1U << 10U )
}
enum SHT3X_status_system_reset_detected_t { STATUS_SYSTEM_RESET_DETECTED_MASK = ( 1U << 4U ),
STATUS_SYSTEM_RESET_DETECTED_NO_RESET_DETECTED = ( 0U << 4U ),
STATUS_SYSTEM_RESET_DETECTED_RESET_DETECTED = ( 1U << 4U )
}
enum SHT3X_status_command_status_t { STATUS_COMMAND_STATUS_MASK = ( 1U << 10U ),
STATUS_COMMAND_STATUS_COMMAND_EXECUTED_SUCCESSFULLY = ( 0U << 10U ),
STATUS_COMMAND_STATUS_LAST_COMMAND_NOT_PROCESSED = ( 1U << 10U )
}
enum SHT3X_status_write_data_checksum_status_t { STATUS_WRITE_DATA_CHECKSUM_STATUS_MASK = ( 1U << 0U ),
STATUS_WRITE_DATA_CHECKSUM_STATUS_CHECKSUM_CORRECT = ( 0U << 0U ),
STATUS_WRITE_DATA_CHECKSUM_STATUS_CHECKSUM_FAILED = ( 1U << 0U )
}
enum SHT3X_status_t
INTERNAL CONSTANTS.
More...
Public Member Functions
SHT3X (PinName sda, PinName scl, uint32_t addr, uint32_t freq)
FUNCTION PROTOTYPES.
~SHT3X ()
Delete SHT3X object.
SHT3X_status_t SHT3X_OneShotTriggerAllData (SHT3X_command_registers_single_shot_mode_t mode)
It triggers all the raw data in single shot mode.
SHT3X_status_t SHT3X_OneShotGetAllRawData (SHT3X_raw_data_t *rawData)
It gets all the raw data in single shot mode.
SHT3X_status_t SHT3X_SetPeriodicMeasurementART (void)
It sets periodic measurement with ART (accelerated response time).
SHT3X_status_t SHT3X_SetBreakCommand (void)
It sets the break command (stop periodic data acquisition mode).
SHT3X_status_t SHT3X_SetSoftReset (void)
It perfoms a software reset.
SHT3X_status_t SHT3X_SetGeneralCallReset (void)
It perfoms a reset through a general call address.
SHT3X_status_t SHT3X_SetHeater (SHT3X_command_registers_heater_t heater)
It sets the heater.
SHT3X_status_t SHT3X_GetStatus (SHT3X_status_data_t *status)
It gets the status register.
SHT3X_status_t SHT3X_ClearStatus (void)
It clears the status register.
SHT3X_status_t SHT3X_SetPeriodicAquisitionMode (SHT3X_command_registers_periodic_data_mode_t mo)
It sets the periodic data aquisition mode.
SHT3X_status_t SHT3X_GetAllRawDataFetchData (SHT3X_raw_data_t *rawData)
It gets the all raw data (in periodic aquisition mode).
void SHT3X_ProccessData (SHT3X_raw_data_t rawData, SHT3X_final_data_t *data)
It processes all data: Temperature and Relative Humidity.
Detailed Description
Example:
#include "mbed.h"
#include "SHT3X.h"
SHT3X mySHT3X ( I2C_SDA, I2C_SCL, SHT3X::SHT3X_ADDRESS_B , 400000 );
Serial pc ( USBTX, USBRX );
DigitalOut myled ( LED1 );
Ticker newAction;
volatile uint32_t myState;
void changeDATA ( void );
int main()
{
SHT3X::SHT3X_status_t aux;
SHT3X::SHT3X_data_t mySHT3X_Data;
pc.baud ( 115200 );
myled = 1;
wait(3);
myled = 0;
aux = mySHT3X.SHT3X_SetSoftReset ();
wait_ms(2U);
aux = mySHT3X.SHT3X_ClearStatus ();
aux = mySHT3X.SHT3X_SetHeater ( SHT3X::SHT3X_HEATER_DISABLE );
aux = mySHT3X.SHT3X_SetBreakCommand ();
myState = 0UL;
newAction.attach( &changeDATA, 1U );
while (1) {
sleep();
if ( myState == 1UL ) {
myled = 1U;
aux = mySHT3X.SHT3X_OneShotTriggerAllData ( SHT3X::SHT3X_CLOCK_STRETCHING_DISABLED_REPEATABILITY_HIGH );
wait_ms(15U);
aux = mySHT3X.SHT3X_OneShotGetAllRawData ( &mySHT3X_Data.rawData );
mySHT3X.SHT3X_ProccessData ( mySHT3X_Data.rawData, &mySHT3X_Data.data );
pc.printf ( "T: %0.2f C, RH: %0.2f %%\r\n" , mySHT3X_Data.data.temperature, mySHT3X_Data.data.relativeHumidity );
myState = 0UL;
myled = 0U;
}
}
}
void changeDATA ( void )
{
myState = 1UL;
}
Library for the SHT3X Humidity and Temperature Sensor.
Definition at line 131 of file SHT3X.h .
Member Enumeration Documentation
DEFAULT ADDRESSES.
Enumerator:
SHT3X_ADDRESS_A
SHT3X ADDR pin connected to logic low
SHT3X_ADDRESS_B
SHT3X ADDR pin connected to logic high
Definition at line 137 of file SHT3X.h .
Enumerator:
SHT3X_HEATER_ENABLE
Heater enable command
SHT3X_HEATER_DISABLE
Heater disable command
Definition at line 158 of file SHT3X.h .
Enumerator:
SHT3X_MPS_0_5_REPEATABILITY_HIGH
High repeatability 0.5 measurement per second
SHT3X_MPS_0_5_REPEATABILITY_MEDIUM
Medium repeatability 0.5 measurement per second
SHT3X_MPS_0_5_REPEATABILITY_LOW
Low repeatability 0.5 measurement per second
SHT3X_MPS_1_REPEATABILITY_HIGH
High repeatability 1 measurement per second
SHT3X_MPS_1_REPEATABILITY_MEDIUM
Medium repeatability 1 measurement per second
SHT3X_MPS_1_REPEATABILITY_LOW
Low repeatability 1 measurement per second
SHT3X_MPS_2_REPEATABILITY_HIGH
High repeatability 2 measurement per second
SHT3X_MPS_2_REPEATABILITY_MEDIUM
Medium repeatability 2 measurement per second
SHT3X_MPS_2_REPEATABILITY_LOW
Low repeatability 2 measurement per second
SHT3X_MPS_4_REPEATABILITY_HIGH
High repeatability 4 measurement per second
SHT3X_MPS_4_REPEATABILITY_MEDIUM
Medium repeatability 4 measurement per second
SHT3X_MPS_4_REPEATABILITY_LOW
Low repeatability 4 measurement per second
SHT3X_MPS_10_REPEATABILITY_HIGH
High repeatability 10 measurement per second
SHT3X_MPS_10_REPEATABILITY_MEDIUM
Medium repeatability 10 measurement per second
SHT3X_MPS_10_REPEATABILITY_LOW
Low repeatability 10 measurement per second
Definition at line 164 of file SHT3X.h .
COMMAND REGISTERS.
Enumerator:
SHT3X_CLOCK_STRETCHING_ENABLED_REPEATABILITY_HIGH
High repeatability measurement with clock stretching enabled
SHT3X_CLOCK_STRETCHING_ENABLED_REPEATABILITY_MEDIUM
Medium repeatability measurement with clock stretching enabled
SHT3X_CLOCK_STRETCHING_ENABLED_REPEATABILITY_LOW
Low repeatability measurement with clock stretching enabled
SHT3X_CLOCK_STRETCHING_DISABLED_REPEATABILITY_HIGH
High repeatability measurement with clock stretching disabled
SHT3X_CLOCK_STRETCHING_DISABLED_REPEATABILITY_MEDIUM
Medium repeatability measurement with clock stretching disabled
SHT3X_CLOCK_STRETCHING_DISABLED_REPEATABILITY_LOW
Low repeatability measurement with clock stretching disabled
Definition at line 147 of file SHT3X.h .
Enumerator:
SHT3X_FETCH_DATA
Fetch data command
SHT3X_PERIODIC_MESUREMENT_WITH_ART
ART command
SHT3X_BREAK
Break command
SHT3X_SOFT_RESET
Software reset command
SHT3X_STATUS_REGISTER
Status command
SHT3X_CLEAR_STATUS_REGISTER
Clear Status register command
Definition at line 187 of file SHT3X.h .
RESET.
Enumerator:
SHT3X_GENERAL_CALL_RESET_ADDRESS_BYTE
Reset. Address byte
SHT3X_GENERAL_CALL_RESET_SECOND_BYTE
Reset. Second byte
Definition at line 202 of file SHT3X.h .
STATUS REGISTER.
NOTE: N/A.
Enumerator:
STATUS_ALERT_PENDING_STATUS_MASK
ALERT_PENDING_STATUS mask
STATUS_ALERT_PENDING_STATUS_NO_PENDING_ALERTS
No pending alerts
STATUS_ALERT_PENDING_STATUS_AT_LEAST_ONE_PENDING_ALERT
At least one pending alert [Default]
Definition at line 216 of file SHT3X.h .
Enumerator:
STATUS_COMMAND_STATUS_MASK
COMMAND_STATUS mask
STATUS_COMMAND_STATUS_COMMAND_EXECUTED_SUCCESSFULLY
Last command executed successfully [Default]
STATUS_COMMAND_STATUS_LAST_COMMAND_NOT_PROCESSED
Last command not processed
Definition at line 266 of file SHT3X.h .
Enumerator:
STATUS_HEATER_STATUS_MASK
HEATER_STATUS mask
STATUS_HEATER_OFF
Heater off [Default]
STATUS_HEATER_ON
Heater on
Definition at line 226 of file SHT3X.h .
Enumerator:
STATUS_RH_TRACKING_ALERT_MASK
RH_TRACKING_ALERT mask
STATUS_RH_TRACKING_ALERT_NO_ALERT
No alert [Default]
STATUS_RH_TRACKING_ALERT_ALERT
Alert
Definition at line 236 of file SHT3X.h .
Enumerator:
STATUS_SYSTEM_RESET_DETECTED_MASK
SYSTEM_RESET_DETECTED mask
STATUS_SYSTEM_RESET_DETECTED_NO_RESET_DETECTED
No reset detected since last 'clear status register' command
STATUS_SYSTEM_RESET_DETECTED_RESET_DETECTED
Reset detected (hard reset, soft reset command or supply fail)[Default]
Definition at line 256 of file SHT3X.h .
INTERNAL CONSTANTS.
Definition at line 334 of file SHT3X.h .
Enumerator:
STATUS_T_TRACKING_ALERT_MASK
T_TRACKING_ALERT mask
STATUS_T_TRACKING_ALERT_NO_ALERT
No alert [Default]
STATUS_T_TRACKING_ALERT_ALERT
Alert
Definition at line 246 of file SHT3X.h .
Enumerator:
STATUS_WRITE_DATA_CHECKSUM_STATUS_MASK
COMMAND_STATUS mask
STATUS_WRITE_DATA_CHECKSUM_STATUS_CHECKSUM_CORRECT
Checksum of last write transfer was correct[Default]
STATUS_WRITE_DATA_CHECKSUM_STATUS_CHECKSUM_FAILED
Checksum of last write transfer failed
Definition at line 276 of file SHT3X.h .
Constructor & Destructor Documentation
SHT3X
(
PinName
sda ,
PinName
scl ,
uint32_t
addr ,
uint32_t
freq
)
FUNCTION PROTOTYPES.
SHT3X.c.
Create an SHT3X object connected to the specified I2C pins.
Parameters:
sda I2C data pin
scl I2C clock pin
addr I2C slave address
freq I2C frequency in Hz.
Humidity and Temperature Sensor. Functions file.
Returns: N/A
Author: Manuel Caballero
Date: 25/March/2021
Version: 25/March/2021 The ORIGIN
Precondition: N/A
Warning: N/A
Precondition: This code belongs to Nimbus Centre ( http://www.nimbus.cit.ie ).
Definition at line 20 of file SHT3X.cpp .
Member Function Documentation
It clears the status register.
SHT3X_ClearStatus ( void )
It clears the status register.
Parameters:
Returns: Status of SHT3X_ClearStatus.
Author: Manuel Caballero
Date: 25/March/2021
Version: 25/March/2021 The ORIGIN
Precondition: N/A
Warning: N/A.
Definition at line 400 of file SHT3X.cpp .
It gets the all raw data (in periodic aquisition mode).
SHT3X_GetAllRawDataFetchData ( SHT3X_raw_data_t* )
It gets the all raw data (in periodic aquisition mode).
Parameters:
[in] N/A.
[out] rawData,: Raw data and their CRC values.
Returns: Status of SHT3X_GetAllRawDataFetchData.
Author: Manuel Caballero
Date: 25/March/2021
Version: 25/March/2021 The ORIGIN
Precondition: N/A
Warning: N/A.
Definition at line 482 of file SHT3X.cpp .
It gets the status register.
SHT3X_GetStatus ( SHT3X_status_data_t* )
It gets the status register.
Parameters:
[in] N/A.
[out] status,: The wole status register and its CRC.
Returns: Status of SHT3X_GetStatus.
Author: Manuel Caballero
Date: 25/March/2021
Version: 25/March/2021 The ORIGIN
Precondition: N/A
Warning: N/A.
Definition at line 349 of file SHT3X.cpp .
It gets all the raw data in single shot mode.
SHT3X_OneShotGetAllRawData ( SHT3X_raw_data_t* )
It gets all the raw data in single shot mode.
Parameters:
[in] N/A.
[out] rawData,: All the raw data and their CRC values.
Returns: Status of SHT3X_OneShotGetAllRawData.
Author: Manuel Caballero
Date: 25/March/2021
Version: 25/March/2021 The ORIGIN
Precondition: N/A
Warning: SHT3X_OneShotTriggerAllData function must be called first. The user MUST respect the measurement duration as indicated in the datasheet (Table4.System timing specification, p7):
Typ. Max Low repeatability 2.5ms 4ms Medium repeatability 4.5ms 6ms High repeatability 12.5ms 15ms.
Definition at line 98 of file SHT3X.cpp .
It triggers all the raw data in single shot mode.
SHT3X_OneShotTriggerAllData ( SHT3X_command_registers_single_shot_mode_t )
It triggers all the raw data in single shot mode.
Parameters:
[in] mode,: Clock Stretching/No Stretching and the repeatability.
[out] N/A
Returns: Status of SHT3X_OneShotTriggerAllData.
Author: Manuel Caballero
Date: 25/March/2021
Version: 25/March/2021 The ORIGIN
Precondition: N/A
Warning: N/A.
Definition at line 52 of file SHT3X.cpp .
void SHT3X_ProccessData
(
SHT3X_raw_data_t
rawData ,
SHT3X_final_data_t *
data
)
It processes all data: Temperature and Relative Humidity.
SHT3X_ProccessData ( SHT3X_raw_data_t , SHT3X_final_data_t* )
It clears the status register.
Parameters:
[in] rawData,: Data to be processed.
[out] data,: Data result.
Returns: N/A.
Author: Manuel Caballero
Date: 25/March/2021
Version: 25/March/2021 The ORIGIN
Precondition: N/A
Warning: N/A.
Definition at line 539 of file SHT3X.cpp .
It sets the break command (stop periodic data acquisition mode).
SHT3X_SetBreakCommand ( void )
It sets the break command (stop periodic data acquisition mode).
Parameters:
Returns: Status of SHT3X_SetBreakCommand.
Author: Manuel Caballero
Date: 25/March/2021
Version: 25/March/2021 The ORIGIN
Precondition: N/A
Warning: N/A.
Definition at line 189 of file SHT3X.cpp .
It perfoms a reset through a general call address.
SHT3X_SetGeneralCallReset ( void )
It perfoms a reset through a general call address.
Parameters:
Returns: Status of SHT3X_SetGeneralCallReset.
Author: Manuel Caballero
Date: 25/March/2021
Version: 25/March/2021 The ORIGIN
Precondition: N/A
Warning: N/A.
Definition at line 269 of file SHT3X.cpp .
It sets the heater.
SHT3X_SetHeater ( SHT3X_command_registers_heater_t )
It sets the heater.
Parameters:
[in] heater,: Enable/Disable.
[out] N/A
Returns: Status of SHT3X_SetHeater.
Author: Manuel Caballero
Date: 25/March/2021
Version: 25/March/2021 The ORIGIN
Precondition: N/A
Warning: N/A.
Definition at line 309 of file SHT3X.cpp .
It sets the periodic data aquisition mode.
SHT3X_SetPeriodicAquisitionMode ( SHT3X_command_registers_periodic_data_mode_t )
It sets the periodic data aquisition mode.
Parameters:
[in] mo,: Periodic aquisition mode.
[out] N/A.
Returns: Status of SHT3X_SetPeriodicAquisitionMode.
Author: Manuel Caballero
Date: 25/March/2021
Version: 25/March/2021 The ORIGIN
Precondition: N/A
Warning: N/A.
Definition at line 441 of file SHT3X.cpp .
It sets periodic measurement with ART (accelerated response time).
SHT3X_SetPeriodicMeasurementART ( void )
It sets periodic measurement with ART (accelerated response time).
Parameters:
Returns: Status of SHT3X_SetPeriodicMeasurementART.
Author: Manuel Caballero
Date: 25/March/2021
Version: 25/March/2021 The ORIGIN
Precondition: N/A
Warning: N/A.
Definition at line 149 of file SHT3X.cpp .
It perfoms a software reset.
SHT3X_SetSoftReset ( void )
It performs a software reset.
Parameters:
Returns: Status of SHT3X_SetSoftReset.
Author: Manuel Caballero
Date: 25/March/2021
Version: 25/March/2021 The ORIGIN
Precondition: N/A
Warning: N/A.
Definition at line 229 of file SHT3X.cpp .