Commit 8a75e25170426a632d7e86f96edfa503db78312e

Authored by Imanol-Mikel Barba Sabariego
1 parent 43f91fb6

--no commit message

DUREX Vendor Control/CommunicationProtocol.h
@@ -6,10 +6,12 @@ @@ -6,10 +6,12 @@
6 // Copyright (c) 2014 Emmoco. All rights reserved. 6 // Copyright (c) 2014 Emmoco. All rights reserved.
7 // 7 //
8 8
  9 +@class CommunicationProtocol;
  10 +
9 #import <Foundation/Foundation.h> 11 #import <Foundation/Foundation.h>
10 #import "EMFramework.h" 12 #import "EMFramework.h"
11 13
12 -#define SLEEP_MS ((int)100) 14 +#define SLEEP_TIME ((NSTimeInterval)0.1)
13 #define MAX_STRING_LENGTH ((int)200) 15 #define MAX_STRING_LENGTH ((int)200)
14 #define MAX_RETRIES ((int)3) 16 #define MAX_RETRIES ((int)3)
15 #define MAX_PRODUCT_NAME_LENGTH ((int)64) 17 #define MAX_PRODUCT_NAME_LENGTH ((int)64)
@@ -21,16 +23,23 @@ @@ -21,16 +23,23 @@
21 #define SALE_STRING_LENGTH ((int)36) 23 #define SALE_STRING_LENGTH ((int)36)
22 #define REPORT_SERVER_URL @"http://seneca.upc.es:8090/machine" 24 #define REPORT_SERVER_URL @"http://seneca.upc.es:8090/machine"
23 25
  26 +@protocol CommunicationProtocolDelegate <NSObject>
  27 +- (void)processMessage:(CommunicationProtocol*)protocol didFinishEnteringItem:(NSString*) response;
  28 +
  29 +@end
  30 +
24 @interface CommunicationProtocol : NSObject 31 @interface CommunicationProtocol : NSObject
25 32
  33 +@property (nonatomic, strong) id <CommunicationProtocolDelegate> delegate;
  34 +
26 -(void) writeMessage: (NSString*) message; 35 -(void) writeMessage: (NSString*) message;
27 -(void) readMessage; 36 -(void) readMessage;
28 --(Boolean) establishConnection;  
29 --(Boolean) updateTime: (NSDateComponents*) date;  
30 --(Boolean) updatePrice: (uint8_t) channel : (uint8_t) product : (uint8_t) eur : (uint8_t) cents;  
31 --(Boolean) updateProductName: (uint8_t) channel : (uint8_t) product : (NSString*) name;  
32 --(NSString*) readSensorData;  
33 --(NSString*) readSalesLog: (NSDateComponents*) start : (NSDateComponents*) end; 37 +-(void) establishConnection;
  38 +-(void) updateTime: (NSDateComponents*) date;
  39 +-(void) updatePrice: (uint8_t) channel : (uint8_t) product : (uint8_t) eur : (uint8_t) cents;
  40 +-(void) updateProductName: (uint8_t) channel : (uint8_t) product : (NSString*) name;
  41 +-(void) readSensorData;
  42 +-(void) readSalesLog: (NSDateComponents*) start : (NSDateComponents*) end;
