Jump to content

Component: Barometer (DPS310) (Environmental): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(16 intermediate revisions by 2 users not shown)
Line 15: Line 15:
A barometric air pressure sensor with high accuracy and low current consumption. Capable of sensing air pressure and temperature. Based on an I2C bus connection.
A barometric air pressure sensor with high accuracy and low current consumption. Capable of sensing air pressure and temperature. Based on an I2C bus connection.


==Component Pack==
==Component Source Code==


SENSORS
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Pressure_Sensor_DPS310.fcfx FC_Comp_Source_Pressure_Sensor_DPS310.fcfx]
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Pressure_Sensor_DPS310.fcfx FC_Comp_Source_Pressure_Sensor_DPS310.fcfx]


==Detailed description==
==Detailed description==




Line 32: Line 48:


==Examples==
==Examples==




Line 45: Line 75:




==Downloadable macro reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadTemperature'''
|-
| colspan="2" | Reads the temperature measurement from the last SampleSensor macro 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
 
 
 
 
 
==Macro reference==
 
===ConfigurePressure===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ConfigurePressure'''
| width="90%" class="mtx-class-macrohead" | '''ConfigurePressure'''
|-
|-
| colspan="2" | Configures the pressure sensor sample rate and over sampling count 
| colspan="2" | Configures the pressure sensor sample rate and over sampling count 
Line 83: Line 111:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ConfigureTemperature===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ConfigureTemperature'''
| width="90%" class="mtx-class-macrohead" | '''ConfigureTemperature'''
|-
|-
| colspan="2" | Configures the temperature sensor sample rate and over sampling count 
| colspan="2" | Configures the temperature sensor sample rate and over sampling count 
Line 106: Line 135:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Initialise===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''Initialise'''
|-
| colspan="2" | Starts up the I2C ready to communicate with the sensor. Sets the selected rates and operational mode. Returns 1 if the sensor has been found and initialised. 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
===ReadAltitude===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''ReadAltitude'''
|-
| colspan="2" | Reads the pressure measurement from the last SampleSensor macro and converts the pressure reading into an altitude reading. 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
===ReadPressure===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadPressure'''
| width="90%" class="mtx-class-macrohead" | '''ReadPressure'''
|-
|-
| colspan="2" | Reads the pressure measurement from the last SampleSensor macro 
| colspan="2" | Reads the pressure measurement from the last SampleSensor macro 
Line 119: Line 177:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ReadRegister===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetMode'''
| width="90%" class="mtx-class-macrohead" | '''ReadRegister'''
|-
|-
| colspan="2" | Sets the operational mode of the sensor to be continous or one shot 
| colspan="2" | Reads a byte from a register 
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Mode
| width="90%" | Address
|-
|-
| colspan="2" |  
| colspan="2" |  
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ReadTemperature===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadAltitude'''
| width="90%" class="mtx-class-macrohead" | '''ReadTemperature'''
|-
|-
| colspan="2" | Reads the pressure measurement from the last SampleSensor macro and converts the pressure reading into an altitude reading. 
| colspan="2" | Reads the temperature measurement from the last SampleSensor macro 
|-
|-
|-
|-
Line 150: Line 210:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SampleSensor===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SampleSensor'''
| width="90%" class="mtx-class-macrohead" | '''SampleSensor'''
|-
|-
| colspan="2" | Checks to see if new data is available for temperature or pressure and collects it. Returns 0 if no new data is available Returns 1 for pressure, 2 for temperature and 3 for both. 
| colspan="2" | Checks to see if new data is available for temperature or pressure and collects it. Returns 0 if no new data is available Returns 1 for pressure, 2 for temperature and 3 for both. 
Line 163: Line 224:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetMode===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadRegister'''
| width="90%" class="mtx-class-macrohead" | '''SetMode'''
|-
|-
| colspan="2" | Reads a byte from a register 
| colspan="2" | Sets the operational mode of the sensor to be continous or one shot 
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Address
| width="90%" | Mode
|-
|-
| colspan="2" |  
| colspan="2" |  
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===WriteRegister===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteRegister'''
| width="90%" class="mtx-class-macrohead" | '''WriteRegister'''
|-
|-
| colspan="2" | Writes a byte to a register 
| colspan="2" | Writes a byte to a register 
Line 204: Line 267:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
==Property reference==
 
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
| colspan="2" | Starts up the I2C ready to communicate with the sensor. Sets the selected rates and operational mode. Returns 1 if the sensor has been found and initialised. 
|-
|-
|-
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" class="mtx-class-propfolder" | Device Settings
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
 
 
==Property reference==
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
|-
|-
|-
|-
Line 247: Line 299:
| colspan="2" |  
| colspan="2" |  
|-
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" | Scope Traces
| width="90%" class="mtx-class-propfolder" | Connections
|-
| colspan="2" | Selects if the component pin connections are automatically generated on the data recorder window or not. Yes: Automatically add the component pins to a group on the data recorder which will reflect the sim data during simultion. No: Do not show the pin signals on the data recorder window. 
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Console Data
|-
| colspan="2" | Selects if the console data is automatically generated or not 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | API
|-
| colspan="2" | Specifies the API component on the panel to interact with to provide comms simulation. 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections'''
|-
|-
|-
|-
Line 296: Line 333:
| colspan="2" | On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not  a 10ms delay between an I2C stop event and the next I2C start event.  Most modern microcontrollers will not have a problem so this property can be disabled to speed up the  I2C communications.  
| colspan="2" | On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not  a 10ms delay between an I2C stop event and the next I2C start event.  Most modern microcontrollers will not have a problem so this property can be disabled to speed up the  I2C communications.  
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''
| width="90%" class="mtx-class-propfolder" | Simulation
|-
|-
|-
|-

