Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
BreakS_Check.cpp@4:01c29032b989, 2021-01-24 (annotated)
- Committer:
- nadaanas1985
- Date:
- Sun Jan 24 17:09:27 2021 +0000
- Revision:
- 4:01c29032b989
- Parent:
- 3:48452b27a9f8
Mbed LPC1768
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nadaanas1985 | 1:188a7eaafba6 | 1 | #include "mbed.h" |
nadaanas1985 | 1:188a7eaafba6 | 2 | #include "math.h" |
nadaanas1985 | 1:188a7eaafba6 | 3 | |
nadaanas1985 | 4:01c29032b989 | 4 | CAN can(p9, p10); |
nadaanas1985 | 4:01c29032b989 | 5 | //DigitalOut canS(CANS,1); |
nadaanas1985 | 4:01c29032b989 | 6 | DigitalOut LED_1(LED1); |
nadaanas1985 | 4:01c29032b989 | 7 | AnalogIn Ana0(p15); |
nadaanas1985 | 4:01c29032b989 | 8 | AnalogIn Ana1(p16); |
nadaanas1985 | 4:01c29032b989 | 9 | AnalogIn Ana2(p17); |
nadaanas1985 | 4:01c29032b989 | 10 | AnalogIn Ana3(p19); |
nadaanas1985 | 1:188a7eaafba6 | 11 | |
nadaanas1985 | 1:188a7eaafba6 | 12 | |
nadaanas1985 | 1:188a7eaafba6 | 13 | |
nadaanas1985 | 1:188a7eaafba6 | 14 | int main() |
nadaanas1985 | 1:188a7eaafba6 | 15 | { |
nadaanas1985 | 1:188a7eaafba6 | 16 | |
nadaanas1985 | 1:188a7eaafba6 | 17 | wait(0.5); |
nadaanas1985 | 1:188a7eaafba6 | 18 | can.frequency(250000); |
nadaanas1985 | 1:188a7eaafba6 | 19 | |
nadaanas1985 | 4:01c29032b989 | 20 | // canS=0; |
nadaanas1985 | 1:188a7eaafba6 | 21 | |
cathaldigi | 2:a43c7329a8e6 | 22 | float max=0; |
cathaldigi | 3:48452b27a9f8 | 23 | int count =0; |
nadaanas1985 | 1:188a7eaafba6 | 24 | |
nadaanas1985 | 1:188a7eaafba6 | 25 | //CANMessage cn(CAN_ID, can_msg, 8, CANData,CANExtended); |
nadaanas1985 | 1:188a7eaafba6 | 26 | while(1) |
nadaanas1985 | 1:188a7eaafba6 | 27 | { |
cathaldigi | 3:48452b27a9f8 | 28 | float A0_Read = Ana0.read()-0.065; |
cathaldigi | 3:48452b27a9f8 | 29 | float A1_Read = Ana1.read()-0.065; |
cathaldigi | 3:48452b27a9f8 | 30 | float A2_Read = Ana2.read()-0.065; |
cathaldigi | 3:48452b27a9f8 | 31 | float A3_Read = Ana3.read()-0.065; |
nadaanas1985 | 1:188a7eaafba6 | 32 | |
cathaldigi | 2:a43c7329a8e6 | 33 | if(A0_Read<0) |
cathaldigi | 2:a43c7329a8e6 | 34 | { |
cathaldigi | 2:a43c7329a8e6 | 35 | A0_Read=0; |
cathaldigi | 2:a43c7329a8e6 | 36 | } |
cathaldigi | 2:a43c7329a8e6 | 37 | |
cathaldigi | 2:a43c7329a8e6 | 38 | if(A1_Read<0) |
cathaldigi | 2:a43c7329a8e6 | 39 | { |
cathaldigi | 2:a43c7329a8e6 | 40 | A1_Read=0; |
cathaldigi | 2:a43c7329a8e6 | 41 | } |
nadaanas1985 | 1:188a7eaafba6 | 42 | |
cathaldigi | 2:a43c7329a8e6 | 43 | if(A2_Read<0) |
cathaldigi | 2:a43c7329a8e6 | 44 | { |
cathaldigi | 2:a43c7329a8e6 | 45 | A2_Read=0; |
cathaldigi | 2:a43c7329a8e6 | 46 | } |
nadaanas1985 | 1:188a7eaafba6 | 47 | |
cathaldigi | 2:a43c7329a8e6 | 48 | if(A3_Read<0) |
cathaldigi | 2:a43c7329a8e6 | 49 | { |
cathaldigi | 2:a43c7329a8e6 | 50 | A3_Read=0; |
cathaldigi | 2:a43c7329a8e6 | 51 | } |
cathaldigi | 2:a43c7329a8e6 | 52 | |
cathaldigi | 3:48452b27a9f8 | 53 | //int A0_Converted = floor(A0_Read*300); |
cathaldigi | 3:48452b27a9f8 | 54 | //int A1_Converted = floor(A1_Read*300); |
cathaldigi | 3:48452b27a9f8 | 55 | //int A2_Converted = floor(A2_Read*300); |
cathaldigi | 3:48452b27a9f8 | 56 | //int A3_Converted = floor(A3_Read*300); |
cathaldigi | 3:48452b27a9f8 | 57 | |
cathaldigi | 3:48452b27a9f8 | 58 | //float CalculatedPower = pow((float)1.043 , (float)A0_Read*69); |
cathaldigi | 3:48452b27a9f8 | 59 | |
cathaldigi | 3:48452b27a9f8 | 60 | //float A0_Converted = floor(((3.1)*(pow((float)1.043 , (float)A0_Read*69))-3.1)); |
cathaldigi | 3:48452b27a9f8 | 61 | //Float A1_Converted = floor(((3.1)*(pow((float)1.043 , (float)A0_Read*69))-3.1)); |
cathaldigi | 3:48452b27a9f8 | 62 | //float A2_Converted = floor(((3.1)*(pow((float)1.043 , (float)A0_Read*69))-3.1)); |
cathaldigi | 3:48452b27a9f8 | 63 | //float A3_Converted = floor(((3.1)*(pow((float)1.043 , (float)A0_Read*69))-3.1)); |
cathaldigi | 3:48452b27a9f8 | 64 | |
cathaldigi | 3:48452b27a9f8 | 65 | float A0_Converted = 0; |
cathaldigi | 3:48452b27a9f8 | 66 | float A1_Converted = 0; |
cathaldigi | 3:48452b27a9f8 | 67 | float A2_Converted = 0; |
cathaldigi | 3:48452b27a9f8 | 68 | float A3_Converted = 0; |
cathaldigi | 3:48452b27a9f8 | 69 | char Air_Pressure_01 = (int)0; |
cathaldigi | 3:48452b27a9f8 | 70 | char Air_Pressure_02 = (int)0; |
cathaldigi | 3:48452b27a9f8 | 71 | char Air_Pressure_03 = (int)0; |
cathaldigi | 3:48452b27a9f8 | 72 | char Air_Pressure_04 = (int)0; |
cathaldigi | 3:48452b27a9f8 | 73 | |
cathaldigi | 3:48452b27a9f8 | 74 | bool CheckFront01=false; |
cathaldigi | 3:48452b27a9f8 | 75 | bool CheckFront02=false; |
cathaldigi | 3:48452b27a9f8 | 76 | bool CheckRear01=false; |
cathaldigi | 3:48452b27a9f8 | 77 | bool CheckRear02=false; |
cathaldigi | 3:48452b27a9f8 | 78 | |
cathaldigi | 3:48452b27a9f8 | 79 | if(A0_Read>0.001) |
cathaldigi | 3:48452b27a9f8 | 80 | { |
cathaldigi | 3:48452b27a9f8 | 81 | A0_Converted = ((3.29)*(pow((float)1.0356 , (float)A0_Read*81))-3.0); |
cathaldigi | 3:48452b27a9f8 | 82 | Air_Pressure_01 = (int)(A0_Converted/0.05); |
cathaldigi | 3:48452b27a9f8 | 83 | CheckFront01=true; |
cathaldigi | 3:48452b27a9f8 | 84 | } |
cathaldigi | 3:48452b27a9f8 | 85 | else |
cathaldigi | 3:48452b27a9f8 | 86 | { |
cathaldigi | 3:48452b27a9f8 | 87 | Air_Pressure_01 = (int)0; |
cathaldigi | 3:48452b27a9f8 | 88 | } |
cathaldigi | 3:48452b27a9f8 | 89 | |
cathaldigi | 3:48452b27a9f8 | 90 | if(A1_Read>0.007) |
cathaldigi | 3:48452b27a9f8 | 91 | { |
cathaldigi | 3:48452b27a9f8 | 92 | A1_Converted = ((3.07)*(pow((float)1.0212 , (float)A1_Read*146))-3.0); |
cathaldigi | 3:48452b27a9f8 | 93 | Air_Pressure_02 = (int)(A1_Converted/0.05); |
cathaldigi | 3:48452b27a9f8 | 94 | CheckFront02=true; |
cathaldigi | 3:48452b27a9f8 | 95 | } |
cathaldigi | 3:48452b27a9f8 | 96 | else |
cathaldigi | 3:48452b27a9f8 | 97 | { |
cathaldigi | 3:48452b27a9f8 | 98 | Air_Pressure_02 = (int)0; |
cathaldigi | 3:48452b27a9f8 | 99 | } |
nadaanas1985 | 1:188a7eaafba6 | 100 | |
cathaldigi | 3:48452b27a9f8 | 101 | if(A2_Read>0.007) |
cathaldigi | 3:48452b27a9f8 | 102 | { |
cathaldigi | 3:48452b27a9f8 | 103 | A2_Converted = ((3.12)*(pow((float)1.0314 , (float)A2_Read*97))-3.0); |
cathaldigi | 3:48452b27a9f8 | 104 | Air_Pressure_03 = (int)(A2_Converted/0.05); |
cathaldigi | 3:48452b27a9f8 | 105 | CheckRear01=true; |
cathaldigi | 3:48452b27a9f8 | 106 | } |
cathaldigi | 3:48452b27a9f8 | 107 | else |
cathaldigi | 3:48452b27a9f8 | 108 | { |
cathaldigi | 3:48452b27a9f8 | 109 | Air_Pressure_03 = (int)0; |
cathaldigi | 3:48452b27a9f8 | 110 | } |
cathaldigi | 3:48452b27a9f8 | 111 | |
cathaldigi | 3:48452b27a9f8 | 112 | if(A3_Read>0.007) |
cathaldigi | 3:48452b27a9f8 | 113 | { |
cathaldigi | 3:48452b27a9f8 | 114 | A3_Converted = ((3.12)*(pow((float)1.0244 , (float)A3_Read*127))-3.0); |
cathaldigi | 3:48452b27a9f8 | 115 | //A3_Converted = ((3.1)*(pow((float)1.0308 , (float)A3_Read*95))-3.0); |
cathaldigi | 3:48452b27a9f8 | 116 | Air_Pressure_04 = (int)(A3_Converted/0.05); |
cathaldigi | 3:48452b27a9f8 | 117 | CheckRear02=true; |
cathaldigi | 3:48452b27a9f8 | 118 | } |
cathaldigi | 3:48452b27a9f8 | 119 | else |
cathaldigi | 3:48452b27a9f8 | 120 | { |
cathaldigi | 3:48452b27a9f8 | 121 | Air_Pressure_04 = (int)0; |
cathaldigi | 3:48452b27a9f8 | 122 | } |
cathaldigi | 3:48452b27a9f8 | 123 | |
cathaldigi | 3:48452b27a9f8 | 124 | if(CheckFront01 & CheckFront02) |
cathaldigi | 3:48452b27a9f8 | 125 | { |
cathaldigi | 3:48452b27a9f8 | 126 | Air_Pressure_01 = (int)((Air_Pressure_01+Air_Pressure_02)/2); |
cathaldigi | 3:48452b27a9f8 | 127 | Air_Pressure_02 = Air_Pressure_01; |
cathaldigi | 3:48452b27a9f8 | 128 | } |
cathaldigi | 3:48452b27a9f8 | 129 | else |
cathaldigi | 3:48452b27a9f8 | 130 | { |
cathaldigi | 3:48452b27a9f8 | 131 | Air_Pressure_01=0; |
cathaldigi | 3:48452b27a9f8 | 132 | Air_Pressure_02=0; |
cathaldigi | 3:48452b27a9f8 | 133 | } |
cathaldigi | 3:48452b27a9f8 | 134 | |
cathaldigi | 3:48452b27a9f8 | 135 | if(CheckRear01 & CheckRear02) |
cathaldigi | 3:48452b27a9f8 | 136 | { |
cathaldigi | 3:48452b27a9f8 | 137 | Air_Pressure_03 = (int)((Air_Pressure_03+Air_Pressure_04)/2); |
cathaldigi | 3:48452b27a9f8 | 138 | Air_Pressure_04 = Air_Pressure_03; |
cathaldigi | 3:48452b27a9f8 | 139 | } |
cathaldigi | 3:48452b27a9f8 | 140 | else |
cathaldigi | 3:48452b27a9f8 | 141 | { |
cathaldigi | 3:48452b27a9f8 | 142 | Air_Pressure_03=0; |
cathaldigi | 3:48452b27a9f8 | 143 | Air_Pressure_04=0; |
cathaldigi | 3:48452b27a9f8 | 144 | } |
cathaldigi | 3:48452b27a9f8 | 145 | |
cathaldigi | 3:48452b27a9f8 | 146 | |
cathaldigi | 3:48452b27a9f8 | 147 | //printf("AIR 0: %f \t",A0_Read); |
cathaldigi | 3:48452b27a9f8 | 148 | //printf("AIR 1: %f \t",A1_Read); |
cathaldigi | 3:48452b27a9f8 | 149 | //printf("AIR 2: %f \t",A2_Read); |
cathaldigi | 3:48452b27a9f8 | 150 | //printf("AIR 3: %f \n\r",A3_Read); |
cathaldigi | 3:48452b27a9f8 | 151 | //printf("AIRC0: %f \t",A0_Converted); |
cathaldigi | 3:48452b27a9f8 | 152 | //printf("AIRC1: %f \t",A1_Converted); |
cathaldigi | 3:48452b27a9f8 | 153 | //printf("AIRC2: %f \t",A2_Converted); |
cathaldigi | 3:48452b27a9f8 | 154 | //printf("AIRC3: %f \n\r",A3_Converted); |
cathaldigi | 3:48452b27a9f8 | 155 | //printf("AIRA0: %i \t\t",(int)(A0_Converted/0.05)); |
cathaldigi | 3:48452b27a9f8 | 156 | //printf("AIRA1: %i \t\t",(int)(A1_Converted/0.05)); |
cathaldigi | 3:48452b27a9f8 | 157 | //printf("AIRA2: %i \t\t",(int)(A2_Converted/0.05)); |
cathaldigi | 3:48452b27a9f8 | 158 | //printf("AIRA3: %i \n\r",(int)(A3_Converted/0.05)); |
cathaldigi | 3:48452b27a9f8 | 159 | |
nadaanas1985 | 1:188a7eaafba6 | 160 | |
nadaanas1985 | 1:188a7eaafba6 | 161 | |
nadaanas1985 | 1:188a7eaafba6 | 162 | //Air_Pressure_01 = 0x15; |
nadaanas1985 | 1:188a7eaafba6 | 163 | |
cathaldigi | 2:a43c7329a8e6 | 164 | if(max <A3_Read) |
cathaldigi | 2:a43c7329a8e6 | 165 | { |
cathaldigi | 2:a43c7329a8e6 | 166 | max=A3_Read; |
cathaldigi | 2:a43c7329a8e6 | 167 | } |
cathaldigi | 2:a43c7329a8e6 | 168 | |
cathaldigi | 2:a43c7329a8e6 | 169 | //printf("AIR Convert: %i \t\t",A3_Converted); |
cathaldigi | 2:a43c7329a8e6 | 170 | //printf("AIR: %f \t\t",A3_Read); |
cathaldigi | 2:a43c7329a8e6 | 171 | //printf("Max: %f \n\r",max); |
nadaanas1985 | 1:188a7eaafba6 | 172 | |
nadaanas1985 | 1:188a7eaafba6 | 173 | char can_msg[8]; |
nadaanas1985 | 1:188a7eaafba6 | 174 | can.reset(); |
nadaanas1985 | 1:188a7eaafba6 | 175 | can_msg[0] = Air_Pressure_01; |
nadaanas1985 | 1:188a7eaafba6 | 176 | can_msg[1] = Air_Pressure_02; |
nadaanas1985 | 1:188a7eaafba6 | 177 | can_msg[2] = Air_Pressure_03; |
nadaanas1985 | 1:188a7eaafba6 | 178 | can_msg[3] = Air_Pressure_04; |
nadaanas1985 | 1:188a7eaafba6 | 179 | can_msg[4] = 0xff; |
nadaanas1985 | 1:188a7eaafba6 | 180 | can_msg[5] = 0xff; |
nadaanas1985 | 1:188a7eaafba6 | 181 | can_msg[6] = 0xff; |
nadaanas1985 | 1:188a7eaafba6 | 182 | can_msg[7] = 0xff; |
nadaanas1985 | 1:188a7eaafba6 | 183 | |
nadaanas1985 | 1:188a7eaafba6 | 184 | int CAN_ID= 0x18ff4103; |
nadaanas1985 | 1:188a7eaafba6 | 185 | |
nadaanas1985 | 1:188a7eaafba6 | 186 | can.write(CANMessage(CAN_ID, can_msg, 8, CANData,CANExtended)); |
cathaldigi | 3:48452b27a9f8 | 187 | count++; |
cathaldigi | 3:48452b27a9f8 | 188 | |
cathaldigi | 3:48452b27a9f8 | 189 | if(count >=10) |
cathaldigi | 3:48452b27a9f8 | 190 | { |
cathaldigi | 3:48452b27a9f8 | 191 | LED_1 = !LED_1; |
cathaldigi | 3:48452b27a9f8 | 192 | count =0; |
cathaldigi | 3:48452b27a9f8 | 193 | } |
nadaanas1985 | 1:188a7eaafba6 | 194 | //wait(1); |
cathaldigi | 3:48452b27a9f8 | 195 | //wait(0.02); |
nadaanas1985 | 1:188a7eaafba6 | 196 | |
nadaanas1985 | 1:188a7eaafba6 | 197 | } |
nadaanas1985 | 1:188a7eaafba6 | 198 | } |