34 +(id) sharedProtocol; 43 +(id) sharedProtocol;
35 44
36 @end 45 @end
DUREX Vendor Control/CommunicationProtocol.m
@@ -41,7 +41,7 @@ @@ -41,7 +41,7 @@
41 -(void) readMessage 41 -(void) readMessage
42 { 42 {
43 self.numPackets = -1; 43 self.numPackets = -1;
44 - [self waitForMessage]; 44 + [self waitForMessage: 0];
45 } 45 }
46 46
47 - (void) readNextFragment 47 - (void) readNextFragment
@@ -66,7 +66,7 @@ @@ -66,7 +66,7 @@
66 { 66 {
67 NSLog(@"[CommunicationProtocol.m]: messageAvailableDevice set to FALSE"); 67 NSLog(@"[CommunicationProtocol.m]: messageAvailableDevice set to FALSE");
68 NSLog(@"[CommunicationProtocol.m]: packet read"); 68 NSLog(@"[CommunicationProtocol.m]: packet read");
69 - [self waitForMessage]; 69 + [self waitForMessage: 0];
70 }onFail:^(NSError *error) 70 }onFail:^(NSError *error)
71 { 71 {
72 NSLog(@"[CommunicationProtocol.m]: On setMessageAvailableDevice to FALSE: %@",error); 72 NSLog(@"[CommunicationProtocol.m]: On setMessageAvailableDevice to FALSE: %@",error);
@@ -85,7 +85,7 @@ @@ -85,7 +85,7 @@
85 } 85 }
86 else 86 else
87 { 87 {
88 - //processMessage 88 + [[self delegate] processMessage:self didFinishEnteringItem:self.message];
89 } 89 }
90 } 90 }
91 91
@@ -103,81 +103,42 @@ @@ -103,81 +103,42 @@
103 }]; 103 }];
104 } 104 }
105 105
106 -- (void) waitForMessage 106 +- (void) waitForMessage: (uint8_t) retries
107 { 107 {
108 - NSLog(@"[CommunicationProtocol.m]: Reading messageAvailable from device");  
109 - [[EMConnectionManager sharedManager] readResource:@"messageAvailableDevice" onSuccess:^(id readValue)  
110 - {  
111 - [self setMessageAvailableDevice:[readValue intValue]];  
112 - if(![self messageAvailableDevice])  
113 - {  
114 - NSLog(@"[CommunicationProtocol.m]: Device not ready. Retrying...");  
115 - [NSThread sleepForTimeInterval:SLEEP_MS];  
116 - [[EMConnectionManager sharedManager] readResource:@"messageAvailableDevice" onSuccess:^(id readValue)  
117 - {  
118 - [self setMessageAvailableDevice:[readValue intValue]];  
119 - if(![self messageAvailableDevice])  
120 - {  
121 - NSLog(@"[CommunicationProtocol.m]: Device not ready. Retrying...");  
122 - [NSThread sleepForTimeInterval:SLEEP_MS];  
123 - [[EMConnectionManager sharedManager] readResource:@"messageAvailableDevice" onSuccess:^(id readValue)  
124 - {  
125 - [self setMessageAvailableDevice:[readValue intValue]];  
126 - if(![self messageAvailableDevice])  
127 - {  
128 - NSLog(@"[CommunicationProtocol.m]: Device not ready.");  
129 - NSLog(@"[CommunicationProtocol.m]: Timeout while expecting message");  
130 - }  
131 - else  
132 - {  
133 - if(self.numPackets == -1)  
134 - {  
135 - [self readNumPackets];  
136 - }  
137 - else  
138 - {  
139 - [self readNextFragment];  
140 - }  
141 - }  
142 - }onFail:^(NSError *error)  
143 - {  
144 - NSLog(@"[CommunicationProtocol.m]: On waitForMessage: %@",error);  
145 - [self reportError:[NSString stringWithFormat:@"Error occurred while reading answer from device: %@",[error localizedDescription]]];  
146 - }];  
147 - }  
148 - else  
149 - {  
150 - if(self.numPackets == -1)  
151 - {  
152 - [self readNumPackets];  
153 - }  
154 - else  
155 - {  
156 - [self readNextFragment];  
157 - }  
158 - }  
159 - }onFail:^(NSError *error)  
160 - {  
161 - NSLog(@"[CommunicationProtocol.m]: On waitForMessage: %@",error);  
162 - [self reportError:[NSString stringWithFormat:@"Error occurred while reading answer from device: %@",[error localizedDescription]]];  
163 - }];  
164 - }  
165 - else  
166 - {  
167 - if(self.numPackets == -1)  
168 - {  
169 - [self readNumPackets];  
170 - }  
171 - else  
172 - {  
173 - [self readNextFragment];  
174 - }  
175 - }  
176 - }onFail:^(NSError *error)  
177 - {  
178 - NSLog(@"[CommunicationProtocol.m]: On waitForMessage: %@",error);  
179 - [self reportError:[NSString stringWithFormat:@"Error occurred while reading answer from device: %@",[error localizedDescription]]];  
180 - }]; 108 + if(retries == MAX_RETRIES)
  109 + {
  110 + NSLog(@"[CommunicationProtocol.m]: Device not ready.");
  111 + NSLog(@"[CommunicationProtocol.m]: Timeout while expecting message");
  112 + }
  113 + else
  114 + {
  115 + NSLog(@"[CommunicationProtocol.m]: Reading messageAvailable from device");
  116 + [[EMConnectionManager sharedManager] readResource:@"messageAvailableDevice" onSuccess:^(id readValue)
  117 + {
  118 + [self setMessageAvailableDevice:[readValue intValue]];
  119 + if(![self messageAvailableDevice])
  120 + {
  121 + NSLog(@"[CommunicationProtocol.m]: Device not ready. Retrying...");
  122 + [NSThread sleepForTimeInterval:SLEEP_TIME];
  123 + [self waitForMessage:retries + 1];
  124 + }
  125 + else
  126 + {
  127 + if(self.numPackets == -1)
  128 + {
  129 + [self readNumPackets];
  130 + }
  131 + else
  132 + {
  133 + [self readNextFragment];
  134 + }
  135 + }
  136 + }onFail:^(NSError *error)
  137 + {
  138 + NSLog(@"[CommunicationProtocol.m]: On waitForMessage: %@",error);
  139 + [self reportError:[NSString stringWithFormat:@"Error occurred while reading answer from device: %@",[error localizedDescription]]];
  140 + }];
  141 + }
181 } 142 }
182 143
183 -(void) writeMessage: (NSString*) message 144 -(void) writeMessage: (NSString*) message
@@ -228,7 +189,7 @@ @@ -228,7 +189,7 @@
228 { 189 {
229 NSLog(@"[CommunicationProtocol.m]: messageAvailableMobile set to TRUE"); 190 NSLog(@"[CommunicationProtocol.m]: messageAvailableMobile set to TRUE");
230 NSLog(@"[CommunicationProtocol.m]: Packet written"); 191 NSLog(@"[CommunicationProtocol.m]: Packet written");
231 - [self readACK]; 192 + [self readACK: 0];
232 }onFail:^(NSError *error) 193 }onFail:^(NSError *error)
233 { 194 {
234 NSLog(@"[CommunicationProtocol.m]: On setMessageAvailable to TRUE: %@",error); 195 NSLog(@"[CommunicationProtocol.m]: On setMessageAvailable to TRUE: %@",error);
@@ -247,6 +208,7 @@ @@ -247,6 +208,7 @@
247 } 208 }
248 else 209 else
249 { 210 {
  211 + NSLog(@"[CommunicationProtocol.m]: Finished sending message");
250 [self readMessage]; 212 [self readMessage];
251 } 213 }
252 214
@@ -257,81 +219,45 @@ @@ -257,81 +219,45 @@
257 }]; 219 }];
258 } 220 }
259 221
260 -- (void) readACK 222 +- (void) readACK: (uint8_t) retries
261 { 223 {
262 - NSLog(@"[CommunicationProtocol.m]: Reading ACK from device");  
263 - [[EMConnectionManager sharedManager] readResource:@"messageAvailableMobile" onSuccess:^(id readValue) 224 + if(retries == MAX_RETRIES)
264 { 225 {
265 - [self setMessageAvailableMobile:[readValue intValue]];  
266 - if([self messageAvailableMobile]) 226 + NSLog(@"[CommunicationProtocol.m]: Device not ready.");
  227 + NSLog(@"[CommunicationProtocol.m]: Timeout while expecting ACK");
  228 + }
  229 + else
  230 + {
  231 + NSLog(@"[CommunicationProtocol.m]: Reading ACK from device");
  232 + [[EMConnectionManager sharedManager] readResource:@"messageAvailableMobile" onSuccess:^(id readValue)
267 { 233 {
268 - NSLog(@"[CommunicationProtocol.m]: Device not ready. Retrying...");  
269 - [NSThread sleepForTimeInterval:SLEEP_MS];  
270 - [[EMConnectionManager sharedManager] readResource:@"messageAvailableMobile" onSuccess:^(id readValue) 234 + [self setMessageAvailableMobile:[readValue intValue]];
  235 + if([self messageAvailableMobile])
271 { 236 {
272 - [self setMessageAvailableMobile:[readValue intValue]];  
273 - if([self messageAvailableMobile])  
274 - {  
275 - NSLog(@"[CommunicationProtocol.m]: Device not ready. Retrying...");  
276 - [NSThread sleepForTimeInterval:SLEEP_MS];  
277 - [[EMConnectionManager sharedManager] readResource:@"messageAvailableMobile" onSuccess:^(id readValue)  
278 - {  
279 - [self setMessageAvailableMobile:[readValue intValue]];  
280 - if([self messageAvailableMobile])  
281 - {  
282 - NSLog(@"[CommunicationProtocol.m]: Device not ready.");  
283 - NSLog(@"[CommunicationProtocol.m]: Timeout while expecting ACK");  
284 - }  
285 - else  
286 - {  
287 - [self sendNextFragment];  
288 - }  
289 - }onFail:^(NSError *error)  
290 - {  
291 - NSLog(@"[CommunicationProtocol.m]: On readACK: %@",error);  
292 - [self reportError:[NSString stringWithFormat:@"Error occurred while sending command to device: %@",[error localizedDescription]]];  
293 - }];  
294 - }  
295 - else  
296 - {  
297 - [self sendNextFragment];  
298 - }  
299 - }onFail:^(NSError *error) 237 + NSLog(@"[CommunicationProtocol.m]: Device not ready. Retrying...");
  238 + [NSThread sleepForTimeInterval:SLEEP_TIME];
  239 + [self readACK:retries + 1];
  240 + }
  241 + else
300 { 242 {
301 - NSLog(@"[CommunicationProtocol.m]: On readACK: %@",error);  
302 - [self reportError:[NSString stringWithFormat:@"Error occurred while sending command to device: %@",[error localizedDescription]]];  
303 - }];  
304 - }  
305 - else 243 + [self sendNextFragment];
  244 + }
  245 + }onFail:^(NSError *error)
306 { 246 {
307 - [self sendNextFragment];  
308 - }  
309 - }onFail:^(NSError *error)  
310 - {  
311 - NSLog(@"[CommunicationProtocol.m]: On readACK: %@",error);  
312 - [self reportError:[NSString stringWithFormat:@"Error occurred while sending command to device: %@",[error localizedDescription]]];  
313 - }]; 247 + NSLog(@"[CommunicationProtocol.m]: On readACK: %@",error);
  248 + [self reportError:[NSString stringWithFormat:@"Error occurred while sending command to device: %@",[error localizedDescription]]];
  249 + }];
  250 + }
314 } 251 }
315 252
316 --(Boolean) establishConnection 253 +-(void) establishConnection
317 { 254 {
318 NSLog(@"[CommunicationProtocol.m]: Establishing connection..."); 255 NSLog(@"[CommunicationProtocol.m]: Establishing connection...");
319 - if([self writeMessage:@"Hello"])  
320 - {  
321 - NSLog(@"[CommunicationProtocol.m]: Hello sent");  
322 - NSString *answer = [self readMessage];  
323 - NSLog(@"[CommunicationProtocol.m]: Answer received");  
324 - if([answer isEqualToString:@"Hello"])  
325 - {  
326 - NSLog(@"[CommunicationProtocol.m]: Connection established");  
327 - return TRUE;  
328 - }  
329 - }  
330 - NSLog(@"[CommunicationProtocol.m]: Error while establishing connection");  
331 - return TRUE; //HACK! 256 + [self writeMessage:@"Hello"];
  257 + NSLog(@"[CommunicationProtocol.m]: Hello sent");
332 } 258 }
333 259
334 --(Boolean) updateTime: (NSDateComponents*) date 260 +-(void) updateTime: (NSDateComponents*) date
335 { 261 {
336 NSMutableString *command = [NSMutableString stringWithFormat: @"A5"]; 262 NSMutableString *command = [NSMutableString stringWithFormat: @"A5"];
337 NSInteger year = [date year]; 263 NSInteger year = [date year];
@@ -339,27 +265,15 @@ @@ -339,27 +265,15 @@
339 [command appendString:[NSString stringWithFormat:@"%02ld",(long)year]]; 265 [command appendString:[NSString stringWithFormat:@"%02ld",(long)year]];
340 [command appendString:[NSString stringWithFormat:@"%02ld%02ld%02ld%02ld%02ld",(long)[date month],(long)[date day],(long)[date hour],(long)[date minute],(long)[date second]]]; 266 [command appendString:[NSString stringWithFormat:@"%02ld%02ld%02ld%02ld%02ld",(long)[date month],(long)[date day],(long)[date hour],(long)[date minute],(long)[date second]]];
341 [self writeMessage:command]; 267 [self writeMessage:command];
342 - NSString *answer = [self readMessage];  
343 - if([answer isEqualToString:@"P51"])  
344 - {  
345 - return TRUE;  
346 - }  
347 - return FALSE;  
348 } 268 }
349 269
350 --(Boolean) updatePrice: (uint8_t) channel : (uint8_t) product : (uint8_t) eur : (uint8_t) cents 270 +-(void) updatePrice: (uint8_t) channel : (uint8_t) product : (uint8_t) eur : (uint8_t) cents
351 { 271 {
352 NSMutableString *command = [NSMutableString stringWithFormat: @"A6%01d%01d%02d%02d",channel,product,eur,cents]; 272 NSMutableString *command = [NSMutableString stringWithFormat: @"A6%01d%01d%02d%02d",channel,product,eur,cents];
353 [self writeMessage:command]; 273 [self writeMessage:command];
354 - NSString *answer = [self readMessage];  
355 - if([answer isEqualToString:@"P61"])  
356 - {  
357 - return TRUE;  
358 - }  
359 - return FALSE;  
360 } 274 }
361 275
362 --(Boolean) updateProductName: (uint8_t) channel : (uint8_t) product : (NSString*) name 276 +-(void) updateProductName: (uint8_t) channel : (uint8_t) product : (NSString*) name
363 { 277 {
364 if([name length] > MAX_PRODUCT_NAME_LENGTH) 278 if([name length] > MAX_PRODUCT_NAME_LENGTH)
365 { 279 {
@@ -367,21 +281,14 @@ @@ -367,21 +281,14 @@
367 } 281 }
368 NSMutableString *command = [NSMutableString stringWithFormat: @"A7%01d%01d%@",channel,product,name]; 282 NSMutableString *command = [NSMutableString stringWithFormat: @"A7%01d%01d%@",channel,product,name];
369 [self writeMessage:command]; 283 [self writeMessage:command];
370 - NSString *answer = [self readMessage];  
371 - if([answer isEqualToString:@"P71"])  
372 - {  
373 - return TRUE;  
374 - }  
375 - return FALSE;  
376 } 284 }
377 285
378 --(NSString*) readSensorData 286 +-(void) readSensorData
379 { 287 {
380 NSString *command = @"A4"; 288 NSString *command = @"A4";
381 [self writeMessage:command]; 289 [self writeMessage:command];
382 - //NSString *answer = [self readMessage];  
383 290
384 - NSMutableString *answer = [[NSMutableString alloc]initWithString:@"P400015000150001500000001001003005002000001002"]; 291 + /*NSMutableString *answer = [[NSMutableString alloc]initWithString:@"P400015000150001500000001001003005002000001002"];
385 for(int i = 0; i < 4; i++) 292 for(int i = 0; i < 4; i++)
386 { 293 {
387 [answer appendString:@"0"]; 294 [answer appendString:@"0"];
@@ -394,17 +301,10 @@ @@ -394,17 +301,10 @@
394 } 301 }
395 302
396 [answer appendString:@"0"]; 303 [answer appendString:@"0"];
397 - [answer appendString:@"0"];  
398 -  
399 - if([answer length] > 1 && [[answer substringToIndex:2]isEqualToString:@"P4"])  
400 - {  
401 - NSLog(@"[CommunicationProtocol.m]: sensorStatus returned: %@",answer);  
402 - return answer;  
403 - }  
404 - return nil; 304 + [answer appendString:@"0"];*/
405 } 305 }
406 306
407 --(NSString*) readSalesLog : (NSDateComponents*) start : (NSDateComponents*) end 307 +-(void) readSalesLog : (NSDateComponents*) start : (NSDateComponents*) end
408 { 308 {
409 NSMutableString *startDate = [NSMutableString stringWithString:@""]; 309 NSMutableString *startDate = [NSMutableString stringWithString:@""];
410 NSMutableString *endDate = [NSMutableString stringWithString:@""]; 310 NSMutableString *endDate = [NSMutableString stringWithString:@""];
@@ -435,15 +335,8 @@ @@ -435,15 +335,8 @@
435 [command appendString:@"-"]; 335 [command appendString:@"-"];
436 [command appendString:endDate]; 336 [command appendString:endDate];
437 [self writeMessage:command]; 337 [self writeMessage:command];
438 - //NSString *answer = [self readMessage];  
439 338
440 - NSMutableString *answer = [[NSMutableString alloc]initWithString:@"P21408161036000001000000110450000001P21409012216000100000000220900000100P21409032307000000010502330800000000P21409070540000000020000440350000001P2P2"];  
441 - if([answer length] > 1 && [[answer substringToIndex:2]isEqualToString:@"P2"])  
442 - {  
443 - NSLog(@"[CommunicationProtocol.m]: saleLog returned: %@",answer);  
444 - return answer;  
445 - }  
446 - return nil; 339 + //NSMutableString *answer = [[NSMutableString alloc]initWithString:@"P21408161036000001000000110450000001P21409012216000100000000220900000100P21409032307000000010502330800000000P21409070540000000020000440350000001P2P2"];
447 } 340 }
448 341
449 @end 342 @end
DUREX Vendor Control/DUREX Vendor Control.xcodeproj/project.xcworkspace/xcuserdata/imanol.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
DUREX Vendor Control/DUREX Vendor Control.xcodeproj/xcuserdata/imanol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -26,11 +26,11 @@ @@ -26,11 +26,11 @@
26 ignoreCount = "0" 26 ignoreCount = "0"
27 continueAfterRunningActions = "No" 27 continueAfterRunningActions = "No"
28 filePath = "MenuTableViewController.m" 28 filePath = "MenuTableViewController.m"
29 - timestampString = "432265160.899922" 29 + timestampString = "434037601.622012"
30 startingColumnNumber = "9223372036854775807" 30 startingColumnNumber = "9223372036854775807"
31 endingColumnNumber = "9223372036854775807" 31 endingColumnNumber = "9223372036854775807"
32 - startingLineNumber = "717"  
33 - endingLineNumber = "717" 32 + startingLineNumber = "770"
  33 + endingLineNumber = "770"
