forked from mirror/smcFanControl
support all found sp/fp oocurances I found so far
This commit is contained in:
@ -77,9 +77,50 @@ void smc_init(){
|
|||||||
void smc_close(){
|
void smc_close(){
|
||||||
SMCClose(conn);
|
SMCClose(conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void printFP1F(SMCVal_t val)
|
||||||
|
{
|
||||||
|
printf("%.5f ", ntohs(*(UInt16*)val.bytes) / 32768.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void printFP4C(SMCVal_t val)
|
||||||
|
{
|
||||||
|
printf("%.5f ", ntohs(*(UInt16*)val.bytes) / 4096.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void printFP5B(SMCVal_t val)
|
||||||
|
{
|
||||||
|
printf("%.5f ", ntohs(*(UInt16*)val.bytes) / 2048.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void printFP6A(SMCVal_t val)
|
||||||
|
{
|
||||||
|
printf("%.4f ", ntohs(*(UInt16*)val.bytes) / 1024.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void printFP79(SMCVal_t val)
|
||||||
|
{
|
||||||
|
printf("%.4f ", ntohs(*(UInt16*)val.bytes) / 512.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void printFP88(SMCVal_t val)
|
||||||
|
{
|
||||||
|
printf("%.3f ", ntohs(*(UInt16*)val.bytes) / 256.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void printFPA6(SMCVal_t val)
|
||||||
|
{
|
||||||
|
printf("%.2f ", ntohs(*(UInt16*)val.bytes) / 64.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void printFPC4(SMCVal_t val)
|
||||||
|
{
|
||||||
|
printf("%.2f ", ntohs(*(UInt16*)val.bytes) / 16.0);
|
||||||
|
}
|
||||||
|
|
||||||
void printFPE2(SMCVal_t val)
|
void printFPE2(SMCVal_t val)
|
||||||
{
|
{
|
||||||
printf("%.02f ", _strtof(val.bytes, val.dataSize, 2));
|
printf("%.2f ", ntohs(*(UInt16*)val.bytes) / 4.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void printUInt(SMCVal_t val)
|
void printUInt(SMCVal_t val)
|
||||||
@ -89,7 +130,27 @@ void printUInt(SMCVal_t val)
|
|||||||
|
|
||||||
void printSP78(SMCVal_t val)
|
void printSP78(SMCVal_t val)
|
||||||
{
|
{
|
||||||
printf("%d.%02u ", (signed char)*val.bytes, (*(val.bytes+1)) * 100 / 256);
|
printf("%.3f ", ((SInt16)ntohs(*(UInt16*)val.bytes)) / 256.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void printSP87(SMCVal_t val)
|
||||||
|
{
|
||||||
|
printf("%.3f ", ((SInt16)ntohs(*(UInt16*)val.bytes)) / 128.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void printSP96(SMCVal_t val)
|
||||||
|
{
|
||||||
|
printf("%.2f ", ((SInt16)ntohs(*(UInt16*)val.bytes)) / 64.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void printSPB4(SMCVal_t val)
|
||||||
|
{
|
||||||
|
printf("%.2f ", ((SInt16)ntohs(*(UInt16*)val.bytes)) / 16.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void printSPF0(SMCVal_t val)
|
||||||
|
{
|
||||||
|
printf("%.0f ", (float)ntohs(*(UInt16*)val.bytes));
|
||||||
}
|
}
|
||||||
|
|
||||||
void printSI8(SMCVal_t val)
|
void printSI8(SMCVal_t val)
|
||||||
@ -126,10 +187,34 @@ void printVal(SMCVal_t val)
|
|||||||
(strcmp(val.dataType, DATATYPE_UINT16) == 0) ||
|
(strcmp(val.dataType, DATATYPE_UINT16) == 0) ||
|
||||||
(strcmp(val.dataType, DATATYPE_UINT32) == 0))
|
(strcmp(val.dataType, DATATYPE_UINT32) == 0))
|
||||||
printUInt(val);
|
printUInt(val);
|
||||||
else if (strcmp(val.dataType, DATATYPE_FPE2) == 0)
|
else if (strcmp(val.dataType, DATATYPE_FP1F) == 0 && val.dataSize == 2)
|
||||||
|
printFP1F(val);
|
||||||
|
else if (strcmp(val.dataType, DATATYPE_FP4C) == 0 && val.dataSize == 2)
|
||||||
|
printFP4C(val);
|
||||||
|
else if (strcmp(val.dataType, DATATYPE_FP5B) == 0 && val.dataSize == 2)
|
||||||
|
printFP5B(val);
|
||||||
|
else if (strcmp(val.dataType, DATATYPE_FP6A) == 0 && val.dataSize == 2)
|
||||||
|
printFP6A(val);
|
||||||
|
else if (strcmp(val.dataType, DATATYPE_FP79) == 0 && val.dataSize == 2)
|
||||||
|
printFP79(val);
|
||||||
|
else if (strcmp(val.dataType, DATATYPE_FP88) == 0 && val.dataSize == 2)
|
||||||
|
printFP88(val);
|
||||||
|
else if (strcmp(val.dataType, DATATYPE_FPA6) == 0 && val.dataSize == 2)
|
||||||
|
printFPA6(val);
|
||||||
|
else if (strcmp(val.dataType, DATATYPE_FPC4) == 0 && val.dataSize == 2)
|
||||||
|
printFPC4(val);
|
||||||
|
else if (strcmp(val.dataType, DATATYPE_FPE2) == 0 && val.dataSize == 2)
|
||||||
printFPE2(val);
|
printFPE2(val);
|
||||||
else if (strcmp(val.dataType, DATATYPE_SP78) == 0 && val.dataSize == 2)
|
else if (strcmp(val.dataType, DATATYPE_SP78) == 0 && val.dataSize == 2)
|
||||||
printSP78(val);
|
printSP78(val);
|
||||||
|
else if (strcmp(val.dataType, DATATYPE_SP87) == 0 && val.dataSize == 2)
|
||||||
|
printSP87(val);
|
||||||
|
else if (strcmp(val.dataType, DATATYPE_SP96) == 0 && val.dataSize == 2)
|
||||||
|
printSP96(val);
|
||||||
|
else if (strcmp(val.dataType, DATATYPE_SPB4) == 0 && val.dataSize == 2)
|
||||||
|
printSPB4(val);
|
||||||
|
else if (strcmp(val.dataType, DATATYPE_SPF0) == 0 && val.dataSize == 2)
|
||||||
|
printSPF0(val);
|
||||||
else if (strcmp(val.dataType, DATATYPE_SI8) == 0 && val.dataSize == 1)
|
else if (strcmp(val.dataType, DATATYPE_SI8) == 0 && val.dataSize == 1)
|
||||||
printSI8(val);
|
printSI8(val);
|
||||||
else if (strcmp(val.dataType, DATATYPE_SI16) == 0 && val.dataSize == 2)
|
else if (strcmp(val.dataType, DATATYPE_SI16) == 0 && val.dataSize == 2)
|
||||||
|
|||||||
@ -38,13 +38,29 @@
|
|||||||
#define SMC_CMD_READ_PLIMIT 11
|
#define SMC_CMD_READ_PLIMIT 11
|
||||||
#define SMC_CMD_READ_VERS 12
|
#define SMC_CMD_READ_VERS 12
|
||||||
|
|
||||||
|
#define DATATYPE_FP1F "fp1f"
|
||||||
|
#define DATATYPE_FP4C "fp4c"
|
||||||
|
#define DATATYPE_FP5B "fp5b"
|
||||||
|
#define DATATYPE_FP6A "fp6a"
|
||||||
|
#define DATATYPE_FP79 "fp79"
|
||||||
|
#define DATATYPE_FP88 "fp88"
|
||||||
|
#define DATATYPE_FPA6 "fpa6"
|
||||||
|
#define DATATYPE_FPC4 "fpc4"
|
||||||
#define DATATYPE_FPE2 "fpe2"
|
#define DATATYPE_FPE2 "fpe2"
|
||||||
|
|
||||||
|
#define DATATYPE_SP78 "sp78"
|
||||||
|
#define DATATYPE_SP87 "sp87"
|
||||||
|
#define DATATYPE_SP96 "sp96"
|
||||||
|
#define DATATYPE_SPB4 "spb4"
|
||||||
|
#define DATATYPE_SPF0 "spf0"
|
||||||
|
|
||||||
#define DATATYPE_UINT8 "ui8 "
|
#define DATATYPE_UINT8 "ui8 "
|
||||||
#define DATATYPE_UINT16 "ui16"
|
#define DATATYPE_UINT16 "ui16"
|
||||||
#define DATATYPE_UINT32 "ui32"
|
#define DATATYPE_UINT32 "ui32"
|
||||||
#define DATATYPE_SP78 "sp78"
|
|
||||||
#define DATATYPE_SI8 "si8 "
|
#define DATATYPE_SI8 "si8 "
|
||||||
#define DATATYPE_SI16 "si16"
|
#define DATATYPE_SI16 "si16"
|
||||||
|
|
||||||
#define DATATYPE_PWM "{pwm"
|
#define DATATYPE_PWM "{pwm"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|||||||
Reference in New Issue
Block a user