1.0

Committer:
asaewing
Date:
Wed Jun 05 07:54:15 2019 +0000
Revision:
0:3714c3af7602
1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
asaewing 0:3714c3af7602 1 #include "module_for_all.h"
asaewing 0:3714c3af7602 2
asaewing 0:3714c3af7602 3 IR_Manager::IR_Manager()
asaewing 0:3714c3af7602 4 {
asaewing 0:3714c3af7602 5 /*DigitalIn isIR_1(PG_8);
asaewing 0:3714c3af7602 6 DigitalIn isIR_2(PF_11);
asaewing 0:3714c3af7602 7 DigitalIn isIR_3(PG_5);
asaewing 0:3714c3af7602 8 DigitalIn isIR_4(PG_6);
asaewing 0:3714c3af7602 9 DigitalIn isIR_5(PE_0);
asaewing 0:3714c3af7602 10 DigitalIn isIR_6(PF_15);*/
asaewing 0:3714c3af7602 11
asaewing 0:3714c3af7602 12 /*isIR_1 = DigitalIn(PG_8);
asaewing 0:3714c3af7602 13 isIR_2 = DigitalIn(PF_11);
asaewing 0:3714c3af7602 14 isIR_3 = DigitalIn(PG_5);
asaewing 0:3714c3af7602 15 isIR_4 = DigitalIn(PG_6);
asaewing 0:3714c3af7602 16 isIR_5 = DigitalIn(PE_0);
asaewing 0:3714c3af7602 17 isIR_6 = DigitalIn(PF_15);
asaewing 0:3714c3af7602 18 isIR = {
asaewing 0:3714c3af7602 19 &isIR_1,
asaewing 0:3714c3af7602 20 &isIR_2,
asaewing 0:3714c3af7602 21 &isIR_3,
asaewing 0:3714c3af7602 22 &isIR_4,
asaewing 0:3714c3af7602 23 &isIR_5,
asaewing 0:3714c3af7602 24 &isIR_6};
asaewing 0:3714c3af7602 25
asaewing 0:3714c3af7602 26 //&(AnalogIn(PF_6)), &(AnalogIn(PF_7)), &(AnalogIn(PA_0))
asaewing 0:3714c3af7602 27 ainIR_11 = AnalogIn(PF_6);
asaewing 0:3714c3af7602 28 ainIR_12 = AnalogIn(PF_7);
asaewing 0:3714c3af7602 29 ainIR_13 = AnalogIn(PA_0);
asaewing 0:3714c3af7602 30 //&(AnalogIn(PB_1)), &(AnalogIn(PF_5)), &(AnalogIn(PF_4))
asaewing 0:3714c3af7602 31 ainIR_21 = AnalogIn(PB_1);
asaewing 0:3714c3af7602 32 ainIR_22 = AnalogIn(PF_5);
asaewing 0:3714c3af7602 33 ainIR_23 = AnalogIn(PF_4);
asaewing 0:3714c3af7602 34 //&(AnalogIn(PC_2)), &(AnalogIn(PC_3)), &(AnalogIn(PA_4))
asaewing 0:3714c3af7602 35 ainIR_31 = AnalogIn(PC_2);
asaewing 0:3714c3af7602 36 ainIR_32 = AnalogIn(PC_3);
asaewing 0:3714c3af7602 37 ainIR_33 = AnalogIn(PA_4);
asaewing 0:3714c3af7602 38 //&(AnalogIn(PC_0)), &(AnalogIn(PF_8)), &(AnalogIn(PF_9))
asaewing 0:3714c3af7602 39 ainIR_41 = AnalogIn(PC_0);
asaewing 0:3714c3af7602 40 ainIR_42 = AnalogIn(PF_8);
asaewing 0:3714c3af7602 41 ainIR_43 = AnalogIn(PF_9);
asaewing 0:3714c3af7602 42 //&(AnalogIn(PA_3)), &(AnalogIn(PF_10)), &(AnalogIn(PF_3))
asaewing 0:3714c3af7602 43 ainIR_51 = AnalogIn(PA_3);
asaewing 0:3714c3af7602 44 ainIR_52 = AnalogIn(PF_10);
asaewing 0:3714c3af7602 45 ainIR_53 = AnalogIn(PF_3);
asaewing 0:3714c3af7602 46 //&(AnalogIn(PA_5)), &(AnalogIn(PA_6)), 0
asaewing 0:3714c3af7602 47 ainIR_61 = AnalogIn(PA_5);
asaewing 0:3714c3af7602 48 ainIR_62 = AnalogIn(PA_6);
asaewing 0:3714c3af7602 49
asaewing 0:3714c3af7602 50 ainIR = {
asaewing 0:3714c3af7602 51 {&ainIR_11, &ainIR_12, &ainIR_13},
asaewing 0:3714c3af7602 52 {&ainIR_21, &ainIR_22, &ainIR_23},
asaewing 0:3714c3af7602 53 {&ainIR_31, &ainIR_32, &ainIR_33},
asaewing 0:3714c3af7602 54 {&ainIR_41, &ainIR_42, &ainIR_43},
asaewing 0:3714c3af7602 55 {&ainIR_51, &ainIR_52, &ainIR_53},
asaewing 0:3714c3af7602 56 {&ainIR_61, &ainIR_62, 0}
asaewing 0:3714c3af7602 57 };*/
asaewing 0:3714c3af7602 58
asaewing 0:3714c3af7602 59 /*isIR[6] = {
asaewing 0:3714c3af7602 60 &(DigitalIn(PG_8)),
asaewing 0:3714c3af7602 61 &(DigitalIn(PF_11)),
asaewing 0:3714c3af7602 62 &(DigitalIn(PG_5)),
asaewing 0:3714c3af7602 63 &(DigitalIn(PG_6)),
asaewing 0:3714c3af7602 64 &(DigitalIn(PE_0)),
asaewing 0:3714c3af7602 65 &(DigitalIn(PF_15))};
asaewing 0:3714c3af7602 66
asaewing 0:3714c3af7602 67 ainIR[6][3] = {
asaewing 0:3714c3af7602 68 {&(AnalogIn(PF_6)), &(AnalogIn(PF_7)), &(AnalogIn(PA_0))},
asaewing 0:3714c3af7602 69 {&(AnalogIn(PB_1)), &(AnalogIn(PF_5)), &(AnalogIn(PF_4))},
asaewing 0:3714c3af7602 70 {&(AnalogIn(PC_2)), &(AnalogIn(PC_3)), &(AnalogIn(PA_4))},
asaewing 0:3714c3af7602 71 {&(AnalogIn(PC_0)), &(AnalogIn(PF_8)), &(AnalogIn(PF_9))},
asaewing 0:3714c3af7602 72 {&(AnalogIn(PA_3)), &(AnalogIn(PF_10)), &(AnalogIn(PF_3))},
asaewing 0:3714c3af7602 73 {&(AnalogIn(PA_5)), &(AnalogIn(PA_6)), 0}};*/
asaewing 0:3714c3af7602 74 }
asaewing 0:3714c3af7602 75
asaewing 0:3714c3af7602 76 IR_Manager::IR_Manager(std::string tmpStr)
asaewing 0:3714c3af7602 77 {
asaewing 0:3714c3af7602 78 /*isIR_1 = DigitalIn(PG_8);
asaewing 0:3714c3af7602 79 isIR_2 = DigitalIn(PF_11);
asaewing 0:3714c3af7602 80 isIR_3 = DigitalIn(PG_6);
asaewing 0:3714c3af7602 81 isIR_4 = DigitalIn(PG_6);
asaewing 0:3714c3af7602 82 isIR_5 = DigitalIn(PE_0);
asaewing 0:3714c3af7602 83 isIR_6 = DigitalIn(PF_15);
asaewing 0:3714c3af7602 84 isIR = {
asaewing 0:3714c3af7602 85 &isIR_1,
asaewing 0:3714c3af7602 86 &isIR_2,
asaewing 0:3714c3af7602 87 &isIR_3,
asaewing 0:3714c3af7602 88 &isIR_4,
asaewing 0:3714c3af7602 89 &isIR_5,
asaewing 0:3714c3af7602 90 &isIR_6};
asaewing 0:3714c3af7602 91
asaewing 0:3714c3af7602 92 //&(AnalogIn(PF_6)), &(AnalogIn(PF_7)), &(AnalogIn(PA_0))
asaewing 0:3714c3af7602 93 ainIR_11 = AnalogIn(PF_6);
asaewing 0:3714c3af7602 94 ainIR_12 = AnalogIn(PF_7);
asaewing 0:3714c3af7602 95 ainIR_13 = AnalogIn(PA_0);
asaewing 0:3714c3af7602 96 //&(AnalogIn(PB_1)), &(AnalogIn(PF_5)), &(AnalogIn(PF_4))
asaewing 0:3714c3af7602 97 ainIR_21 = AnalogIn(PB_1);
asaewing 0:3714c3af7602 98 ainIR_22 = AnalogIn(PF_5);
asaewing 0:3714c3af7602 99 ainIR_23 = AnalogIn(PF_4);
asaewing 0:3714c3af7602 100 //&(AnalogIn(PC_2)), &(AnalogIn(PC_3)), &(AnalogIn(PA_4))
asaewing 0:3714c3af7602 101 ainIR_31 = AnalogIn(PC_2);
asaewing 0:3714c3af7602 102 ainIR_32 = AnalogIn(PC_3);
asaewing 0:3714c3af7602 103 ainIR_33 = AnalogIn(PA_4);
asaewing 0:3714c3af7602 104 //&(AnalogIn(PC_0)), &(AnalogIn(PF_8)), &(AnalogIn(PF_9))
asaewing 0:3714c3af7602 105 ainIR_41 = AnalogIn(PC_0);
asaewing 0:3714c3af7602 106 ainIR_42 = AnalogIn(PF_8);
asaewing 0:3714c3af7602 107 ainIR_43 = (AnalogIn(PF_9);
asaewing 0:3714c3af7602 108 //&(AnalogIn(PA_3)), &(AnalogIn(PF_10)), &(AnalogIn(PF_3))
asaewing 0:3714c3af7602 109 ainIR_51 = AnalogIn(PA_3);
asaewing 0:3714c3af7602 110 ainIR_52 = AnalogIn(PF_10);
asaewing 0:3714c3af7602 111 ainIR_53 = (AnalogIn(PF_3);
asaewing 0:3714c3af7602 112 //&(AnalogIn(PA_5)), &(AnalogIn(PA_6)), 0
asaewing 0:3714c3af7602 113 ainIR_61 = AnalogIn(PA_5);
asaewing 0:3714c3af7602 114 ainIR_62 = AnalogIn(PA_6);
asaewing 0:3714c3af7602 115
asaewing 0:3714c3af7602 116 ainIR = {
asaewing 0:3714c3af7602 117 {&ainIR_11, &ainIR_12, &ainIR_13},
asaewing 0:3714c3af7602 118 {&ainIR_21, &ainIR_22, &ainIR_23},
asaewing 0:3714c3af7602 119 {&ainIR_31, &ainIR_32, &ainIR_33},
asaewing 0:3714c3af7602 120 {&ainIR_41, &ainIR_42, &ainIR_43},
asaewing 0:3714c3af7602 121 {&ainIR_51, &ainIR_52, &ainIR_53},
asaewing 0:3714c3af7602 122 {&ainIR_61, &ainIR_62, 0}
asaewing 0:3714c3af7602 123 };*/
asaewing 0:3714c3af7602 124
asaewing 0:3714c3af7602 125 /*isIR[6] = {
asaewing 0:3714c3af7602 126 &(DigitalIn(PG_8)),
asaewing 0:3714c3af7602 127 &(DigitalIn(PF_11)),
asaewing 0:3714c3af7602 128 &(DigitalIn(PG_5)),
asaewing 0:3714c3af7602 129 &(DigitalIn(PG_6)),
asaewing 0:3714c3af7602 130 &(DigitalIn(PE_0)),
asaewing 0:3714c3af7602 131 &(DigitalIn(PF_15))};
asaewing 0:3714c3af7602 132
asaewing 0:3714c3af7602 133 ainIR[6][3] = {
asaewing 0:3714c3af7602 134 {&(AnalogIn(PF_6)), &(AnalogIn(PF_7)), &(AnalogIn(PA_0))},
asaewing 0:3714c3af7602 135 {&(AnalogIn(PB_1)), &(AnalogIn(PF_5)), &(AnalogIn(PF_4))},
asaewing 0:3714c3af7602 136 {&(AnalogIn(PC_2)), &(AnalogIn(PC_3)), &(AnalogIn(PA_4))},
asaewing 0:3714c3af7602 137 {&(AnalogIn(PC_0)), &(AnalogIn(PF_8)), &(AnalogIn(PF_9))},
asaewing 0:3714c3af7602 138 {&(AnalogIn(PA_3)), &(AnalogIn(PF_10)), &(AnalogIn(PF_3))},
asaewing 0:3714c3af7602 139 {&(AnalogIn(PA_5)), &(AnalogIn(PA_6)), 0}};*/
asaewing 0:3714c3af7602 140 }
asaewing 0:3714c3af7602 141
asaewing 0:3714c3af7602 142 void IR_Manager::digitalTest()
asaewing 0:3714c3af7602 143 {
asaewing 0:3714c3af7602 144 //int tmp = isIR[0]->read();
asaewing 0:3714c3af7602 145 //printf("###### IR_Manager::digitalTest %d\r\n", tmp);
asaewing 0:3714c3af7602 146
asaewing 0:3714c3af7602 147 for (int ii = 0; ii < 6; ii++)
asaewing 0:3714c3af7602 148 printf("###### IR_Manager::digitalTest ## %d ## %d\r\n", ii, DataStorage::isIR[ii]->read());
asaewing 0:3714c3af7602 149 }
asaewing 0:3714c3af7602 150
asaewing 0:3714c3af7602 151 void IR_Manager::analogTest()
asaewing 0:3714c3af7602 152 {
asaewing 0:3714c3af7602 153 //int tmp = isIR[0]->read();
asaewing 0:3714c3af7602 154 //printf("###### IR_Manager::digitalTest %d\r\n", tmp);
asaewing 0:3714c3af7602 155
asaewing 0:3714c3af7602 156 printf("###### IR_Manager::analogTest ## Start\r\n");
asaewing 0:3714c3af7602 157 for (int ii = 0; ii < 6; ii++)
asaewing 0:3714c3af7602 158 {
asaewing 0:3714c3af7602 159 for (int jj = 0; jj < 3; jj++)
asaewing 0:3714c3af7602 160 {
asaewing 0:3714c3af7602 161 float ainTmp = 0;
asaewing 0:3714c3af7602 162 if (ii == 5 && jj == 2)
asaewing 0:3714c3af7602 163 {
asaewing 0:3714c3af7602 164 ainTmp = 0;
asaewing 0:3714c3af7602 165 }
asaewing 0:3714c3af7602 166 else
asaewing 0:3714c3af7602 167 {
asaewing 0:3714c3af7602 168 ainTmp = DataStorage::ainIR[ii][jj]->read();
asaewing 0:3714c3af7602 169 ainTmp = ainTmp * 1000000 * 100;
asaewing 0:3714c3af7602 170 ainTmp = floor(ainTmp);
asaewing 0:3714c3af7602 171 }
asaewing 0:3714c3af7602 172
asaewing 0:3714c3af7602 173 std::string ainStr = intToString(ainTmp);
asaewing 0:3714c3af7602 174
asaewing 0:3714c3af7602 175 //char *tmpS;
asaewing 0:3714c3af7602 176 //sprintf(tmpS, "%12.0f%\r\n", ainTmp);
asaewing 0:3714c3af7602 177 //std::string tmpS2(tmpS);
asaewing 0:3714c3af7602 178
asaewing 0:3714c3af7602 179 //printf("###### IR_Manager::analogTest ## %d, %d ## %f ## %s\r\n", ii, jj, ainTmp, ainStr);
asaewing 0:3714c3af7602 180 //delete tmpS;
asaewing 0:3714c3af7602 181 }
asaewing 0:3714c3af7602 182 }
asaewing 0:3714c3af7602 183 printf("###### IR_Manager::analogTest ## Over\r\n");
asaewing 0:3714c3af7602 184 }
asaewing 0:3714c3af7602 185
asaewing 0:3714c3af7602 186 std::string IR_Manager::getAnalogStr(int ii, int averageCount)
asaewing 0:3714c3af7602 187 {
asaewing 0:3714c3af7602 188 //int tmp = isIR[0]->read();
asaewing 0:3714c3af7602 189 //printf("###### IR_Manager::digitalTest %d\r\n", tmp);
asaewing 0:3714c3af7602 190 std::string resultStr = "";
asaewing 0:3714c3af7602 191
asaewing 0:3714c3af7602 192 if (ii > 5)
asaewing 0:3714c3af7602 193 return resultStr;
asaewing 0:3714c3af7602 194 for (int jj = 0; jj < 3; jj++)
asaewing 0:3714c3af7602 195 {
asaewing 0:3714c3af7602 196 float ainTmp = 0;
asaewing 0:3714c3af7602 197 float ainCount = float(averageCount);
asaewing 0:3714c3af7602 198
asaewing 0:3714c3af7602 199 if (ii == 5 && jj == 2)
asaewing 0:3714c3af7602 200 {
asaewing 0:3714c3af7602 201 ainTmp = 0;
asaewing 0:3714c3af7602 202 }
asaewing 0:3714c3af7602 203 else
asaewing 0:3714c3af7602 204 {
asaewing 0:3714c3af7602 205 for (int kk = 0; kk < averageCount; kk++)
asaewing 0:3714c3af7602 206 {
asaewing 0:3714c3af7602 207 float ainTmp2 = 0;
asaewing 0:3714c3af7602 208 ainTmp2 = DataStorage::ainIR[ii][jj]->read();
asaewing 0:3714c3af7602 209 ainTmp2 = ainTmp2 * 1000000 * 100 / ainCount;
asaewing 0:3714c3af7602 210 ainTmp2 = floor(ainTmp2);
asaewing 0:3714c3af7602 211 ainTmp += ainTmp2;
asaewing 0:3714c3af7602 212 }
asaewing 0:3714c3af7602 213 }
asaewing 0:3714c3af7602 214
asaewing 0:3714c3af7602 215 std::string ainStr = intToString(ainTmp);
asaewing 0:3714c3af7602 216 resultStr.append(ainStr);
asaewing 0:3714c3af7602 217 if (jj != 2)
asaewing 0:3714c3af7602 218 resultStr.append(";");
asaewing 0:3714c3af7602 219 }
asaewing 0:3714c3af7602 220 return resultStr;
asaewing 0:3714c3af7602 221 }