Database-Based-Driver
- 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
WriteTwoBytes
- Public Sub WriteTwoBytes(Address As Byte, RegisterHigh As Integer, RegisterLow As Integer, DataHigh As Integer, DataLow As Integer)
- 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