Latest revision as of 14:37, 13 July 2026

Author Matrix TSL
Version 1.0
Category Environmental


Barometer (DPS310) component

A barometric air pressure sensor with high accuracy and low current consumption. Capable of sensing air pressure and temperature. Based on an I2C bus connection.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_Pressure_Sensor_DPS310.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_Pressure_Sensor_DPS310.fcfx

Detailed description

No detailed description exists yet for this component

Examples

No additional examples







Macro reference

ConfigurePressure

ConfigurePressure
Configures the pressure sensor sample rate and over sampling count 
- BYTE Rate
Range: 0-7, 0=1Hz, 1=2Hz, 2=4Hz etc 
- BYTE Oversample
Range: 0-7, 0=1Samples, 1=2Samples, 2=4Samples etc 
- VOID Return


ConfigureTemperature

ConfigureTemperature
Configures the temperature sensor sample rate and over sampling count 
- BYTE Rate
Range: 0-7, 0=1Hz, 1=2Hz, 2=4Hz etc 
- BYTE Oversample
Range: 0-7, 0=1Samples, 1=2Samples, 2=4Samples etc 
- VOID Return


Initialise

Initialise
Starts up the I2C ready to communicate with the sensor. Sets the selected rates and operational mode. Returns 1 if the sensor has been found and initialised. 
- BOOL Return


ReadAltitude

ReadAltitude
Reads the pressure measurement from the last SampleSensor macro and converts the pressure reading into an altitude reading. 
- FLOAT Return


ReadPressure

ReadPressure
Reads the pressure measurement from the last SampleSensor macro 
- FLOAT Return


ReadRegister

ReadRegister
Reads a byte from a register 
- BYTE Address
 
- BYTE Return


ReadTemperature

ReadTemperature
Reads the temperature measurement from the last SampleSensor macro 
- FLOAT Return


SampleSensor

SampleSensor
Checks to see if new data is available for temperature or pressure and collects it. Returns 0 if no new data is available Returns 1 for pressure, 2 for temperature and 3 for both. 
- BYTE Return


SetMode

SetMode
Sets the operational mode of the sensor to be continous or one shot 
- BYTE Mode
 
- VOID Return


WriteRegister

WriteRegister
Writes a byte to a register 
- BYTE Address
 
- BYTE Data
 
- VOID Return


Property reference

Properties
Device Settings
Device Address
 
Measurement Rate
 
Oversample Rate
 
Operational Mode
 
Connections
Channel
Channel selection 
Baud Select
Baud rate option selector 
Baud Rate
Baud rate to be used 
SDA
Pin used for SDA (data signal) 
SCL
Pin used for SCL (clock signal) 
Stop Delay
On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not a 10ms delay between an I2C stop event and the next I2C start event. Most modern microcontrollers will not have a problem so this property can be disabled to speed up the I2C communications.  
Simulation
Simulate Comms
No: Provides simulation using the panel component sliders. Yes: Communicates via an API Slave device to real world hardware, shows the results using the panel component sliders.