Dual CANbus monitor and instrumentation cluster
Dependencies: SPI_TFTx2 TFT_fonts TOUCH_TFTx2 beep mbed
Fork of CANary by
Diff: utility.cpp
- Branch:
- Metric
- Revision:
- 120:041edeec08f5
- Parent:
- 119:0e2b641e98a2
- Child:
- 121:553faf139a20
--- a/utility.cpp Fri Jul 05 16:55:04 2013 +0000 +++ b/utility.cpp Mon Jul 08 02:08:08 2013 +0000 @@ -298,10 +298,24 @@ imWs_x4 = packV_x2; // Volts*milliSeconds*2 imWs_x4 *= -packA_x2; // milliWattseconds*4 mWs_x4 += imWs_x4; // total mWs_x4 - unloadedVavg_x2 += packV_x2-Resr*packA_x2; - Rlms += (packV_x2-Resr*packA_x2-unloadedV_x2)*(packV_x2-Resr*packA_x2-unloadedV_x2); - redRlms += (packV_x2-(Resr-0.001)*packA_x2-unloadedV_x2)*(packV_x2-(Resr-0.001)*packA_x2-unloadedV_x2); - incRlms += (packV_x2-(Resr+0.001)*packA_x2-unloadedV_x2)*(packV_x2-(Resr+0.001)*packA_x2-unloadedV_x2); + float temp = packV_x2-Resr*packA_x2; + if(temp>curRmax){ + curRmax=temp; + } else if(temp<curRmin){ + curRmin=temp; + } + temp = packV_x2-(Resr-0.001)*packA_x2; + if(temp>redRmax){ + redRmax=temp; + } else if(temp<redRmin){ + redRmin=temp; + } + temp = packV_x2-(Resr+0.001)*packA_x2; + if(temp>incRmax){ + incRmax=temp; + } else if(temp<incRmin){ + incRmin=temp; + } numWsamples++; }else if((mType==1)&&(canRXmsg.id==0x1da)){ //Motor Speed imotorRPM=((canRXmsg.data[4]<<8)|(canRXmsg.data[5])); @@ -359,8 +373,6 @@ data[2]=0x01; break; case BatDataBaseG2: // group 1 has 6 frames - can1.monitor(false); // set to active mode - can1SleepMode = 0; // enable TX data[0]=0x02; //change to request group 2 (cp data) data[1]=0x21; data[2]=0x02; @@ -382,10 +394,9 @@ break; case BatDataBaseG6: // group 5 has 11 frames reqMsgCnt = 99; - can1SleepMode = 1; // disable TX + can1SleepMode = VP230Sleep; // disable TX can1.monitor(true); // set to snoop mode msgReq.detach(); // stop ticker - //logCP=true; //LAJ for bench test default: data[0]=0x30; //change to request next line message data[1]=0x01;