SensirionSHTxxSensor

SwordfishUser.SensirionSHTxxSensor History

Hide minor edits - Show changes to output

Changed lines 126-128 from:
   INDF2 = INDF2 And SClock.PinMask        // clear pin 
to:
   DelayUS(10)
    INDF2 = INDF2 And SClock.PinMask       // clear pin
    DelayUS(10)
Added line 131:
   DelayUS(10)
Changed lines 147-149 from:
   INDF2 = INDF2 And SClock.PinMask        // clear pin   
to:
   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)   
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:
   tx = (buf * 0.01) - 40.0
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:
   temp = tx + 0.00001
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

Deleted line 250:
   result = false
Deleted line 255:
   result = false
Changed line 263 from:
   result = false
to:
Dim result1 As Boolean
Changed lines 265-266 from:
   result = Sensirion_Put_Byte(CMD_STATUS_REG_W)
    result = result Or Sensirion_Put_Byte(data)
to:
   result1 = Sensirion_Put_Byte(CMD_STATUS_REG_W)
    result = result1 And Sensirion_Put_Byte(data)
Changed lines 289-290 from:
   Until i = 500
    If i = 500 Then
to:
   Until i > 500
    If i > 500 Then
Added line 310:
Dim result1 As Boolean
Changed lines 312-313 from:
   result = Sensirion_Get(CMD_TEMP, data_h, data_l, data_cksum)
    buf = (data_h << 8) Or data_l
to:
   result1 = Sensirion_Get(CMD_TEMP, data_h, data_l, data_cksum)
    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     
Changed line 328 from:
   temp = tx
to:
   temp = tx + 0.00001