Database-Based-Driver

From *** My Personal Wiki ***
Revision as of 13:16, 17 June 2010 by 72.208.110.246 (talk)
Jump to navigation Jump to search
  • User SQL to make flexible driver that can be loaded


Public Sub Write_Set_Value(Address As Byte, SetTemperature As Integer)

  Dim X() As Long
  Dim ArraySize As Integer
  Dim TemperatureHighByte As Integer
  Dim TemperatureLowByte As Integer
  Dim TemperatureRegister As Integer
  Dim AlreadySetTemperature As Integer
  If DebugFlagNot = True Then On Error Resume Next

  TemperatureRegister = SetTemperature                             '--Controller already set to this temperature > exit
  AlreadySetTemperature = Read_Set_Value(Address)
  If SetTemperature = AlreadySetTemperature Then Exit Sub
  If TemperatureRegister < 0 Then
     TemperatureRegister = 2 ^ 15 + TemperatureRegister
     TemperatureHighByte = HiByte(CLng(TemperatureRegister)) + 128
     TemperatureLowByte = LoByte(CLng(TemperatureRegister))
  Else
     TemperatureHighByte = HiByte(CLng(TemperatureRegister))
     TemperatureLowByte = LoByte(CLng(TemperatureRegister))
  End If
 
  WriteTwoBytes Address, 0, 0, TemperatureHighByte, TemperatureLowByte

End Sub Write


  • X(1) = Address: X(2) = 16: X(3) = RegisterHigh: X(4) = RegisterLow: X(5) = 0: X(6) = 2: X(7) = 4: X(8) = DataHigh: X(9) = DataLow: X(10) = 0: X(11) = 0