Hi Kale
Only Mb temp is returned correct as is, all other reading need some calculations

There are no floats returned, all byte values.
Here is the data sheet, all starts at page 104.
http://www.benny.zeb.be/w83627hf.pdf
fans are at $28, S29, $2a
FanRPM1 = 1350000 / FanDiv1 / value
fandiv1 is the fandivisor you have to set in the chip at startup, if the in-chip value is different than the one you use, rpm is wrong.
Watch out, if value read is 0 (fan stopped) you get divide by zero exeption, so first check.
here is the procedure to set the fan divisor
Code: Select all
Procedure setfandiv()
; ---------------- fan 1 en 2 ---------------------
waarde.b = 0
Select FanDiv1
Case 1
waarde.b = 0
Case 2
waarde.b = %10000
Case 4
waarde.b = %100000
Case 8
waarde.b = %110000
EndSelect
Select FanDiv2
Case 2
waarde.b=waarde.b+%1000000
Case 4
waarde.b=waarde.b+%10000000
Case 8
waarde.b=waarde.b+%11000000
EndSelect
; fan 1 en 2
WritePort( $295, $47)
WritePort( $296, waarde.b)
; ---------------- fan 3 ---------------------
waarde.b = 0
Select FanDiv3
Case 1
waarde.b = 0
Case 2
waarde.b = %1000000
Case 4
waarde.b = %10000000
Case 8
waarde.b = %11000000
EndSelect
; fan3
WritePort( $295, $4b)
WritePort( $296, waarde.b)
EndProcedure
So if you read the fans, and do the above calculation, it could work

voltages are little easyer.
Code: Select all
core0 = (Read($20) * 16)
core1 = (Read($21) * 16)
volt3 = (Read($22) * 16)
volt5 = (Read($23) * 16) / (50000 / (50000 + 34000))
volt12 =(Read($24) * 16) / (10000 / (10000 + 28000))
volt12neg = ((Read($25) * 16) - 3600 * (232000 / (232000 + 56000))) / (1 - (232000 / (232000 + 56000)))
volt5neg = ((Read($26) * 16) - 3600 * (120000 / (120000 + 56000))) / (1 - (120000 / (120000 + 56000)))
The values 120000 and 56000 etc.. are the resistors on my ASUS board, and recommended by Winbond.
Could be that they are different on your board...(its not 100% standard)
But this values work fine on my Winbond chip, so il guess it will be ok for you.
I did not convert from TvicHW32 to WinIO...
Good luck,
Regards,
Berikco
http://www.benny.zeb.be