SensirionSHTxxSensor
SwordfishUser.SensirionSHTxxSensor History
Hide minor edits - Show changes to output
Changed lines 126-128 from:
to:
DelayUS(10)
INDF2 = INDF2 And SClock.PinMask // clear pin
DelayUS(10)
INDF2 = INDF2 And SClock.PinMask // clear pin
DelayUS(10)
Added line 131:
DelayUS(10)
Changed lines 147-149 from:
to:
DelayUS(10)
INDF2 = INDF2 And SClock.PinMask // clear pin
DelayUS(10)
INDF2 = INDF2 And SClock.PinMask // clear pin
DelayUS(10)
Added line 152:
DelayUS(10)
Added line 159:
DelayUS(10)
Changed line 161 from:
DelayUS(1)
to:
DelayUS(10)
Changed line 163 from:
DelayUS(1)
to:
DelayUS(10)
Changed line 165 from:
DelayUS(1)
to:
DelayUS(10)
Changed line 167 from:
DelayUS(1)
to:
DelayUS(10)
Changed line 169 from:
DelayUS(1)
to:
DelayUS(10)
Changed line 171 from:
DelayUS(1)
to:
DelayUS(10)
Added line 173:
DelayUS(10)
Added line 181:
DelayUS(10)
Changed line 186 from:
DelayUS(1)
to:
DelayUS(10)
Changed line 191 from:
DelayUS(1)
to:
DelayUS(10)
Added line 197:
DelayUS(10)
Changed lines 203-204 from:
End If
to:
End If
DelayUS(10)
DelayUS(10)
Changed line 206 from:
DelayUS(1)
to:
DelayUS(10)
Changed line 208 from:
DelayUS(1)
to:
DelayUS(10)
Added line 223:
DelayUS(10)
Changed line 225 from:
DelayUS(1)
to:
DelayUS(10)
Changed line 227 from:
DelayUS(1)
to:
DelayUS(10)
Added line 233:
DelayUS(10)
Changed line 236 from:
DelayUS(1)
to:
DelayUS(10)
Changed line 241 from:
DelayUS(1)
to:
DelayUS(10)
Added line 244:
DelayUS(10)
Added line 253:
DelayUS(10)
Added line 255:
DelayUS(10)
Changed line 259 from:
DelayUS(1)
to:
DelayUS(10)
Changed line 261 from:
DelayUS(1)
to:
DelayUS(10)
Added line 297:
DelayUS(10)
Added line 314:
DelayUS(10)
Added line 317:
DelayUS(10)
Changed line 329 from:
Dim rh_lin, rh_true, tx As Float
to:
Dim rh_lin, rh_true As Float
Changed line 335 from:
to:
temp = (buf * 0.01) - 40.0
Changed line 345 from:
rh_true = ((tx - 25.0) * (T1 + T2 * buf)) + rh_lin
to:
rh_true = ((temp - 25.0) * (T1 + T2 * buf)) + rh_lin
Deleted line 347:
Added line 11:
Function Sensirion_Get_Temp_Hum_Dec(ByRef temp_d, hum_d As Integer) As Boolean // result will be multiplied by 100
Added lines 333-358:
Public Function Sensirion_Get_Temp_Hum_Dec(ByRef temp_d, hum_d As Integer) As Boolean
Const C1d As LongInt = -40000,
C2d As LongInt = 405,
C3d As LongInt = -28
Dim rh_lin, rh_true As LongInt
Dim result1 As Boolean
Dim buf As Word
result1 = Sensirion_Get(CMD_TEMP, data_h, data_l, data_cksum)
temp_d.Byte0 = data_l
temp_d.Byte1 = data_h
temp_d = temp_d - 4000
result = result1 And Sensirion_Get(CMD_HUMIDITY, data_h, data_l, data_cksum)
If result = false Then
temp_d = 0
hum_d = 0
Exit
End If
buf.Byte0 = data_l
buf.Byte1 = data_h
rh_lin = (((C3d * buf * buf) / 1000) + (C2d * buf) + C1d) / 100
rh_true = (((temp_d - 2500) * buf) / 12500) + rh_lin
If rh_true > 9999 Then rh_true = 9999 End If
If rh_true < 0 Then rh_true = 0 End If
hum_d = Integer(rh_true)
End Function
Const C1d As LongInt = -40000,
C2d As LongInt = 405,
C3d As LongInt = -28
Dim rh_lin, rh_true As LongInt
Dim result1 As Boolean
Dim buf As Word
result1 = Sensirion_Get(CMD_TEMP, data_h, data_l, data_cksum)
temp_d.Byte0 = data_l
temp_d.Byte1 = data_h
temp_d = temp_d - 4000
result = result1 And Sensirion_Get(CMD_HUMIDITY, data_h, data_l, data_cksum)
If result = false Then
temp_d = 0
hum_d = 0
Exit
End If
buf.Byte0 = data_l
buf.Byte1 = data_h
rh_lin = (((C3d * buf * buf) / 1000) + (C2d * buf) + C1d) / 100
rh_true = (((temp_d - 2500) * buf) / 12500) + rh_lin
If rh_true > 9999 Then rh_true = 9999 End If
If rh_true < 0 Then rh_true = 0 End If
hum_d = Integer(rh_true)
End Function
Deleted line 250:
Deleted line 255:
Changed line 263 from:
to:
Dim result1 As Boolean
Changed lines 265-266 from:
result =
to:
result1 = Sensirion_Put_Byte(CMD_STATUS_REG_W)
result = result1 And Sensirion_Put_Byte(data)
result = result1 And Sensirion_Put_Byte(data)
Changed lines 289-290 from:
Until i = 500
If i= 500 Then
If i
to:
Until i > 500
If i > 500 Then
If i > 500 Then
Added line 310:
Dim result1 As Boolean
Changed lines 312-313 from:
buf =
to:
result1 = Sensirion_Get(CMD_TEMP, data_h, data_l, data_cksum)
buf.Byte0 = data_l
buf.Byte1 = data_h
buf.Byte0 = data_l
buf.Byte1 = data_h
Changed line 316 from:
result = result Or Sensirion_Get(CMD_HUMIDITY, data_h, data_l, data_cksum)
to:
result = result1 And Sensirion_Get(CMD_HUMIDITY, data_h, data_l, data_cksum)
Changed lines 321-322 from:
End If
buf = (data_h << 8) Or data_l
to:
End If
buf.Byte0 = data_l
buf.Byte1 = data_h
buf.Byte0 = data_l
buf.Byte1 = data_h
Changed line 328 from:
temp = tx
to:
temp = tx + 0.00001