Fanspeed and temperature Reporting 635+SCAB

Guinness

New member
Hi,

i'm using a modified test635 C source to program temperature and fanspeed reporting. I run this command in a loop every 500ms to read out the values:
Code:
int timed_out = 1;		
     for(int k=0;k<=10000;k++)
     {
       if(check_for_packet())
             {
              ShowReceivedPacket();
              break;
              }
        if(timed_out)
          {}
       }
The program is running under linux and if I set fan 1 to 84% and enable fanspeed report I recieve this from the function ShowReceivedPacket()

C=129( 1 = Read Version),L=4,D="\000\011\172N",CRC=0xB7FF5F95

The values after D="\000\ vary and I can not find any logic. The first three 000 tell me which fan is reported but the rest looks very confusing to me.

The same when I use temperature reporting, I use the same function as above and I'll get this:

C=130( 2 = Write Flash),L=4,D="\000v\001\001",CRC=0xB7FB893B

Can someone tell me what I have to change in that function, so that I get "real" values?!


Thanks


Note:
I think it is because the incoming data is being formated to a string. If I look at it with a packet sniffer the structure of the packets look like it is described in the manual.
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.
 
Last edited:

CF Mark

Administrator
The data back from the CFA-631/CFA-633/CFA-635 will not be plain real values.
You have to put them through a formula to get the correct results.

See "0x81: Fan Speed Report (SCAB required)" in the CFA-635 datasheet, or even better, the 635_WinTest sourecode for information.
 

Guinness

New member
Oh, that's true! There is some more information at the beginning of the manual I didn't recognize...

Thanks for pointing me the right way!
 
Top