34 landmarkName = "-tableView:cellForRowAtIndexPath:" 34 landmarkName = "-tableView:cellForRowAtIndexPath:"
35 landmarkType = "5"> 35 landmarkType = "5">
36 </BreakpointContent> 36 </BreakpointContent>
@@ -42,11 +42,11 @@ @@ -42,11 +42,11 @@
42 ignoreCount = "0" 42 ignoreCount = "0"
43 continueAfterRunningActions = "No" 43 continueAfterRunningActions = "No"
44 filePath = "MenuTableViewController.m" 44 filePath = "MenuTableViewController.m"
45 - timestampString = "432265160.899922" 45 + timestampString = "434037601.622012"
46 startingColumnNumber = "9223372036854775807" 46 startingColumnNumber = "9223372036854775807"
47 endingColumnNumber = "9223372036854775807" 47 endingColumnNumber = "9223372036854775807"
48 - startingLineNumber = "659"  
49 - endingLineNumber = "659" 48 + startingLineNumber = "712"
  49 + endingLineNumber = "712"
50 landmarkName = "-tableView:cellForRowAtIndexPath:" 50 landmarkName = "-tableView:cellForRowAtIndexPath:"
51 landmarkType = "5"> 51 landmarkType = "5">
52 </BreakpointContent> 52 </BreakpointContent>
@@ -58,11 +58,11 @@ @@ -58,11 +58,11 @@
58 ignoreCount = "0" 58 ignoreCount = "0"
59 continueAfterRunningActions = "No" 59 continueAfterRunningActions = "No"
60 filePath = "MenuTableViewController.m" 60 filePath = "MenuTableViewController.m"
61 - timestampString = "432265052.909736" 61 + timestampString = "434037601.622012"
62 startingColumnNumber = "9223372036854775807" 62 startingColumnNumber = "9223372036854775807"
63 endingColumnNumber = "9223372036854775807" 63 endingColumnNumber = "9223372036854775807"
64 - startingLineNumber = "511"  
65 - endingLineNumber = "511" 64 + startingLineNumber = "571"
  65 + endingLineNumber = "571"
