LPC1768
Dependencies: mbed
BreakS_Check.cpp
- Committer:
- nadaanas1985
- Date:
- 2021-01-24
- Revision:
- 4:01c29032b989
- Parent:
- 3:48452b27a9f8
File content as of revision 4:01c29032b989:
#include "mbed.h" #include "math.h" CAN can(p9, p10); //DigitalOut canS(CANS,1); DigitalOut LED_1(LED1); AnalogIn Ana0(p15); AnalogIn Ana1(p16); AnalogIn Ana2(p17); AnalogIn Ana3(p19); int main() { wait(0.5); can.frequency(250000); // canS=0; float max=0; int count =0; //CANMessage cn(CAN_ID, can_msg, 8, CANData,CANExtended); while(1) { float A0_Read = Ana0.read()-0.065; float A1_Read = Ana1.read()-0.065; float A2_Read = Ana2.read()-0.065; float A3_Read = Ana3.read()-0.065; if(A0_Read<0) { A0_Read=0; } if(A1_Read<0) { A1_Read=0; } if(A2_Read<0) { A2_Read=0; } if(A3_Read<0) { A3_Read=0; } //int A0_Converted = floor(A0_Read*300); //int A1_Converted = floor(A1_Read*300); //int A2_Converted = floor(A2_Read*300); //int A3_Converted = floor(A3_Read*300); //float CalculatedPower = pow((float)1.043 , (float)A0_Read*69); //float A0_Converted = floor(((3.1)*(pow((float)1.043 , (float)A0_Read*69))-3.1)); //Float A1_Converted = floor(((3.1)*(pow((float)1.043 , (float)A0_Read*69))-3.1)); //float A2_Converted = floor(((3.1)*(pow((float)1.043 , (float)A0_Read*69))-3.1)); //float A3_Converted = floor(((3.1)*(pow((float)1.043 , (float)A0_Read*69))-3.1)); float A0_Converted = 0; float A1_Converted = 0; float A2_Converted = 0; float A3_Converted = 0; char Air_Pressure_01 = (int)0; char Air_Pressure_02 = (int)0; char Air_Pressure_03 = (int)0; char Air_Pressure_04 = (int)0; bool CheckFront01=false; bool CheckFront02=false; bool CheckRear01=false; bool CheckRear02=false; if(A0_Read>0.001) { A0_Converted = ((3.29)*(pow((float)1.0356 , (float)A0_Read*81))-3.0); Air_Pressure_01 = (int)(A0_Converted/0.05); CheckFront01=true; } else { Air_Pressure_01 = (int)0; } if(A1_Read>0.007) { A1_Converted = ((3.07)*(pow((float)1.0212 , (float)A1_Read*146))-3.0); Air_Pressure_02 = (int)(A1_Converted/0.05); CheckFront02=true; } else { Air_Pressure_02 = (int)0; } if(A2_Read>0.007) { A2_Converted = ((3.12)*(pow((float)1.0314 , (float)A2_Read*97))-3.0); Air_Pressure_03 = (int)(A2_Converted/0.05); CheckRear01=true; } else { Air_Pressure_03 = (int)0; } if(A3_Read>0.007) { A3_Converted = ((3.12)*(pow((float)1.0244 , (float)A3_Read*127))-3.0); //A3_Converted = ((3.1)*(pow((float)1.0308 , (float)A3_Read*95))-3.0); Air_Pressure_04 = (int)(A3_Converted/0.05); CheckRear02=true; } else { Air_Pressure_04 = (int)0; } if(CheckFront01 & CheckFront02) { Air_Pressure_01 = (int)((Air_Pressure_01+Air_Pressure_02)/2); Air_Pressure_02 = Air_Pressure_01; } else { Air_Pressure_01=0; Air_Pressure_02=0; } if(CheckRear01 & CheckRear02) { Air_Pressure_03 = (int)((Air_Pressure_03+Air_Pressure_04)/2); Air_Pressure_04 = Air_Pressure_03; } else { Air_Pressure_03=0; Air_Pressure_04=0; } //printf("AIR 0: %f \t",A0_Read); //printf("AIR 1: %f \t",A1_Read); //printf("AIR 2: %f \t",A2_Read); //printf("AIR 3: %f \n\r",A3_Read); //printf("AIRC0: %f \t",A0_Converted); //printf("AIRC1: %f \t",A1_Converted); //printf("AIRC2: %f \t",A2_Converted); //printf("AIRC3: %f \n\r",A3_Converted); //printf("AIRA0: %i \t\t",(int)(A0_Converted/0.05)); //printf("AIRA1: %i \t\t",(int)(A1_Converted/0.05)); //printf("AIRA2: %i \t\t",(int)(A2_Converted/0.05)); //printf("AIRA3: %i \n\r",(int)(A3_Converted/0.05)); //Air_Pressure_01 = 0x15; if(max <A3_Read) { max=A3_Read; } //printf("AIR Convert: %i \t\t",A3_Converted); //printf("AIR: %f \t\t",A3_Read); //printf("Max: %f \n\r",max); char can_msg[8]; can.reset(); can_msg[0] = Air_Pressure_01; can_msg[1] = Air_Pressure_02; can_msg[2] = Air_Pressure_03; can_msg[3] = Air_Pressure_04; can_msg[4] = 0xff; can_msg[5] = 0xff; can_msg[6] = 0xff; can_msg[7] = 0xff; int CAN_ID= 0x18ff4103; can.write(CANMessage(CAN_ID, can_msg, 8, CANData,CANExtended)); count++; if(count >=10) { LED_1 = !LED_1; count =0; } //wait(1); //wait(0.02); } }