tes
Dependencies: NetServices mbed C027_Supports mbed-rpcx
main.cpp@0:64967b7043c2, 2019-08-06 (annotated)
- Committer:
- irsanjul
- Date:
- Tue Aug 06 12:59:05 2019 +0000
- Revision:
- 0:64967b7043c2
- Child:
- 1:f7d9b0530b73
testes
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
irsanjul | 0:64967b7043c2 | 1 | /******************************************************************************* |
irsanjul | 0:64967b7043c2 | 2 | Project : Aru Master |
irsanjul | 0:64967b7043c2 | 3 | Version : 1.2.0 |
irsanjul | 0:64967b7043c2 | 4 | *******************************************************************************/ |
irsanjul | 0:64967b7043c2 | 5 | #include "mbed.h" |
irsanjul | 0:64967b7043c2 | 6 | #include "C027_api.h" |
irsanjul | 0:64967b7043c2 | 7 | #include "AruFraming.h" |
irsanjul | 0:64967b7043c2 | 8 | #include "AruChannel.h" |
irsanjul | 0:64967b7043c2 | 9 | #include "DataProcess.h" |
irsanjul | 0:64967b7043c2 | 10 | #include "EthernetNetIf.h" |
irsanjul | 0:64967b7043c2 | 11 | #include "HTTPClient.h" |
irsanjul | 0:64967b7043c2 | 12 | //#include "RtuRpc.h" |
irsanjul | 0:64967b7043c2 | 13 | #include "Modem.h" |
irsanjul | 0:64967b7043c2 | 14 | #include "MDM.h" |
irsanjul | 0:64967b7043c2 | 15 | #include "modeldata.h" |
irsanjul | 0:64967b7043c2 | 16 | #include <sstream> |
irsanjul | 0:64967b7043c2 | 17 | |
irsanjul | 0:64967b7043c2 | 18 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 19 | // Pin Init |
irsanjul | 0:64967b7043c2 | 20 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 21 | DigitalOut led(LED); // Status Led |
irsanjul | 0:64967b7043c2 | 22 | Serial dbg(USBTX, USBRX); // Serial to PC |
irsanjul | 0:64967b7043c2 | 23 | Serial sock(D1, D0); // Aru Master Line |
irsanjul | 0:64967b7043c2 | 24 | DigitalOut pin(MDMPWRON, 0); |
irsanjul | 0:64967b7043c2 | 25 | DigitalOut led1(D9, 0), led2(D8, 0), led3(D7, 0); |
irsanjul | 0:64967b7043c2 | 26 | |
irsanjul | 0:64967b7043c2 | 27 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 28 | // Variable Init |
irsanjul | 0:64967b7043c2 | 29 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 30 | std::vector<int> RCV_BUFF; // temporary buffer receiving progress |
irsanjul | 0:64967b7043c2 | 31 | int timerRxTOutCnt; |
irsanjul | 0:64967b7043c2 | 32 | bool AruReqTick; |
irsanjul | 0:64967b7043c2 | 33 | bool tmr10msTick; |
irsanjul | 0:64967b7043c2 | 34 | bool PriSnd; // true = primary, false = secondary |
irsanjul | 0:64967b7043c2 | 35 | bool SendNow; |
irsanjul | 0:64967b7043c2 | 36 | int steptelegram; |
irsanjul | 0:64967b7043c2 | 37 | int itung; |
irsanjul | 0:64967b7043c2 | 38 | bool SkadaTask; |
irsanjul | 0:64967b7043c2 | 39 | |
irsanjul | 0:64967b7043c2 | 40 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 41 | // Function Init |
irsanjul | 0:64967b7043c2 | 42 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 43 | //RtuRpc cmd("180.235.151.2"); |
irsanjul | 0:64967b7043c2 | 44 | |
irsanjul | 0:64967b7043c2 | 45 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 46 | // Serial Interrupt |
irsanjul | 0:64967b7043c2 | 47 | void rxInterupt() |
irsanjul | 0:64967b7043c2 | 48 | { |
irsanjul | 0:64967b7043c2 | 49 | RCV_BUFF.push_back(sock.getc()); |
irsanjul | 0:64967b7043c2 | 50 | timerRxTOutCnt = 0; |
irsanjul | 0:64967b7043c2 | 51 | } |
irsanjul | 0:64967b7043c2 | 52 | |
irsanjul | 0:64967b7043c2 | 53 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 54 | // FTL protocol handling |
irsanjul | 0:64967b7043c2 | 55 | // |
irsanjul | 0:64967b7043c2 | 56 | AruChannel ARU; |
irsanjul | 0:64967b7043c2 | 57 | |
irsanjul | 0:64967b7043c2 | 58 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 59 | // Aru pooling mechanism |
irsanjul | 0:64967b7043c2 | 60 | // |
irsanjul | 0:64967b7043c2 | 61 | Ticker timerAru; |
irsanjul | 0:64967b7043c2 | 62 | void timerAruTick(); |
irsanjul | 0:64967b7043c2 | 63 | |
irsanjul | 0:64967b7043c2 | 64 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 65 | // Mechanism timer 10ms for all |
irsanjul | 0:64967b7043c2 | 66 | // |
irsanjul | 0:64967b7043c2 | 67 | Ticker timer10ms; |
irsanjul | 0:64967b7043c2 | 68 | void timer10msTick() |
irsanjul | 0:64967b7043c2 | 69 | { |
irsanjul | 0:64967b7043c2 | 70 | tmr10msTick = true; |
irsanjul | 0:64967b7043c2 | 71 | } |
irsanjul | 0:64967b7043c2 | 72 | |
irsanjul | 0:64967b7043c2 | 73 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 74 | // Blinking |
irsanjul | 0:64967b7043c2 | 75 | // |
irsanjul | 0:64967b7043c2 | 76 | Ticker timer1s; |
irsanjul | 0:64967b7043c2 | 77 | void timer1sTick() |
irsanjul | 0:64967b7043c2 | 78 | { |
irsanjul | 0:64967b7043c2 | 79 | led = !led; |
irsanjul | 0:64967b7043c2 | 80 | led1 = !led1; |
irsanjul | 0:64967b7043c2 | 81 | } |
irsanjul | 0:64967b7043c2 | 82 | |
irsanjul | 0:64967b7043c2 | 83 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 84 | // Data Processing |
irsanjul | 0:64967b7043c2 | 85 | // |
irsanjul | 0:64967b7043c2 | 86 | DataProcess Data; |
irsanjul | 0:64967b7043c2 | 87 | |
irsanjul | 0:64967b7043c2 | 88 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 89 | // Main Program |
irsanjul | 0:64967b7043c2 | 90 | //------------------------------------------------------------------------------ |
irsanjul | 0:64967b7043c2 | 91 | int main() |
irsanjul | 0:64967b7043c2 | 92 | { |
irsanjul | 0:64967b7043c2 | 93 | // Clear MODBUS Timers |
irsanjul | 0:64967b7043c2 | 94 | tmr10msTick = false; |
irsanjul | 0:64967b7043c2 | 95 | AruReqTick = false; |
irsanjul | 0:64967b7043c2 | 96 | PriSnd = true; |
irsanjul | 0:64967b7043c2 | 97 | SendNow = false; |
irsanjul | 0:64967b7043c2 | 98 | SkadaTask = SKADA; |
irsanjul | 0:64967b7043c2 | 99 | |
irsanjul | 0:64967b7043c2 | 100 | dbg.baud(9600); |
irsanjul | 0:64967b7043c2 | 101 | dbg.format(8,SerialBase::None,1); |
irsanjul | 0:64967b7043c2 | 102 | |
irsanjul | 0:64967b7043c2 | 103 | sock.baud(9600); |
irsanjul | 0:64967b7043c2 | 104 | sock.format(8,SerialBase::None,1); |
irsanjul | 0:64967b7043c2 | 105 | |
irsanjul | 0:64967b7043c2 | 106 | printf("\r\n<Setup is OK>\r\n"); |
irsanjul | 0:64967b7043c2 | 107 | Net::poll(); |
irsanjul | 0:64967b7043c2 | 108 | |
irsanjul | 0:64967b7043c2 | 109 | dbg.printf("<main>\r\n"); |
irsanjul | 0:64967b7043c2 | 110 | |
irsanjul | 0:64967b7043c2 | 111 | sock.attach(rxInterupt); |
irsanjul | 0:64967b7043c2 | 112 | timerRxTOutCnt = 0; |
irsanjul | 0:64967b7043c2 | 113 | |
irsanjul | 0:64967b7043c2 | 114 | dbg.printf("<Modem Created>\r\n"); |
irsanjul | 0:64967b7043c2 | 115 | MDMSerial mdm; |
irsanjul | 0:64967b7043c2 | 116 | SetModem(mdm); |
irsanjul | 0:64967b7043c2 | 117 | |
irsanjul | 0:64967b7043c2 | 118 | timerAru.attach(&timerAruTick, 8); |
irsanjul | 0:64967b7043c2 | 119 | timer10ms.attach_us(&timer10msTick, 10000); |
irsanjul | 0:64967b7043c2 | 120 | |
irsanjul | 0:64967b7043c2 | 121 | timer1s.attach(&timer1sTick,1); |
irsanjul | 0:64967b7043c2 | 122 | |
irsanjul | 0:64967b7043c2 | 123 | steptelegram = 0; |
irsanjul | 0:64967b7043c2 | 124 | itung = 0; |
irsanjul | 0:64967b7043c2 | 125 | |
irsanjul | 0:64967b7043c2 | 126 | while(1) |
irsanjul | 0:64967b7043c2 | 127 | { |
irsanjul | 0:64967b7043c2 | 128 | Net::poll(); |
irsanjul | 0:64967b7043c2 | 129 | |
irsanjul | 0:64967b7043c2 | 130 | if(tmr10msTick) |
irsanjul | 0:64967b7043c2 | 131 | { |
irsanjul | 0:64967b7043c2 | 132 | tmr10msTick = false; |
irsanjul | 0:64967b7043c2 | 133 | ARU.Tick10ms(); |
irsanjul | 0:64967b7043c2 | 134 | } |
irsanjul | 0:64967b7043c2 | 135 | |
irsanjul | 0:64967b7043c2 | 136 | if(AruReqTick) |
irsanjul | 0:64967b7043c2 | 137 | { |
irsanjul | 0:64967b7043c2 | 138 | AruReqTick = false; |
irsanjul | 0:64967b7043c2 | 139 | |
irsanjul | 0:64967b7043c2 | 140 | if(PriSnd) |
irsanjul | 0:64967b7043c2 | 141 | { |
irsanjul | 0:64967b7043c2 | 142 | Eot r('E', TelegramState[steptelegram]); |
irsanjul | 0:64967b7043c2 | 143 | ARU.Transmit(r); |
irsanjul | 0:64967b7043c2 | 144 | } |
irsanjul | 0:64967b7043c2 | 145 | else |
irsanjul | 0:64967b7043c2 | 146 | { |
irsanjul | 0:64967b7043c2 | 147 | Eot r('I', TelegramState[steptelegram]); |
irsanjul | 0:64967b7043c2 | 148 | ARU.Transmit(r); |
irsanjul | 0:64967b7043c2 | 149 | } |
irsanjul | 0:64967b7043c2 | 150 | PriSnd = !PriSnd; |
irsanjul | 0:64967b7043c2 | 151 | dbg.printf("\r\n<Start Send Querry with step %d>\n\r", steptelegram); |
irsanjul | 0:64967b7043c2 | 152 | } |
irsanjul | 0:64967b7043c2 | 153 | |
irsanjul | 0:64967b7043c2 | 154 | ARU.Process(); |
irsanjul | 0:64967b7043c2 | 155 | |
irsanjul | 0:64967b7043c2 | 156 | if(ARU.ReceiveCount() > 0) |
irsanjul | 0:64967b7043c2 | 157 | { |
irsanjul | 0:64967b7043c2 | 158 | led2 = 1; |
irsanjul | 0:64967b7043c2 | 159 | dbg.printf("\r\n<Receive Data>\n\r"); |
irsanjul | 0:64967b7043c2 | 160 | |
irsanjul | 0:64967b7043c2 | 161 | AruFrm mf = ARU.Receive(); |
irsanjul | 0:64967b7043c2 | 162 | |
irsanjul | 0:64967b7043c2 | 163 | dbg.printf("Identifier : %c\r\n", mf.Identifier); |
irsanjul | 0:64967b7043c2 | 164 | dbg.printf("Data input :\r\n"); |
irsanjul | 0:64967b7043c2 | 165 | unsigned int sz = mf.Data.size(); |
irsanjul | 0:64967b7043c2 | 166 | dbg.printf("%c", mf.Identifier); |
irsanjul | 0:64967b7043c2 | 167 | for(unsigned int i=0; i<sz; i++) |
irsanjul | 0:64967b7043c2 | 168 | { |
irsanjul | 0:64967b7043c2 | 169 | dbg.printf("%c", mf.Data[i]); |
irsanjul | 0:64967b7043c2 | 170 | } |
irsanjul | 0:64967b7043c2 | 171 | dbg.printf("\r\n"); |
irsanjul | 0:64967b7043c2 | 172 | Data.CheckFtlMassage('E', mf); |
irsanjul | 0:64967b7043c2 | 173 | |
irsanjul | 0:64967b7043c2 | 174 | if(Data.getFtlMessage() == FtlMessage::OK) |
irsanjul | 0:64967b7043c2 | 175 | { |
irsanjul | 0:64967b7043c2 | 176 | Data.CheckDtMassage(mf); |
irsanjul | 0:64967b7043c2 | 177 | if(Data.getDtMessage() == DataMessage::OK) |
irsanjul | 0:64967b7043c2 | 178 | { |
irsanjul | 0:64967b7043c2 | 179 | switch(steptelegram) |
irsanjul | 0:64967b7043c2 | 180 | { |
irsanjul | 0:64967b7043c2 | 181 | case 0 : /*Order_state*/ |
irsanjul | 0:64967b7043c2 | 182 | { |
irsanjul | 0:64967b7043c2 | 183 | DataProcess::STATE st = Data.checkOrderState(); |
irsanjul | 0:64967b7043c2 | 184 | |
irsanjul | 0:64967b7043c2 | 185 | if(st == Data.NOORDER) |
irsanjul | 0:64967b7043c2 | 186 | { |
irsanjul | 0:64967b7043c2 | 187 | dbg.printf("No Order Present\r\n"); |
irsanjul | 0:64967b7043c2 | 188 | } |
irsanjul | 0:64967b7043c2 | 189 | else if(st == Data.ORDERRCV) |
irsanjul | 0:64967b7043c2 | 190 | { |
irsanjul | 0:64967b7043c2 | 191 | dbg.printf("Order Receive\r\n"); |
irsanjul | 0:64967b7043c2 | 192 | } |
irsanjul | 0:64967b7043c2 | 193 | else if(st == Data.PLANORDERPROC) |
irsanjul | 0:64967b7043c2 | 194 | { |
irsanjul | 0:64967b7043c2 | 195 | dbg.printf("Order Process\r\n"); |
irsanjul | 0:64967b7043c2 | 196 | steptelegram = 1; |
irsanjul | 0:64967b7043c2 | 197 | } |
irsanjul | 0:64967b7043c2 | 198 | else if(st == Data.UNPLANORDERPROC) |
irsanjul | 0:64967b7043c2 | 199 | { |
irsanjul | 0:64967b7043c2 | 200 | dbg.printf("Order Process\r\n"); |
irsanjul | 0:64967b7043c2 | 201 | steptelegram = 1; |
irsanjul | 0:64967b7043c2 | 202 | } |
irsanjul | 0:64967b7043c2 | 203 | else if(st == Data.ORDERFINERROR) |
irsanjul | 0:64967b7043c2 | 204 | { |
irsanjul | 0:64967b7043c2 | 205 | dbg.printf("Order Finish with error\r\n"); |
irsanjul | 0:64967b7043c2 | 206 | } |
irsanjul | 0:64967b7043c2 | 207 | else if(st == Data.ORDERFINNOERROR) |
irsanjul | 0:64967b7043c2 | 208 | { |
irsanjul | 0:64967b7043c2 | 209 | dbg.printf("Order Finish without error\r\n"); |
irsanjul | 0:64967b7043c2 | 210 | } |
irsanjul | 0:64967b7043c2 | 211 | SendNow = true; |
irsanjul | 0:64967b7043c2 | 212 | SkadaTask = SKADA; |
irsanjul | 0:64967b7043c2 | 213 | break; |
irsanjul | 0:64967b7043c2 | 214 | } |
irsanjul | 0:64967b7043c2 | 215 | case 1 : /* Interlock */ |
irsanjul | 0:64967b7043c2 | 216 | { |
irsanjul | 0:64967b7043c2 | 217 | DataProcess::STATE st = Data.chackInterlock(); |
irsanjul | 0:64967b7043c2 | 218 | if(st == Data.ACCCLOSED) |
irsanjul | 0:64967b7043c2 | 219 | { |
irsanjul | 0:64967b7043c2 | 220 | dbg.printf("Access is closed, please wait\r\n"); |
irsanjul | 0:64967b7043c2 | 221 | } |
irsanjul | 0:64967b7043c2 | 222 | else if(st == Data.ACCOPEN) |
irsanjul | 0:64967b7043c2 | 223 | { |
irsanjul | 0:64967b7043c2 | 224 | dbg.printf("Access is opened, goto meter_state\r\n"); |
irsanjul | 0:64967b7043c2 | 225 | steptelegram = 2; |
irsanjul | 0:64967b7043c2 | 226 | SendNow = true; |
irsanjul | 0:64967b7043c2 | 227 | SkadaTask = SKADA; |
irsanjul | 0:64967b7043c2 | 228 | } |
irsanjul | 0:64967b7043c2 | 229 | break; |
irsanjul | 0:64967b7043c2 | 230 | } |
irsanjul | 0:64967b7043c2 | 231 | case 2 : /*Meter_state*/ |
irsanjul | 0:64967b7043c2 | 232 | { |
irsanjul | 0:64967b7043c2 | 233 | DataProcess::STATE st = Data.checkState(); |
irsanjul | 0:64967b7043c2 | 234 | |
irsanjul | 0:64967b7043c2 | 235 | if(st == Data.STEPDOWN) |
irsanjul | 0:64967b7043c2 | 236 | { |
irsanjul | 0:64967b7043c2 | 237 | dbg.printf("STEPDOWN\r\n"); |
irsanjul | 0:64967b7043c2 | 238 | } |
irsanjul | 0:64967b7043c2 | 239 | else if(st == Data.STEPUP) |
irsanjul | 0:64967b7043c2 | 240 | { |
irsanjul | 0:64967b7043c2 | 241 | dbg.printf("STEPUP\r\n"); |
irsanjul | 0:64967b7043c2 | 242 | } |
irsanjul | 0:64967b7043c2 | 243 | else if(st == Data.STEPJUMP) |
irsanjul | 0:64967b7043c2 | 244 | { |
irsanjul | 0:64967b7043c2 | 245 | dbg.printf("STEP LONCAT\r\n"); |
irsanjul | 0:64967b7043c2 | 246 | } |
irsanjul | 0:64967b7043c2 | 247 | else if(st == Data.STEPEND) |
irsanjul | 0:64967b7043c2 | 248 | { |
irsanjul | 0:64967b7043c2 | 249 | dbg.printf("JUMP TO END\r\n"); |
irsanjul | 0:64967b7043c2 | 250 | steptelegram = 3; |
irsanjul | 0:64967b7043c2 | 251 | } |
irsanjul | 0:64967b7043c2 | 252 | else if(st == Data.STAY) |
irsanjul | 0:64967b7043c2 | 253 | { |
irsanjul | 0:64967b7043c2 | 254 | dbg.printf("STEP TETAP\r\n"); |
irsanjul | 0:64967b7043c2 | 255 | } |
irsanjul | 0:64967b7043c2 | 256 | else if(st == Data.FINISH) |
irsanjul | 0:64967b7043c2 | 257 | { |
irsanjul | 0:64967b7043c2 | 258 | dbg.printf("FINISH\r\n"); |
irsanjul | 0:64967b7043c2 | 259 | steptelegram = 3; |
irsanjul | 0:64967b7043c2 | 260 | } |
irsanjul | 0:64967b7043c2 | 261 | else if(st == Data.STAYNOL) |
irsanjul | 0:64967b7043c2 | 262 | { |
irsanjul | 0:64967b7043c2 | 263 | dbg.printf("STEP TETAP DI NOL\r\n"); |
irsanjul | 0:64967b7043c2 | 264 | itung++; |
irsanjul | 0:64967b7043c2 | 265 | if(itung > 10) |
irsanjul | 0:64967b7043c2 | 266 | { |
irsanjul | 0:64967b7043c2 | 267 | itung = 0; |
irsanjul | 0:64967b7043c2 | 268 | steptelegram = 0; |
irsanjul | 0:64967b7043c2 | 269 | } |
irsanjul | 0:64967b7043c2 | 270 | } |
irsanjul | 0:64967b7043c2 | 271 | else if(st == Data.ERROR) |
irsanjul | 0:64967b7043c2 | 272 | { |
irsanjul | 0:64967b7043c2 | 273 | dbg.printf("STEP ERROR COY\r\n"); |
irsanjul | 0:64967b7043c2 | 274 | steptelegram = 6; // error querry |
irsanjul | 0:64967b7043c2 | 275 | } |
irsanjul | 0:64967b7043c2 | 276 | else |
irsanjul | 0:64967b7043c2 | 277 | { |
irsanjul | 0:64967b7043c2 | 278 | dbg.printf("STEP GA NORMAL\r\n"); |
irsanjul | 0:64967b7043c2 | 279 | } |
irsanjul | 0:64967b7043c2 | 280 | SendNow = true; |
irsanjul | 0:64967b7043c2 | 281 | SkadaTask = SKADA; |
irsanjul | 0:64967b7043c2 | 282 | break; |
irsanjul | 0:64967b7043c2 | 283 | } |
irsanjul | 0:64967b7043c2 | 284 | case 3 : |
irsanjul | 0:64967b7043c2 | 285 | { |
irsanjul | 0:64967b7043c2 | 286 | steptelegram = 4; |
irsanjul | 0:64967b7043c2 | 287 | SendNow = true; |
irsanjul | 0:64967b7043c2 | 288 | SkadaTask = TASK; |
irsanjul | 0:64967b7043c2 | 289 | break; |
irsanjul | 0:64967b7043c2 | 290 | } |
irsanjul | 0:64967b7043c2 | 291 | case 4 : |
irsanjul | 0:64967b7043c2 | 292 | { |
irsanjul | 0:64967b7043c2 | 293 | steptelegram = 0; |
irsanjul | 0:64967b7043c2 | 294 | SendNow = true; |
irsanjul | 0:64967b7043c2 | 295 | SkadaTask = TASK; |
irsanjul | 0:64967b7043c2 | 296 | break; |
irsanjul | 0:64967b7043c2 | 297 | } |
irsanjul | 0:64967b7043c2 | 298 | case 5 : |
irsanjul | 0:64967b7043c2 | 299 | { |
irsanjul | 0:64967b7043c2 | 300 | SendNow = true; |
irsanjul | 0:64967b7043c2 | 301 | SkadaTask = TASK; |
irsanjul | 0:64967b7043c2 | 302 | break; |
irsanjul | 0:64967b7043c2 | 303 | } |
irsanjul | 0:64967b7043c2 | 304 | case 6 : |
irsanjul | 0:64967b7043c2 | 305 | { |
irsanjul | 0:64967b7043c2 | 306 | steptelegram = 0; |
irsanjul | 0:64967b7043c2 | 307 | SendNow = true; |
irsanjul | 0:64967b7043c2 | 308 | SkadaTask = TASK; |
irsanjul | 0:64967b7043c2 | 309 | break; |
irsanjul | 0:64967b7043c2 | 310 | } |
irsanjul | 0:64967b7043c2 | 311 | default: break; |
irsanjul | 0:64967b7043c2 | 312 | } |
irsanjul | 0:64967b7043c2 | 313 | } |
irsanjul | 0:64967b7043c2 | 314 | else |
irsanjul | 0:64967b7043c2 | 315 | { |
irsanjul | 0:64967b7043c2 | 316 | dbg.printf("Data Ditolak\r\n"); |
irsanjul | 0:64967b7043c2 | 317 | steptelegram = 0; |
irsanjul | 0:64967b7043c2 | 318 | } |
irsanjul | 0:64967b7043c2 | 319 | |
irsanjul | 0:64967b7043c2 | 320 | if(chekConect(mdm) && SendNow) |
irsanjul | 0:64967b7043c2 | 321 | { |
irsanjul | 0:64967b7043c2 | 322 | SendNow = false; |
irsanjul | 0:64967b7043c2 | 323 | |
irsanjul | 0:64967b7043c2 | 324 | if(PostData(mdm, mf.Identifier, mf.Data, SkadaTask)) |
irsanjul | 0:64967b7043c2 | 325 | { |
irsanjul | 0:64967b7043c2 | 326 | dbg.printf("Data Berhasil dikirim\r\n"); |
irsanjul | 0:64967b7043c2 | 327 | } |
irsanjul | 0:64967b7043c2 | 328 | else |
irsanjul | 0:64967b7043c2 | 329 | { |
irsanjul | 0:64967b7043c2 | 330 | dbg.printf("Gagal Kirim Data\r\n"); |
irsanjul | 0:64967b7043c2 | 331 | } |
irsanjul | 0:64967b7043c2 | 332 | } |
irsanjul | 0:64967b7043c2 | 333 | } |
irsanjul | 0:64967b7043c2 | 334 | else if(Data.getFtlMessage() == FtlMessage::PROERROR) |
irsanjul | 0:64967b7043c2 | 335 | { |
irsanjul | 0:64967b7043c2 | 336 | dbg.printf("Protokol Error GAN!!!\r\n"); |
irsanjul | 0:64967b7043c2 | 337 | steptelegram = 0; |
irsanjul | 0:64967b7043c2 | 338 | } |
irsanjul | 0:64967b7043c2 | 339 | else |
irsanjul | 0:64967b7043c2 | 340 | { |
irsanjul | 0:64967b7043c2 | 341 | dbg.printf("Balasan Tidak sesuai coy!!!\r\n"); |
irsanjul | 0:64967b7043c2 | 342 | steptelegram = 0; |
irsanjul | 0:64967b7043c2 | 343 | } |
irsanjul | 0:64967b7043c2 | 344 | led2 = 0; |
irsanjul | 0:64967b7043c2 | 345 | } |
irsanjul | 0:64967b7043c2 | 346 | } // akhir while(1) |
irsanjul | 0:64967b7043c2 | 347 | }// akhir main |
irsanjul | 0:64967b7043c2 | 348 | |
irsanjul | 0:64967b7043c2 | 349 | //------------------------------------------------------------------- |
irsanjul | 0:64967b7043c2 | 350 | void timerAruTick() |
irsanjul | 0:64967b7043c2 | 351 | { |
irsanjul | 0:64967b7043c2 | 352 | AruReqTick = true; |
irsanjul | 0:64967b7043c2 | 353 | } |
irsanjul | 0:64967b7043c2 | 354 | //------------------------------------------------------------------- |