66 landmarkName = "-tableView:didSelectRowAtIndexPath:" 66 landmarkName = "-tableView:didSelectRowAtIndexPath:"
67 landmarkType = "5"> 67 landmarkType = "5">
68 </BreakpointContent> 68 </BreakpointContent>
@@ -74,12 +74,12 @@ @@ -74,12 +74,12 @@
74 ignoreCount = "0" 74 ignoreCount = "0"
75 continueAfterRunningActions = "No" 75 continueAfterRunningActions = "No"
76 filePath = "CommunicationProtocol.m" 76 filePath = "CommunicationProtocol.m"
77 - timestampString = "433360607.314289" 77 + timestampString = "434038085.179085"
78 startingColumnNumber = "9223372036854775807" 78 startingColumnNumber = "9223372036854775807"
79 endingColumnNumber = "9223372036854775807" 79 endingColumnNumber = "9223372036854775807"
80 - startingLineNumber = "363"  
81 - endingLineNumber = "363"  
82 - landmarkName = "-readNextFragment" 80 + startingLineNumber = "341"
  81 + endingLineNumber = "341"
  82 + landmarkName = "-updateProductName:::"
83 landmarkType = "5"> 83 landmarkType = "5">
84 </BreakpointContent> 84 </BreakpointContent>
85 </BreakpointProxy> 85 </BreakpointProxy>
@@ -90,12 +90,12 @@ @@ -90,12 +90,12 @@
90 ignoreCount = "0" 90 ignoreCount = "0"
91 continueAfterRunningActions = "No" 91 continueAfterRunningActions = "No"
92 filePath = "CommunicationProtocol.m" 92 filePath = "CommunicationProtocol.m"
93 - timestampString = "433360607.314289" 93 + timestampString = "434038085.179085"
94 startingColumnNumber = "9223372036854775807" 94 startingColumnNumber = "9223372036854775807"
95 endingColumnNumber = "9223372036854775807" 95 endingColumnNumber = "9223372036854775807"
96 - startingLineNumber = "362"  
97 - endingLineNumber = "362"  
98 - landmarkName = "-readNextFragment" 96 + startingLineNumber = "340"
  97 + endingLineNumber = "340"
  98 + landmarkName = "-updateProductName:::"
99 landmarkType = "5"> 99 landmarkType = "5">
100 </BreakpointContent> 100 </BreakpointContent>
101 </BreakpointProxy> 101 </BreakpointProxy>
@@ -106,12 +106,12 @@ @@ -106,12 +106,12 @@
106 ignoreCount = "0" 106 ignoreCount = "0"
107 continueAfterRunningActions = "No" 107 continueAfterRunningActions = "No"
108 filePath = "CommunicationProtocol.m" 108 filePath = "CommunicationProtocol.m"
109 - timestampString = "433360607.314289" 109 + timestampString = "434038085.179085"
110 startingColumnNumber = "9223372036854775807" 110 startingColumnNumber = "9223372036854775807"
111 endingColumnNumber = "9223372036854775807" 111 endingColumnNumber = "9223372036854775807"
112 - startingLineNumber = "381"  
113 - endingLineNumber = "381"  
114 - landmarkName = "-readNextFragment" 112 + startingLineNumber = "353"
  113 + endingLineNumber = "353"
  114 + landmarkName = "-readSensorData"
115 landmarkType = "5"> 115 landmarkType = "5">
116 </BreakpointContent> 116 </BreakpointContent>
117 </BreakpointProxy> 117 </BreakpointProxy>
@@ -186,11 +186,11 @@ @@ -186,11 +186,11 @@
186 ignoreCount = "0" 186 ignoreCount = "0"
187 continueAfterRunningActions = "No" 187 continueAfterRunningActions = "No"
188 filePath = "MenuTableViewController.m" 188 filePath = "MenuTableViewController.m"
189 - timestampString = "432265160.899922" 189 + timestampString = "434037601.622012"
190 startingColumnNumber = "9223372036854775807" 190 startingColumnNumber = "9223372036854775807"
191 endingColumnNumber = "9223372036854775807" 191 endingColumnNumber = "9223372036854775807"
192 - startingLineNumber = "768"  
193 - endingLineNumber = "768" 192 + startingLineNumber = "821"
  193 + endingLineNumber = "821"
194 landmarkName = "-tableView:cellForRowAtIndexPath:" 194 landmarkName = "-tableView:cellForRowAtIndexPath:"
195 landmarkType = "5"> 195 landmarkType = "5">
196 </BreakpointContent> 196 </BreakpointContent>
@@ -202,27 +202,11 @@ @@ -202,27 +202,11 @@
202 ignoreCount = "0" 202 ignoreCount = "0"
203 continueAfterRunningActions = "No" 203 continueAfterRunningActions = "No"
204 filePath = "MenuTableViewController.m" 204 filePath = "MenuTableViewController.m"
205 - timestampString = "432263020.427289"  
206 - startingColumnNumber = "9223372036854775807"  
207 - endingColumnNumber = "9223372036854775807"  
208 - startingLineNumber = "92"  
209 - endingLineNumber = "92"  
210 - landmarkName = "-generateMaintenanceLevel"  
211 - landmarkType = "5">  
212 - </BreakpointContent>  
213 - </BreakpointProxy>  
214 - <BreakpointProxy  
215 - BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">  
216 - <BreakpointContent  
217 - shouldBeEnabled = "No"  
218 - ignoreCount = "0"  
219 - continueAfterRunningActions = "No"  
220 - filePath = "MenuTableViewController.m"  
221 - timestampString = "432265052.909736" 205 + timestampString = "434037601.622012"
222 startingColumnNumber = "9223372036854775807" 206 startingColumnNumber = "9223372036854775807"
223 endingColumnNumber = "9223372036854775807" 207 endingColumnNumber = "9223372036854775807"
224 - startingLineNumber = "114"  
225 - endingLineNumber = "114" 208 + startingLineNumber = "105"
  209 + endingLineNumber = "105"
226 landmarkName = "-generateSaleListNavLevel" 210 landmarkName = "-generateSaleListNavLevel"
227 landmarkType = "5"> 211 landmarkType = "5">
228 </BreakpointContent> 212 </BreakpointContent>
@@ -234,11 +218,11 @@ @@ -234,11 +218,11 @@
234 ignoreCount = "0" 218 ignoreCount = "0"
235 continueAfterRunningActions = "No" 219 continueAfterRunningActions = "No"
236 filePath = "MenuTableViewController.m" 220 filePath = "MenuTableViewController.m"
237 - timestampString = "432265052.909736" 221 + timestampString = "434037601.622012"
238 startingColumnNumber = "9223372036854775807" 222 startingColumnNumber = "9223372036854775807"
239 endingColumnNumber = "9223372036854775807" 223 endingColumnNumber = "9223372036854775807"
240 - startingLineNumber = "117"  
241 - endingLineNumber = "117" 224 + startingLineNumber = "108"
  225 + endingLineNumber = "108"
242 landmarkName = "-generateSaleListNavLevel" 226 landmarkName = "-generateSaleListNavLevel"
243 landmarkType = "5"> 227 landmarkType = "5">
244 </BreakpointContent> 228 </BreakpointContent>
@@ -250,11 +234,11 @@ @@ -250,11 +234,11 @@
250 ignoreCount = "0" 234 ignoreCount = "0"
251 continueAfterRunningActions = "No" 235 continueAfterRunningActions = "No"
252 filePath = "MenuTableViewController.m" 236 filePath = "MenuTableViewController.m"
253 - timestampString = "432265052.909736" 237 + timestampString = "434037601.622012"
254 startingColumnNumber = "9223372036854775807" 238 startingColumnNumber = "9223372036854775807"
255 endingColumnNumber = "9223372036854775807" 239 endingColumnNumber = "9223372036854775807"
256 - startingLineNumber = "125"  
257 - endingLineNumber = "125" 240 + startingLineNumber = "116"
  241 + endingLineNumber = "116"
