|
|
| (5 intermediate revisions by the same user not shown) |
| Line 15: |
Line 15: |
| | A small PCB surface mount barometric pressure sensor with a I2C bus interface. Pressure range 300 to 1100 hPa. Temperature range -40 to +85 °C. Works with I2C interface only. | | A small PCB surface mount barometric pressure sensor with a I2C bus interface. Pressure range 300 to 1100 hPa. Temperature range -40 to +85 °C. Works with I2C interface only. |
| | | | |
| − | ==Component Source Code== | + | ==Detailed description== |
| − | | |
| − | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Pressure_Sensor_BME280.fcfx FC_Comp_Source_Pressure_Sensor_BME280.fcfx]
| |
| | | | |
| − | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Pressure_Sensor_BME280.fcfx FC_Comp_Source_Pressure_Sensor_BME280.fcfx]
| |
| | | | |
| − | ==Detailed description==
| |
| | | | |
| | | | |
| Line 46: |
Line 42: |
| | | | |
| | ==Examples== | | ==Examples== |
| | + | |
| | + | |
| | | | |
| | | | |
| Line 85: |
Line 83: |
| | [[File:BME280 Circuit Diagram.png]] | | [[File:BME280 Circuit Diagram.png]] |
| | | | |
| − | ==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;" | '''ReadPressureFloat'''
| |
| − | |-
| |
| − | | colspan="2" | Reads the pressure as a floating point value in Bars. Calls the ReadPressureRaw function and then converts to a meaningful value.
| |
| − | |-
| |
| − | |-
| |
| − | | 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;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Reset'''
| |
| − | |-
| |
| − | | colspan="2" | Resets the device
| |
| − | |-
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| | | | |
| | | | |
| − | {| 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;" | '''I2C_Read_Register'''
| |
| − | |-
| |
| − | | colspan="2" | Reads a byte value from a register on the device
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Address
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| | | | |
| | | | |
| − | {| 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;" | '''ReadTemperatureFloat'''
| |
| − | |-
| |
| − | | colspan="2" | Reads the temperature as a floating point value in °C. Resultion sets the return bit value and conversion time. Calls the ReadTemperatureRaw function and then converts to a meaningful value.
| |
| − | |-
| |
| − | |-
| |
| − | | 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;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Forced_Read'''
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| | | | |
| | + | ==Macro reference== |
| | | | |
| | + | ===Forced_Read=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''I2C_Write_Register''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Forced_Read''' |
| − | |-
| |
| − | | colspan="2" | Writes a byte value to a register on the device
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Address
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Value
| |
| | |- | | |- |
| | | colspan="2" | | | | colspan="2" | |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| 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;" | '''ReadHumidityFloat'''
| |
| − | |-
| |
| − | | colspan="2" | Reads the humidity as a floating point value in percentage 0-100%. Calls the ReadHumidityRaw function and then converts to a meaningful value.
| |
| − | |-
| |
| − | |-
| |
| − | | 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;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Uninit'''
| |
| − | |-
| |
| − | | colspan="2" | Uninitialse and release I2C resources
| |
| − | |-
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| 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;" | '''Initialise'''
| |
| − | |-
| |
| − | | colspan="2" | Starts up the I2C bus and initialises the pressure sensor ready for use. Returns 1 for a sucessful startup. Returns 0 for a failed startup or no device detected.
| |
| − | |-
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − |
| |
| − |
| |
| − | ==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'''
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Slave Address
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Channel
| |
| − | |-
| |
| − | | colspan="2" | Channel selection
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Baud Select
| |
| − | |-
| |
| − | | colspan="2" | Baud rate option selector
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| |
| − | | width="90%" | Baud Rate
| |
| − | |-
| |
| − | | colspan="2" | Baud rate to be used
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| |
| − | | width="90%" | Stop Delay
| |
| − | |-
| |
| − | | 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" | [[File:Fc9-type-5-icon.png]]
| |
| − | | width="90%" | SDA
| |
| − | |-
| |
| − | | colspan="2" | Pin used for SDA (data signal)
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| |
| − | | width="90%" | SCL
| |
| − | |-
| |
| − | | colspan="2" | Pin used for SCL (clock signal)
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Sensor Options
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Compensation
| |
| − | |-
| |
| − | | colspan="2" | Compensation formulas in double precision floating point or 32 bit fixed point
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Humidity Oversampling
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Pressure Oversampling
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Temperature Oversampling
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Mode
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Standby Normal Mode (ms)
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Filter Coefficient
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| |
| − | | width="90%" | Simulate Comms
| |
| − | |-
| |
| − | | colspan="2" | Allows the simulation data to come from the panel GUI or relayed via an injector component.
| |
| − | |}==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;" | '''ReadPressureFloat'''
| |
| − | |-
| |
| − | | colspan="2" | Reads the pressure as a floating point value in Bars. Calls the ReadPressureRaw function and then converts to a meaningful value.
| |
| − | |-
| |
| − | |-
| |
| − | | 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;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Reset'''
| |
| − | |-
| |
| − | | colspan="2" | Resets the device
| |
| | |- | | |- |
| | |- | | |- |
| Line 343: |
Line 109: |
| | | | |
| | | | |
| | + | ===I2C_Read_Register=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 361: |
Line 128: |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ===I2C_Write_Register=== |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadTemperatureFloat'''
| |
| − | |-
| |
| − | | colspan="2" | Reads the temperature as a floating point value in °C. Resultion sets the return bit value and conversion time. Calls the ReadTemperatureRaw function and then converts to a meaningful value.
| |
| − | |-
| |
| − | |-
| |
| − | | 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;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Forced_Read'''
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − | | |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 410: |
Line 152: |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ===Initialise=== |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadHumidityFloat'''
| |
| − | |-
| |
| − | | colspan="2" | Reads the humidity as a floating point value in percentage 0-100%. Calls the ReadHumidityRaw function and then converts to a meaningful value.
| |
| − | |-
| |
| − | |-
| |
| − | | 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;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Uninit'''
| |
| − | |-
| |
| − | | colspan="2" | Uninitialse and release I2C resources
| |
| − | |-
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − | | |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 449: |
Line 166: |
| | | | |
| | | | |
| − | | + | ===ReadHumidityFloat=== |
| − | | |
| − | ==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'''
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Slave Address
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Channel
| |
| − | |-
| |
| − | | colspan="2" | Channel selection
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Baud Select
| |
| − | |-
| |
| − | | colspan="2" | Baud rate option selector
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| |
| − | | width="90%" | Baud Rate
| |
| − | |-
| |
| − | | colspan="2" | Baud rate to be used
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| |
| − | | width="90%" | Stop Delay
| |
| − | |-
| |
| − | | 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" | [[File:Fc9-type-5-icon.png]]
| |
| − | | width="90%" | SDA
| |
| − | |-
| |
| − | | colspan="2" | Pin used for SDA (data signal)
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| |
| − | | width="90%" | SCL
| |
| − | |-
| |
| − | | colspan="2" | Pin used for SCL (clock signal)
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Sensor Options
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Compensation
| |
| − | |-
| |
| − | | colspan="2" | Compensation formulas in double precision floating point or 32 bit fixed point
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Humidity Oversampling
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Pressure Oversampling
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Temperature Oversampling
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Mode
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Standby Normal Mode (ms)
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Filter Coefficient
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| |
| − | | width="90%" | Simulate Comms
| |
| − | |-
| |
| − | | colspan="2" | Allows the simulation data to come from the panel GUI or relayed via an injector component.
| |
| − | |}==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;" | '''ReadPressureFloat'''
| |
| − | |-
| |
| − | | colspan="2" | Reads the pressure as a floating point value in Bars. Calls the ReadPressureRaw function and then converts to a meaningful value.
| |
| − | |-
| |
| − | |-
| |
| − | | 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;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Reset'''
| |
| − | |-
| |
| − | | colspan="2" | Resets the device
| |
| − | |-
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| 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;" | '''I2C_Read_Register'''
| |
| − | |-
| |
| − | | colspan="2" | Reads a byte value from a register on the device
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Address
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| 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;" | '''ReadTemperatureFloat'''
| |
| − | |-
| |
| − | | colspan="2" | Reads the temperature as a floating point value in °C. Resultion sets the return bit value and conversion time. Calls the ReadTemperatureRaw function and then converts to a meaningful value.
| |
| − | |-
| |
| − | |-
| |
| − | | 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;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Forced_Read'''
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| 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;" | '''I2C_Write_Register'''
| |
| − | |-
| |
| − | | colspan="2" | Writes a byte value to a register on the device
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Address
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Value
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − | | |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 653: |
Line 180: |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ===ReadPressureFloat=== |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Uninit'''
| |
| − | |-
| |
| − | | colspan="2" | Uninitialse and release I2C resources
| |
| − | |-
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| 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;" | '''Initialise'''
| |
| − | |-
| |
| − | | colspan="2" | Starts up the I2C bus and initialises the pressure sensor ready for use. Returns 1 for a sucessful startup. Returns 0 for a failed startup or no device detected.
| |
| − | |-
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − | | |
| − | | |
| − | | |
| − | | |
| − | ==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'''
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Slave Address
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Channel
| |
| − | |-
| |
| − | | colspan="2" | Channel selection
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Baud Select
| |
| − | |-
| |
| − | | colspan="2" | Baud rate option selector
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| |
| − | | width="90%" | Baud Rate
| |
| − | |-
| |
| − | | colspan="2" | Baud rate to be used
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| |
| − | | width="90%" | Stop Delay
| |
| − | |-
| |
| − | | 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" | [[File:Fc9-type-5-icon.png]]
| |
| − | | width="90%" | SDA
| |
| − | |-
| |
| − | | colspan="2" | Pin used for SDA (data signal)
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| |
| − | | width="90%" | SCL
| |
| − | |-
| |
| − | | colspan="2" | Pin used for SCL (clock signal)
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Sensor Options
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Compensation
| |
| − | |-
| |
| − | | colspan="2" | Compensation formulas in double precision floating point or 32 bit fixed point
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Humidity Oversampling
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Pressure Oversampling
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Temperature Oversampling
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Mode
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Standby Normal Mode (ms)
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Filter Coefficient
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| |
| − | | width="90%" | Simulate Comms
| |
| − | |-
| |
| − | | colspan="2" | Allows the simulation data to come from the panel GUI or relayed via an injector component.
| |
| − | |}==Macro reference==
| |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 790: |
Line 194: |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ===ReadTemperatureFloat=== |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Reset'''
| |
| − | |-
| |
| − | | colspan="2" | Resets the device
| |
| − | |-
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| 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;" | '''I2C_Read_Register'''
| |
| − | |-
| |
| − | | colspan="2" | Reads a byte value from a register on the device
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Address
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − | | |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 834: |
Line 208: |
| | | | |
| | | | |
| | + | ===Reset=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Forced_Read''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Reset''' |
| | |- | | |- |
| − | | colspan="2" | | + | | colspan="2" | Resets the device |
| | |- | | |- |
| | |- | | |- |
| Line 847: |
Line 222: |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ===Uninit=== |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''I2C_Write_Register'''
| |
| − | |-
| |
| − | | colspan="2" | Writes a byte value to a register on the device
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Address
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Value
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| 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;" | '''ReadHumidityFloat'''
| |
| − | |-
| |
| − | | colspan="2" | Reads the humidity as a floating point value in percentage 0-100%. Calls the ReadHumidityRaw function and then converts to a meaningful value.
| |
| − | |-
| |
| − | |-
| |
| − | | 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;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 894: |
Line 234: |
| | | 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;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
| |
| − | |-
| |
| − | | colspan="2" | Starts up the I2C bus and initialises the pressure sensor ready for use. Returns 1 for a sucessful startup. Returns 0 for a failed startup or no device detected.
| |
| − | |-
| |
| − | |-
| |
| − | | 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''
| |
| − | |}
| |
| − |
| |
| − |
| |
| | | | |
| | | | |
| Line 1,006: |
Line 331: |
| | | colspan="2" | Allows the simulation data to come from the panel GUI or relayed via an injector component. | | | colspan="2" | Allows the simulation data to come from the panel GUI or relayed via an injector component. |
| | |} | | |} |
| | + | |
| | + | ==Component Source Code== |
| | + | |
| | + | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Pressure_Sensor_BME280.fcfx FC_Comp_Source_Pressure_Sensor_BME280.fcfx] |
| | + | |
| | + | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Pressure_Sensor_BME280.fcfx FC_Comp_Source_Pressure_Sensor_BME280.fcfx] |