258 landmarkName = "-generateSaleListNavLevel" 242 landmarkName = "-generateSaleListNavLevel"
259 landmarkType = "5"> 243 landmarkType = "5">
260 </BreakpointContent> 244 </BreakpointContent>
@@ -266,11 +250,11 @@ @@ -266,11 +250,11 @@
266 ignoreCount = "0" 250 ignoreCount = "0"
267 continueAfterRunningActions = "No" 251 continueAfterRunningActions = "No"
268 filePath = "MenuTableViewController.m" 252 filePath = "MenuTableViewController.m"
269 - timestampString = "432265052.909736" 253 + timestampString = "434037601.622012"
270 startingColumnNumber = "9223372036854775807" 254 startingColumnNumber = "9223372036854775807"
271 endingColumnNumber = "9223372036854775807" 255 endingColumnNumber = "9223372036854775807"
272 - startingLineNumber = "197"  
273 - endingLineNumber = "197" 256 + startingLineNumber = "188"
  257 + endingLineNumber = "188"
274 landmarkName = "-changeNavLevel::" 258 landmarkName = "-changeNavLevel::"
275 landmarkType = "5"> 259 landmarkType = "5">
276 </BreakpointContent> 260 </BreakpointContent>
@@ -282,11 +266,11 @@ @@ -282,11 +266,11 @@
282 ignoreCount = "0" 266 ignoreCount = "0"
283 continueAfterRunningActions = "No" 267 continueAfterRunningActions = "No"
284 filePath = "MenuTableViewController.m" 268 filePath = "MenuTableViewController.m"
285 - timestampString = "432265052.909736" 269 + timestampString = "434037601.622012"
286 startingColumnNumber = "9223372036854775807" 270 startingColumnNumber = "9223372036854775807"
287 endingColumnNumber = "9223372036854775807" 271 endingColumnNumber = "9223372036854775807"
288 - startingLineNumber = "496"  
289 - endingLineNumber = "496" 272 + startingLineNumber = "556"
  273 + endingLineNumber = "556"
290 landmarkName = "-tableView:numberOfRowsInSection:" 274 landmarkName = "-tableView:numberOfRowsInSection:"
291 landmarkType = "5"> 275 landmarkType = "5">
292 </BreakpointContent> 276 </BreakpointContent>
@@ -298,11 +282,11 @@ @@ -298,11 +282,11 @@
298 ignoreCount = "0" 282 ignoreCount = "0"
299 continueAfterRunningActions = "No" 283 continueAfterRunningActions = "No"
300 filePath = "MenuTableViewController.m" 284 filePath = "MenuTableViewController.m"
301 - timestampString = "432265160.899922" 285 + timestampString = "434037601.622012"
302 startingColumnNumber = "9223372036854775807" 286 startingColumnNumber = "9223372036854775807"
303 endingColumnNumber = "9223372036854775807" 287 endingColumnNumber = "9223372036854775807"
304 - startingLineNumber = "644"  
305 - endingLineNumber = "644" 288 + startingLineNumber = "697"
  289 + endingLineNumber = "697"
306 landmarkName = "-tableView:indentationLevelForRowAtIndexPath:" 290 landmarkName = "-tableView:indentationLevelForRowAtIndexPath:"
307 landmarkType = "5"> 291 landmarkType = "5">
308 </BreakpointContent> 292 </BreakpointContent>
@@ -314,11 +298,11 @@ @@ -314,11 +298,11 @@
314 ignoreCount = "0" 298 ignoreCount = "0"
315 continueAfterRunningActions = "No" 299 continueAfterRunningActions = "No"
316 filePath = "MenuTableViewController.m" 300 filePath = "MenuTableViewController.m"
317 - timestampString = "432265160.899922" 301 + timestampString = "434037601.622012"
318 startingColumnNumber = "9223372036854775807" 302 startingColumnNumber = "9223372036854775807"
319 endingColumnNumber = "9223372036854775807" 303 endingColumnNumber = "9223372036854775807"
320 - startingLineNumber = "664"  
321 - endingLineNumber = "664" 304 + startingLineNumber = "717"
  305 + endingLineNumber = "717"
322 landmarkName = "-tableView:cellForRowAtIndexPath:" 306 landmarkName = "-tableView:cellForRowAtIndexPath:"
323 landmarkType = "5"> 307 landmarkType = "5">
324 </BreakpointContent> 308 </BreakpointContent>
@@ -330,11 +314,11 @@ @@ -330,11 +314,11 @@
330 ignoreCount = "0" 314 ignoreCount = "0"
331 continueAfterRunningActions = "No" 315 continueAfterRunningActions = "No"
332 filePath = "MenuTableViewController.m" 316 filePath = "MenuTableViewController.m"
333 - timestampString = "432265160.899922" 317 + timestampString = "434037601.622012"
334 startingColumnNumber = "9223372036854775807" 318 startingColumnNumber = "9223372036854775807"
335 endingColumnNumber = "9223372036854775807" 319 endingColumnNumber = "9223372036854775807"
336 - startingLineNumber = "857"  
337 - endingLineNumber = "857" 320 + startingLineNumber = "910"
  321 + endingLineNumber = "910"
338 landmarkName = "-tableView:cellForRowAtIndexPath:" 322 landmarkName = "-tableView:cellForRowAtIndexPath:"
339 landmarkType = "5"> 323 landmarkType = "5">
340 </BreakpointContent> 324 </BreakpointContent>
@@ -346,11 +330,11 @@ @@ -346,11 +330,11 @@
346 ignoreCount = "0" 330 ignoreCount = "0"
347 continueAfterRunningActions = "No" 331 continueAfterRunningActions = "No"
348 filePath = "MenuTableViewController.m" 332 filePath = "MenuTableViewController.m"
349 - timestampString = "432265160.899922" 333 + timestampString = "434037601.622012"
350 startingColumnNumber = "9223372036854775807" 334 startingColumnNumber = "9223372036854775807"
351 endingColumnNumber = "9223372036854775807" 335 endingColumnNumber = "9223372036854775807"
352 - startingLineNumber = "858"  
353 - endingLineNumber = "858" 336 + startingLineNumber = "911"
  337 + endingLineNumber = "911"
354 landmarkName = "-tableView:cellForRowAtIndexPath:" 338 landmarkName = "-tableView:cellForRowAtIndexPath:"
355 landmarkType = "5"> 339 landmarkType = "5">
356 </BreakpointContent> 340 </BreakpointContent>
@@ -378,11 +362,11 @@ @@ -378,11 +362,11 @@
378 ignoreCount = "0" 362 ignoreCount = "0"
379 continueAfterRunningActions = "No" 363 continueAfterRunningActions = "No"
380 filePath = "MenuTableViewController.m" 364 filePath = "MenuTableViewController.m"
381 - timestampString = "432265160.899922" 365 + timestampString = "434037601.622012"
382 startingColumnNumber = "9223372036854775807" 366 startingColumnNumber = "9223372036854775807"
383 endingColumnNumber = "9223372036854775807" 367 endingColumnNumber = "9223372036854775807"
384 - startingLineNumber = "977"  
385 - endingLineNumber = "977" 368 + startingLineNumber = "1030"
  369 + endingLineNumber = "1030"
386 landmarkName = "-tableView:cellForRowAtIndexPath:" 370 landmarkName = "-tableView:cellForRowAtIndexPath:"
387 landmarkType = "5"> 371 landmarkType = "5">
388 </BreakpointContent> 372 </BreakpointContent>
@@ -394,11 +378,11 @@ @@ -394,11 +378,11 @@
394 ignoreCount = "0" 378 ignoreCount = "0"
395 continueAfterRunningActions = "No" 379 continueAfterRunningActions = "No"
396 filePath = "MenuTableViewController.m" 380 filePath = "MenuTableViewController.m"
397 - timestampString = "432265052.909736" 381 + timestampString = "434037601.622012"
398 startingColumnNumber = "9223372036854775807" 382 startingColumnNumber = "9223372036854775807"
399 endingColumnNumber = "9223372036854775807" 383 endingColumnNumber = "9223372036854775807"
400 - startingLineNumber = "452"  
401 - endingLineNumber = "452" 384 + startingLineNumber = "512"
  385 + endingLineNumber = "512"
402 landmarkName = "-toggleDropList:" 386 landmarkName = "-toggleDropList:"
403 landmarkType = "5"> 387 landmarkType = "5">
404 </BreakpointContent> 388 </BreakpointContent>
@@ -410,11 +394,11 @@ @@ -410,11 +394,11 @@
410 ignoreCount = "0" 394 ignoreCount = "0"
411 continueAfterRunningActions = "No" 395 continueAfterRunningActions = "No"
412 filePath = "MenuTableViewController.m" 396 filePath = "MenuTableViewController.m"
413 - timestampString = "432265160.899922" 397 + timestampString = "434037601.622012"
414 startingColumnNumber = "9223372036854775807" 398 startingColumnNumber = "9223372036854775807"
415 endingColumnNumber = "9223372036854775807" 399 endingColumnNumber = "9223372036854775807"
416 - startingLineNumber = "1062"  
417 - endingLineNumber = "1062" 400 + startingLineNumber = "1115"
  401 + endingLineNumber = "1115"
418 landmarkName = "-tableView:cellForRowAtIndexPath:" 402 landmarkName = "-tableView:cellForRowAtIndexPath:"
419 landmarkType = "5"> 403 landmarkType = "5">
420 </BreakpointContent> 404 </BreakpointContent>
@@ -426,11 +410,11 @@ @@ -426,11 +410,11 @@
426 ignoreCount = "0" 410 ignoreCount = "0"
427 continueAfterRunningActions = "No" 411 continueAfterRunningActions = "No"
428 filePath = "MenuTableViewController.m" 412 filePath = "MenuTableViewController.m"
429 - timestampString = "432265160.899922" 413 + timestampString = "434037601.622012"
430 startingColumnNumber = "9223372036854775807" 414 startingColumnNumber = "9223372036854775807"
431 endingColumnNumber = "9223372036854775807" 415 endingColumnNumber = "9223372036854775807"
432 - startingLineNumber = "1054"  
433 - endingLineNumber = "1054" 416 + startingLineNumber = "1107"
  417 + endingLineNumber = "1107"
434 landmarkName = "-tableView:cellForRowAtIndexPath:" 418 landmarkName = "-tableView:cellForRowAtIndexPath:"
435 landmarkType = "5"> 419 landmarkType = "5">
436 </BreakpointContent> 420 </BreakpointContent>
@@ -442,11 +426,11 @@ @@ -442,11 +426,11 @@
442 ignoreCount = "0" 426 ignoreCount = "0"
443 continueAfterRunningActions = "No" 427 continueAfterRunningActions = "No"
444 filePath = "MenuTableViewController.m" 428 filePath = "MenuTableViewController.m"
445 - timestampString = "432265160.899922" 429 + timestampString = "434037601.622012"
446 startingColumnNumber = "9223372036854775807" 430 startingColumnNumber = "9223372036854775807"
447 endingColumnNumber = "9223372036854775807" 431 endingColumnNumber = "9223372036854775807"
448 - startingLineNumber = "849"  
449 - endingLineNumber = "849" 432 + startingLineNumber = "902"
  433 + endingLineNumber = "902"
450 landmarkName = "-tableView:cellForRowAtIndexPath:" 434 landmarkName = "-tableView:cellForRowAtIndexPath:"
451 landmarkType = "5"> 435 landmarkType = "5">
452 </BreakpointContent> 436 </BreakpointContent>
@@ -458,11 +442,11 @@ @@ -458,11 +442,11 @@
458 ignoreCount = "0" 442 ignoreCount = "0"
459 continueAfterRunningActions = "No" 443 continueAfterRunningActions = "No"
460 filePath = "MenuTableViewController.m" 444 filePath = "MenuTableViewController.m"
461 - timestampString = "432265160.899922" 445 + timestampString = "434037601.622012"
462 startingColumnNumber = "9223372036854775807" 446 startingColumnNumber = "9223372036854775807"
463 endingColumnNumber = "9223372036854775807" 447 endingColumnNumber = "9223372036854775807"
464 - startingLineNumber = "847"  
465 - endingLineNumber = "847" 448 + startingLineNumber = "900"
  449 + endingLineNumber = "900"
466 landmarkName = "-tableView:cellForRowAtIndexPath:" 450 landmarkName = "-tableView:cellForRowAtIndexPath:"
467 landmarkType = "5"> 451 landmarkType = "5">
468 </BreakpointContent> 452 </BreakpointContent>
@@ -474,11 +458,11 @@ @@ -474,11 +458,11 @@
474 ignoreCount = "0" 458 ignoreCount = "0"
475 continueAfterRunningActions = "No" 459 continueAfterRunningActions = "No"
476 filePath = "MenuTableViewController.m" 460 filePath = "MenuTableViewController.m"
477 - timestampString = "432265160.899922" 461 + timestampString = "434037601.622012"
478 startingColumnNumber = "9223372036854775807" 462 startingColumnNumber = "9223372036854775807"
479 endingColumnNumber = "9223372036854775807" 463 endingColumnNumber = "9223372036854775807"
480 - startingLineNumber = "708"  
481 - endingLineNumber = "708" 464 + startingLineNumber = "761"
  465 + endingLineNumber = "761"
482 landmarkName = "-tableView:cellForRowAtIndexPath:" 466 landmarkName = "-tableView:cellForRowAtIndexPath:"
483 landmarkType = "5"> 467 landmarkType = "5">
484 </BreakpointContent> 468 </BreakpointContent>
@@ -554,11 +538,11 @@ @@ -554,11 +538,11 @@
554 ignoreCount = "0" 538 ignoreCount = "0"
555 continueAfterRunningActions = "No" 539 continueAfterRunningActions = "No"
556 filePath = "MenuTableViewController.m" 540 filePath = "MenuTableViewController.m"
557 - timestampString = "432823134.280139" 541 + timestampString = "434037601.622012"
558 startingColumnNumber = "9223372036854775807" 542 startingColumnNumber = "9223372036854775807"
559 endingColumnNumber = "9223372036854775807" 543 endingColumnNumber = "9223372036854775807"
560 - startingLineNumber = "1176"  
561 - endingLineNumber = "1176" 544 + startingLineNumber = "1230"
  545 + endingLineNumber = "1230"
562 landmarkName = "-passDateRangeViewController:didFinishEnteringItem::" 546 landmarkName = "-passDateRangeViewController:didFinishEnteringItem::"
563 landmarkType = "5"> 547 landmarkType = "5">
564 </BreakpointContent> 548 </BreakpointContent>
@@ -570,11 +554,11 @@ @@ -570,11 +554,11 @@
570 ignoreCount = "0" 554 ignoreCount = "0"
571 continueAfterRunningActions = "No" 555 continueAfterRunningActions = "No"
572 filePath = "MenuTableViewController.m" 556 filePath = "MenuTableViewController.m"
573 - timestampString = "432823146.488089" 557 + timestampString = "434037601.622012"
574 startingColumnNumber = "9223372036854775807" 558 startingColumnNumber = "9223372036854775807"
575 endingColumnNumber = "9223372036854775807" 559 endingColumnNumber = "9223372036854775807"
576 - startingLineNumber = "1159"  
577 - endingLineNumber = "1159" 560 + startingLineNumber = "1215"
  561 + endingLineNumber = "1215"
578 landmarkName = "-passDateRangeViewController:didFinishEnteringItem::" 562 landmarkName = "-passDateRangeViewController:didFinishEnteringItem::"
579 landmarkType = "5"> 563 landmarkType = "5">
580 </BreakpointContent> 564 </BreakpointContent>
DUREX Vendor Control/FirstAppExample/EMDevicePickerViewController.m
@@ -106,7 +106,7 @@ @@ -106,7 +106,7 @@
106 106
107 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 107 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
108 { 108 {
109 - [self performSegueWithIdentifier:@"ConnectionSegue" sender:self]; 109 + //[self performSegueWithIdentifier:@"ConnectionSegue" sender:self];
110 if(![[[[tableView cellForRowAtIndexPath:indexPath] textLabel] text] isEqualToString:NSLocalizedString(@"Searching for devices...",nil)]) 110 if(![[[[tableView cellForRowAtIndexPath:indexPath] textLabel] text] isEqualToString:NSLocalizedString(@"Searching for devices...",nil)])
111 { 111 {
112 [self _showConnectingView]; 112 [self _showConnectingView];
DUREX Vendor Control/MenuTableViewController.h
@@ -57,11 +57,21 @@ enum { @@ -57,11 +57,21 @@ enum {
57 } navigationLevel; 57 } navigationLevel;
58 58
59 enum { 59 enum {
  60 + HELLO = 0,
  61 + A2,
  62 + A3,
  63 + A4,
  64 + A5,
  65 + A6,
  66 + A7,
  67 +} commandTypes;
  68 +
  69 +enum {
60 SALES_LOG = 0, 70 SALES_LOG = 0,
61 INCIDENT_LOG, 71 INCIDENT_LOG,
62 } logType; 72 } logType;
63 73
64 -@interface MenuTableViewController : UITableViewController <DatePickerViewControllerDelegate,PriceChangerViewControllerDelegate,NameChangerViewControllerDelegate, DateRangePickerViewControllerDelegate, NSURLConnectionDataDelegate> 74 +@interface MenuTableViewController : UITableViewController <DatePickerViewControllerDelegate,PriceChangerViewControllerDelegate,NameChangerViewControllerDelegate, DateRangePickerViewControllerDelegate, CommunicationProtocolDelegate, NSURLConnectionDataDelegate>
65 75
66 @property (strong,nonatomic) Stack *parentLayout; 76 @property (strong,nonatomic) Stack *parentLayout;
67 @property (strong,nonatomic) DatePickerViewController *datePickerViewController; 77 @property (strong,nonatomic) DatePickerViewController *datePickerViewController;
DUREX Vendor Control/MenuTableViewController.m
@@ -43,6 +43,7 @@ @@ -43,6 +43,7 @@
43 @property const NSMutableArray *currentHeaders; 43 @property const NSMutableArray *currentHeaders;
44 44
45 @property uint8_t requestedLog; 45 @property uint8_t requestedLog;
  46 +@property uint8_t sentCommand;
46 @end 47 @end
47 48
48 @implementation MenuTableViewController 49 @implementation MenuTableViewController
@@ -84,18 +85,9 @@ @@ -84,18 +85,9 @@
84 [self setCellIdentifiers:[[NSArray alloc] initWithObjects:CELL_IDENTIFIERS, nil]]; 85 [self setCellIdentifiers:[[NSArray alloc] initWithObjects:CELL_IDENTIFIERS, nil]];
85 } 86 }
86 87
87 -- (Boolean) generateMaintenanceLevel 88 +- (void) generateMaintenanceLevel
88 { 89 {
89 //Initialize sensor status 90 //Initialize sensor status
90 - [self setSensorStatus:[[Sensors alloc]init]];  
91 -  
92 - NSString *sensorData = [_protocol readSensorData];  
93 - if(sensorData == nil)  
94 - {  
95 - NSLog(@"[MenuTableViewController.m]: Error reading sensor data");  
96 - return FALSE;  
97 - }  
98 - [[self sensorStatus] setResponseValue:sensorData];  
99 [self setMaintenanceElements:[[NSMutableArray alloc] initWithObjects:MAINTENANCE_ELEMENTS, nil]]; 91 [self setMaintenanceElements:[[NSMutableArray alloc] initWithObjects:MAINTENANCE_ELEMENTS, nil]];
100 [self setMaintenanceStructure:[[NSMutableArray alloc] initWithObjects:MAINTENANCE_CELLS_PER_SECTION, nil]]; 92 [self setMaintenanceStructure:[[NSMutableArray alloc] initWithObjects:MAINTENANCE_CELLS_PER_SECTION, nil]];
101 if([[self maintenanceStructure] count] > 1) 93 if([[self maintenanceStructure] count] > 1)
@@ -106,7 +98,6 @@ @@ -106,7 +98,6 @@
106 { 98 {
107 [self setMaintenanceHeaders:nil]; 99 [self setMaintenanceHeaders:nil];
108 } 100 }
109 - return TRUE;  
110 } 101 }
111 102
112 - (void) generateSaleListNavLevel 103 - (void) generateSaleListNavLevel
@@ -263,6 +254,87 @@ @@ -263,6 +254,87 @@
263 [self.view makeToast:NSLocalizedString(@"Connection to server failed", nil) duration:3 position:[NSValue valueWithCGPoint:CGPointMake(self.view.frame.size.width/2,self.view.frame.size.height/2)] title:NSLocalizedString(@"Error", nil) image:[UIImage imageNamed:@"icon_delete"]]; 254 [self.view makeToast:NSLocalizedString(@"Connection to server failed", nil) duration:3 position:[NSValue valueWithCGPoint:CGPointMake(self.view.frame.size.width/2,self.view.frame.size.height/2)] title:NSLocalizedString(@"Error", nil) image:[UIImage imageNamed:@"icon_delete"]];
264 } 255 }
265 256
  257 +- (void)processMessage:(CommunicationProtocol*)protocol didFinishEnteringItem:(NSString*) response
  258 +{
  259 + NSLog(@"[MenuTableViewController.m]: Answer received");
  260 + if(self.sentCommand == HELLO)
  261 + {
  262 + if([response isEqualToString:@"Hello"])
  263 + {
  264 + NSLog(@"[MenuTableViewController.m]: Connection established");
  265 + [self changeNavLevel:MENU:FALSE];
  266 + }
  267 + else
  268 + {
  269 + NSLog(@"[CommunicationProtocol.m]: Error while establishing connection");
  270 + UIAlertView* alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Communication error",nil) message:NSLocalizedString(@"Error while trying to connect to the device",nil) delegate:nil cancelButtonTitle:NSLocalizedString(@"OK",nil) otherButtonTitles:nil];
  271 + [alert show];
  272 + UIViewController *previous = [[[self navigationController] viewControllers] objectAtIndex:[[[self navigationController] viewControllers] count]-2];
  273 + [[self navigationController] popToViewController:previous animated:YES];
  274 + }
  275 + }
  276 + else if(self.sentCommand == A2 && [[response substringToIndex:2]isEqualToString:@"P2"])
  277 + {
  278 + NSLog(@"[MenuTableViewController.m]: Received A2 answer");
  279 + [self setSalesLog:[[SalesLog alloc]init]];
  280 + [[self salesLog] setResponseValue:response];
  281 + [self generateSaleListNavLevel];
  282 + [self changeNavLevel:SALE_LIST:TRUE];
  283 + }
  284 + else if(self.sentCommand == A3 && [[response substringToIndex:2]isEqualToString:@"P3"])
  285 + {
  286 +
  287 + }
  288 + else if(self.sentCommand == A4 && [[response substringToIndex:2]isEqualToString:@"P4"])
  289 + {
  290 + NSLog(@"[MenuTableViewController.m]: Received A4 answer");
  291 + [self setSensorStatus:[[Sensors alloc]init]];
  292 + [[self sensorStatus] setResponseValue:response];
  293 + [self generateMaintenanceLevel];
  294 + [self changeNavLevel:MAINTENANCE:TRUE];
  295 + }
  296 + else if(self.sentCommand == A5 && [[response substringToIndex:2]isEqualToString:@"P5"])
  297 + {
  298 + NSLog(@"[MenuTableViewController.m]: Received A5 answer");
  299 + if([response isEqualToString:@"P51"])
  300 + {
  301 +
  302 + }
  303 + else if([response isEqualToString:@"P52"])
  304 + {
  305 + NSLog(@"[MenuTableViewController.m]: Device returned error for command A5");
  306 + }
  307 + }
  308 + else if(self.sentCommand == A6 && [[response substringToIndex:2]isEqualToString:@"P6"])
  309 + {
  310 + NSLog(@"[MenuTableViewController.m]: Received A6 answer");
  311 + if([response isEqualToString:@"P61"])
  312 + {
  313 +
  314 + }
  315 + else if([response isEqualToString:@"P62"])
  316 + {
  317 + NSLog(@"[MenuTableViewController.m]: Device returned error for command A6");
  318 + }
  319 + }
  320 + else if(self.sentCommand == A7 && [[response substringToIndex:2]isEqualToString:@"P7"])
  321 + {
  322 + NSLog(@"[MenuTableViewController.m]: Received A7 answer");
  323 + if([response isEqualToString:@"P71"])
  324 + {
  325 +
  326 + }
  327 + else if([response isEqualToString:@"P72"])
  328 + {
  329 + NSLog(@"[MenuTableViewController.m]: Device returned error for command A7");
  330 + }
  331 + }
  332 + else
  333 + {
  334 + NSLog(@"[MenuTableViewController]: Unknown response received. Data discarded.");
  335 + }
  336 +}
  337 +
266 - (void)viewDidLoad 338 - (void)viewDidLoad
267 { 339 {
268 [super viewDidLoad]; 340 [super viewDidLoad];
@@ -284,6 +356,7 @@ @@ -284,6 +356,7 @@
284 _protocol = [CommunicationProtocol sharedProtocol]; 356 _protocol = [CommunicationProtocol sharedProtocol];
285 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didReceiveNotification:) name:kEMConnectionDidReceiveIndicatorNotificationName object:nil]; 357 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didReceiveNotification:) name:kEMConnectionDidReceiveIndicatorNotificationName object:nil];
286 [[EMConnectionManager sharedManager] addObserver:self forKeyPath:@"connectionState" options:0 context:NULL]; 358 [[EMConnectionManager sharedManager] addObserver:self forKeyPath:@"connectionState" options:0 context:NULL];
  359 + self.protocol.delegate = self;
287 360
288 //Initialize parentLayout stack 361 //Initialize parentLayout stack
289 [self setParentLayout:[[Stack alloc]init]]; 362 [self setParentLayout:[[Stack alloc]init]];
@@ -291,21 +364,8 @@ @@ -291,21 +364,8 @@
291 //Set navigation level 364 //Set navigation level
292 [self initializeMenuEntries]; 365 [self initializeMenuEntries];
293 self.currentNavLevel = 255; 366 self.currentNavLevel = 255;
294 - [self changeNavLevel:MENU:FALSE];  
295 - }  
296 -  
297 --(void)viewDidAppear:(BOOL)animated  
298 -{  
299 - [super viewDidAppear:animated];  
300 -  
301 - //DUREX protocol  
302 - if(![_protocol establishConnection])  
303 - {  
304 - UIAlertView* alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Communication error",nil) message:NSLocalizedString(@"Error while trying to connect to the device",nil) delegate:nil cancelButtonTitle:NSLocalizedString(@"OK",nil) otherButtonTitles:nil];  
305 - [alert show];  
306 - UIViewController *previous = [[[self navigationController] viewControllers] objectAtIndex:[[[self navigationController] viewControllers] count]-2];  
307 - [[self navigationController] popToViewController:previous animated:YES];  
308 - } 367 + [_protocol establishConnection];
  368 + [self setSentCommand:HELLO];
309 } 369 }
310 370
311 -(void)didReceiveNotification:(NSNotification*) notification 371 -(void)didReceiveNotification:(NSNotification*) notification
@@ -509,15 +569,8 @@ @@ -509,15 +569,8 @@
509 if([cellName isEqualToString:NSLocalizedString(@"Maintenance", nil)]) 569 if([cellName isEqualToString:NSLocalizedString(@"Maintenance", nil)])
510 { 570 {
511 NSLog(@"[MenuTableViewController.m]: Changing to navLevel: MAINTENANCE"); 571 NSLog(@"[MenuTableViewController.m]: Changing to navLevel: MAINTENANCE");
512 - if([self generateMaintenanceLevel])  
513 - {  
514 - [NSThread sleepForTimeInterval:1]; //HACK!  
515 - [self changeNavLevel:MAINTENANCE:TRUE];  
516 - }  
517 - else  
518 - {  
519 - NSLog(@"[MenuTableViewController.m]: Error while changing to navLevel: MAINTENANCE");  
520 - } 572 + [[self protocol] readSensorData];
  573 + [self setSentCommand:A4];
521 } 574 }
522 else if([cellName isEqualToString:NSLocalizedString(@"Basic Configuration", nil)]) 575 else if([cellName isEqualToString:NSLocalizedString(@"Basic Configuration", nil)])
523 { 576 {
@@ -1074,6 +1127,7 @@ @@ -1074,6 +1127,7 @@
1074 NSDateComponents *components = [calendar components:units fromDate:date]; 1127 NSDateComponents *components = [calendar components:units fromDate:date];
1075 NSLog(@"[MenuTableViewController.m]: %@", components); 1128 NSLog(@"[MenuTableViewController.m]: %@", components);
1076 [_protocol updateTime: components]; 1129 [_protocol updateTime: components];
  1130 + [self setSentCommand:A5];
1077 } 1131 }
1078 1132
1079 - (void)passPriceViewController:(PriceChangerViewController *)controller didFinishEnteringItem:(NSArray *)data 1133 - (void)passPriceViewController:(PriceChangerViewController *)controller didFinishEnteringItem:(NSArray *)data
@@ -1114,6 +1168,7 @@ @@ -1114,6 +1168,7 @@
1114 int code = [codeString intValue]; 1168 int code = [codeString intValue];
1115 NSArray *price = [priceString componentsSeparatedByString:@"."]; 1169 NSArray *price = [priceString componentsSeparatedByString:@"."];
1116 [_protocol updatePrice:channel :code :[[price objectAtIndex:0] intValue] :[[price objectAtIndex:1] intValue]]; 1170 [_protocol updatePrice:channel :code :[[price objectAtIndex:0] intValue] :[[price objectAtIndex:1] intValue]];
  1171 + [self setSentCommand:A6];
1117 } 1172 }
1118 } 1173 }
1119 1174
@@ -1149,6 +1204,7 @@ @@ -1149,6 +1204,7 @@
1149 int channel = [channelString intValue]; 1204 int channel = [channelString intValue];
1150 int code = [codeString intValue]; 1205 int code = [codeString intValue];
1151 [_protocol updateProductName:channel :code :name]; 1206 [_protocol updateProductName:channel :code :name];
  1207 + [self setSentCommand:A7];
1152 } 1208 }
1153 } 1209 }
1154 1210
@@ -1159,9 +1215,6 @@ @@ -1159,9 +1215,6 @@
1159 { 1215 {
1160 NSLog(@"[MenuTableViewController.m]: Changing to navLevel: SALE_LIST"); 1216 NSLog(@"[MenuTableViewController.m]: Changing to navLevel: SALE_LIST");
1161 1217
1162 - //Initialize sales log  
1163 - [self setSalesLog:[[SalesLog alloc]init]];  
1164 -  
1165 NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 1218 NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
1166 NSCalendarUnit units = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; 1219 NSCalendarUnit units = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
1167 NSDateComponents *componentsFrom = nil; 1220 NSDateComponents *componentsFrom = nil;
@@ -1174,17 +1227,7 @@ @@ -1174,17 +1227,7 @@
1174 { 1227 {
1175 componentsTo = [calendar components:units fromDate:to]; 1228 componentsTo = [calendar components:units fromDate:to];
1176 } 1229 }
1177 - NSString *salesData = [_protocol readSalesLog: componentsFrom : componentsTo];  
1178 - if(salesData == nil)  
1179 - {  
1180 - NSLog(@"[MenuTableViewController.m]: Error reading sales log");  
1181 - }  
1182 - else  
1183 - {  
1184 - [[self salesLog] setResponseValue:salesData];  
1185 - [self generateSaleListNavLevel];  
1186 - [self changeNavLevel:SALE_LIST:TRUE];  
1187 - } 1230 + [_protocol readSalesLog: componentsFrom : componentsTo];
1188 } 1231 }
1189 else if([self requestedLog] == INCIDENT_LOG) 1232 else if([self requestedLog] == INCIDENT_LOG)
1190 { 1233 {
@@ -5,8 +5,8 @@ BUGS: @@ -5,8 +5,8 @@ BUGS:
5 - On date change, response is overwritten by previous query, trimming needed according to numBytes 5 - On date change, response is overwritten by previous query, trimming needed according to numBytes
6 6
7 TODO: 7 TODO:
8 -- processMessage with Delegate  
9 - Error reporting function 8 - Error reporting function
  9 +- Toast if success or error on processMessage (except nav changes)
10 - Incident class 10 - Incident class
11 - Incident parser 11 - Incident parser
12 - A3 command 12 - A3 command