Commit 8643d47cfd54c483293a31c4d880bdc4cd58d527
1 parent
254682d8
--no commit message
Showing
18 changed files
with
268 additions
and
304 deletions
DUREX Vendor Control/DUREX Vendor Control.xcodeproj/project.xcworkspace/xcuserdata/imanol.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
DUREX Vendor Control/MenuTableViewController.m
... | ... | @@ -73,25 +73,27 @@ |
73 | 73 | |
74 | 74 | - (void) changeNavLevel: (uint8_t) level : (BOOL) push |
75 | 75 | { |
76 | + NSLog(@"[MenuTableViewController.m]: navLevel is %d",level); | |
76 | 77 | if(push) |
77 | 78 | { |
78 | 79 | [[self parentLayout] push: [NSNumber numberWithUnsignedChar:self.currentNavLevel]]; |
79 | 80 | } |
80 | 81 | [self setCurrentNavLevel:level]; |
81 | 82 | [self setCurrentCellIdentifier:[[self cellIdentifiers] objectAtIndex:[self currentNavLevel]]]; |
82 | - if([self currentNavLevel] == MAINTENANCE) | |
83 | + if([self currentNavLevel] == MENU) | |
84 | + { | |
85 | + [[self navigationItem] setTitle:[[[EMConnectionManager sharedManager] connectedDevice] name]]; | |
86 | + [self setCurrentElements:[self menuElements]]; | |
87 | + [self setCurrentStructure:[self menuStructure]]; | |
88 | + [self setCurrentHeaders:[self menuHeaders]]; | |
89 | + } | |
90 | + else if([self currentNavLevel] == MAINTENANCE) | |
83 | 91 | { |
84 | 92 | [self setCurrentElements:[self maintenanceElements]]; |
85 | 93 | [self setCurrentStructure:[self maintenanceStructure]]; |
86 | 94 | [self setCurrentHeaders:[self maintenanceHeaders]]; |
87 | 95 | } |
88 | 96 | //AND SO ON... |
89 | - else | |
90 | - { | |
91 | - [self setCurrentElements:[self menuElements]]; | |
92 | - [self setCurrentStructure:[self menuStructure]]; | |
93 | - [self setCurrentHeaders:[self menuHeaders]]; | |
94 | - } | |
95 | 97 | [[self tableView] reloadData]; |
96 | 98 | NSRange range = NSMakeRange(0, [self numberOfSectionsInTableView:[self tableView]]); |
97 | 99 | NSIndexSet *sections = [NSIndexSet indexSetWithIndexesInRange:range]; |
... | ... | @@ -115,16 +117,28 @@ |
115 | 117 | return title; |
116 | 118 | } |
117 | 119 | |
120 | +- (void) backButtonPressed: (id) sender | |
121 | +{ | |
122 | + NSLog(@"[MenuTableViewController.m]: Navigation Stack has %ld remaining levels",[[self parentLayout] count]); | |
123 | + if([[self parentLayout] count] > 0) | |
124 | + { | |
125 | + NSLog(@"[MenuTableViewController.m]: Falling to previous navigation level"); | |
126 | + [self navBack]; | |
127 | + } | |
128 | + else | |
129 | + { | |
130 | + NSLog(@"[MenuTableViewController.m]: No more navigation levels in stack, falling to previous view"); | |
131 | + [self.navigationController popViewControllerAnimated:YES]; | |
132 | + } | |
133 | +} | |
134 | + | |
118 | 135 | - (void)viewDidLoad |
119 | 136 | { |
120 | 137 | [super viewDidLoad]; |
121 | 138 | [_activityIndicator setHidden:YES]; |
122 | 139 | |
123 | - //Set title | |
124 | - NSMutableString *title; | |
125 | - [title setString:[[self navigationItem] title]] ; | |
126 | - [title appendString:[[[EMConnectionManager sharedManager] connectedDevice] name]]; | |
127 | - [[self navigationItem] setTitle:title]; | |
140 | + self.navigationItem.hidesBackButton = YES; | |
141 | + self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(backButtonPressed:)]; | |
128 | 142 | |
129 | 143 | //Emmoco protocol initialization |
130 | 144 | _protocol = [CommunicationProtocol sharedProtocol]; |
... | ... | @@ -234,7 +248,6 @@ |
234 | 248 | |
235 | 249 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath |
236 | 250 | { |
237 | - NSLog(@"[MenuTableViewController.m]: navLevel is %d",[self currentNavLevel]); | |
238 | 251 | UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:[self currentCellIdentifier] forIndexPath:indexPath]; |
239 | 252 | |
240 | 253 | if (cell == nil) | ... | ... |
DUREX Vendor Control/durex.json
1 | 1 | { |
2 | 2 | "resources": { |
3 | - "$schemaHash": { | |
4 | - "id": -6, | |
5 | - "align": 1, | |
6 | - "attributes": {"readonly": true}, | |
7 | - "type": "A20:u1", | |
8 | - "access": "r", | |
9 | - "size": 20 | |
10 | - }, | |
11 | 3 | "$eapProtocolLevel": { |
12 | 4 | "id": -3, |
13 | 5 | "align": 2, |
... | ... | @@ -16,22 +8,6 @@ |
16 | 8 | "access": "r", |
17 | 9 | "size": 2 |
18 | 10 | }, |
19 | - "$mcmProtocolLevel": { | |
20 | - "id": -2, | |
21 | - "align": 2, | |
22 | - "attributes": {"readonly": true}, | |
23 | - "type": "u2", | |
24 | - "access": "r", | |
25 | - "size": 2 | |
26 | - }, | |
27 | - "messageAvailable": { | |
28 | - "id": 4, | |
29 | - "align": 1, | |
30 | - "attributes": {"indicator": true}, | |
31 | - "type": "E:@emmoco.com.DUREX/BOOLEAN", | |
32 | - "access": "irw", | |
33 | - "size": 1 | |
34 | - }, | |
35 | 11 | "numBytes": { |
36 | 12 | "id": 1, |
37 | 13 | "align": 1, |
... | ... | @@ -40,21 +16,22 @@ |
40 | 16 | "access": "rw", |
41 | 17 | "size": 1 |
42 | 18 | }, |
43 | - "$mobileRssi": { | |
44 | - "id": -8, | |
45 | - "align": 1, | |
46 | - "attributes": {"readonly": true}, | |
47 | - "type": "i1", | |
48 | - "access": "r", | |
49 | - "size": 1 | |
50 | - }, | |
51 | 19 | "data": { |
52 | 20 | "id": 2, |
53 | 21 | "align": 1, |
54 | 22 | "attributes": {}, |
55 | - "type": "C:229", | |
23 | + "type": "C:201", | |
56 | 24 | "access": "rw", |
57 | - "size": 229 | |
25 | + "size": 201 | |
26 | + }, | |
27 | + "$activeGroup": { | |
28 | + "id": -10, | |
29 | + "align": 1, | |
30 | + "pack": 1, | |
31 | + "attributes": {"readwrite": true}, | |
32 | + "type": "E:system@emmoco.com.System/ParameterGroup", | |
33 | + "access": "rw", | |
34 | + "size": 1 | |
58 | 35 | }, |
59 | 36 | "$mcmDisconnect": { |
60 | 37 | "id": -9, |
... | ... | @@ -65,6 +42,7 @@ |
65 | 42 | "size": 1 |
66 | 43 | }, |
67 | 44 | "$eapBuildDate": { |
45 | + "dim": 8, | |
68 | 46 | "id": -4, |
69 | 47 | "align": 1, |
70 | 48 | "attributes": {"readonly": true}, |
... | ... | @@ -72,6 +50,14 @@ |
72 | 50 | "access": "r", |
73 | 51 | "size": 8 |
74 | 52 | }, |
53 | + "numPackets": { | |
54 | + "id": 3, | |
55 | + "align": 1, | |
56 | + "attributes": {}, | |
57 | + "type": "u1", | |
58 | + "access": "rw", | |
59 | + "size": 1 | |
60 | + }, | |
75 | 61 | "$resourceCount": { |
76 | 62 | "id": -7, |
77 | 63 | "align": 1, |
... | ... | @@ -80,12 +66,38 @@ |
80 | 66 | "access": "r", |
81 | 67 | "size": 2 |
82 | 68 | }, |
83 | - "numPackets": { | |
84 | - "id": 3, | |
69 | + "$schemaHash": { | |
70 | + "dim": 20, | |
71 | + "id": -6, | |
85 | 72 | "align": 1, |
86 | - "attributes": {}, | |
87 | - "type": "u1", | |
88 | - "access": "rw", | |
73 | + "attributes": {"readonly": true}, | |
74 | + "type": "A20:u1", | |
75 | + "access": "r", | |
76 | + "size": 20 | |
77 | + }, | |
78 | + "messageAvailable": { | |
79 | + "id": 4, | |
80 | + "align": 1, | |
81 | + "pack": 1, | |
82 | + "attributes": {"indicator": true}, | |
83 | + "type": "E:@emmoco.com.DUREX/BOOLEAN", | |
84 | + "access": "ir", | |
85 | + "size": 1 | |
86 | + }, | |
87 | + "$mcmProtocolLevel": { | |
88 | + "id": -2, | |
89 | + "align": 2, | |
90 | + "attributes": {"readonly": true}, | |
91 | + "type": "u2", | |
92 | + "access": "r", | |
93 | + "size": 2 | |
94 | + }, | |
95 | + "$mobileRssi": { | |
96 | + "id": -8, | |
97 | + "align": 1, | |
98 | + "attributes": {"readonly": true}, | |
99 | + "type": "i1", | |
100 | + "access": "r", | |
89 | 101 | "size": 1 |
90 | 102 | }, |
91 | 103 | "$fileIndexReset": { |
... | ... | @@ -98,6 +110,7 @@ |
98 | 110 | } |
99 | 111 | }, |
100 | 112 | "resourceNamesSys": [ |
113 | + "$activeGroup", | |
101 | 114 | "$eapBuildDate", |
102 | 115 | "$eapProtocolLevel", |
103 | 116 | "$fileIndexReset", |
... | ... | @@ -108,41 +121,41 @@ |
108 | 121 | "$schemaHash" |
109 | 122 | ], |
110 | 123 | "manifest": { |
111 | - "protocolLevel": 12, | |
124 | + "protocolLevel": 13, | |
112 | 125 | "hash": [ |
113 | - 245, | |
114 | - 13, | |
115 | - 216, | |
116 | - 92, | |
117 | - 22, | |
118 | - 189, | |
119 | - 34, | |
126 | + 0, | |
127 | + 164, | |
128 | + 192, | |
120 | 129 | 32, |
121 | - 16, | |
122 | - 124, | |
123 | - 194, | |
130 | + 22, | |
131 | + 163, | |
132 | + 114, | |
133 | + 239, | |
134 | + 91, | |
135 | + 240, | |
136 | + 123, | |
137 | + 128, | |
138 | + 206, | |
139 | + 12, | |
124 | 140 | 50, |
125 | - 87, | |
126 | - 152, | |
127 | - 227, | |
128 | - 110 | |
141 | + 148 | |
129 | 142 | ], |
130 | - "toolVersion": "12.0.0.201211010336", | |
143 | + "toolVersion": "13.4.1.201311121909", | |
131 | 144 | "name": "DUREX", |
132 | - "$$md5": "f316f8e8839db2a2939bf3e0120a1fdf", | |
145 | + "$$md5": "00a4c02016a372ef5bf07b80ce0c3294", | |
133 | 146 | "build": [ |
134 | - 61, | |
135 | - 15, | |
136 | - 116, | |
137 | - 250, | |
138 | - 69, | |
147 | + 171, | |
148 | + 30, | |
149 | + 204, | |
150 | + 135, | |
151 | + 71, | |
139 | 152 | 1, |
140 | 153 | 0, |
141 | 154 | 0 |
142 | 155 | ], |
143 | - "date": "2014-05-14T13:18:01T", | |
156 | + "date": "2014-07-30T17:03:27T", | |
144 | 157 | "maxAlign": 2, |
145 | - "maxSize": 229, | |
158 | + "maxSize": 201, | |
146 | 159 | "version": "1.0.0" |
147 | 160 | }, |
148 | 161 | "resourceNames": [ |
... | ... | @@ -157,14 +170,22 @@ |
157 | 170 | "$schemaHash", |
158 | 171 | "$resourceCount", |
159 | 172 | "$mobileRssi", |
160 | - "$mcmDisconnect" | |
173 | + "$mcmDisconnect", | |
174 | + "$activeGroup" | |
161 | 175 | ], |
162 | 176 | "attributes": { |
163 | 177 | "description": "", |
164 | 178 | "version": "1.0.0" |
165 | 179 | }, |
180 | + "resourceNamesApp": [ | |
181 | + "numBytes", | |
182 | + "data", | |
183 | + "numPackets", | |
184 | + "messageAvailable" | |
185 | + ], | |
166 | 186 | "types": { |
167 | 187 | "system@emmoco.com.System/ResourceCount": { |
188 | + "packed": false, | |
168 | 189 | "align": 1, |
169 | 190 | "type": "S:system@emmoco.com.System/ResourceCount", |
170 | 191 | "size": 2, |
... | ... | @@ -193,17 +214,28 @@ |
193 | 214 | "align": 1, |
194 | 215 | "size": 1 |
195 | 216 | }, |
217 | + "std:u1": { | |
218 | + "align": 1, | |
219 | + "size": 1 | |
220 | + }, | |
196 | 221 | "@emmoco.com.DUREX/BOOLEAN": { |
197 | 222 | "values": [ |
198 | 223 | "TRUE", |
199 | 224 | "FALSE" |
200 | 225 | ], |
201 | 226 | "align": 1, |
227 | + "pack": 1, | |
202 | 228 | "type": "E:@emmoco.com.DUREX/BOOLEAN", |
203 | 229 | "size": 1 |
204 | 230 | }, |
205 | - "std:u1": { | |
231 | + "system@emmoco.com.System/ParameterGroup": { | |
232 | + "values": [ | |
233 | + "GROUP_A", | |
234 | + "GROUP_B" | |
235 | + ], | |
206 | 236 | "align": 1, |
237 | + "pack": 1, | |
238 | + "type": "E:system@emmoco.com.System/ParameterGroup", | |
207 | 239 | "size": 1 |
208 | 240 | }, |
209 | 241 | "std:u2": { |
... | ... | @@ -211,11 +243,5 @@ |
211 | 243 | "size": 2 |
212 | 244 | } |
213 | 245 | }, |
214 | - "resourceNamesApp": [ | |
215 | - "data", | |
216 | - "messageAvailable", | |
217 | - "numBytes", | |
218 | - "numPackets" | |
219 | - ], | |
220 | 246 | "imports": {"@emmoco.com.DUREX": true} |
221 | 247 | } |
222 | 248 | \ No newline at end of file | ... | ... |
DUREX tests/CustomNavigationController.h deleted
1 | -// | |
2 | -// CustomNavigationController.h | |
3 | -// DUREX test | |
4 | -// | |
5 | -// Created by Imanol Barba on 8/7/14. | |
6 | -// Copyright (c) 2014 Emmoco. All rights reserved. | |
7 | -// | |
8 | - | |
9 | -#import <UIKit/UIKit.h> | |
10 | -#import "MenuTableViewController.h" | |
11 | - | |
12 | -@interface CustomNavigationController : UINavigationController | |
13 | - | |
14 | -@property (strong,nonatomic) MenuTableViewController *auxController; | |
15 | - | |
16 | -@end |
DUREX tests/CustomNavigationController.m deleted
1 | -// | |
2 | -// CustomNavigationController.m | |
3 | -// DUREX test | |
4 | -// | |
5 | -// Created by Imanol Barba on 8/7/14. | |
6 | -// Copyright (c) 2014 Emmoco. All rights reserved. | |
7 | -// | |
8 | - | |
9 | -#import "CustomNavigationController.h" | |
10 | - | |
11 | -@interface CustomNavigationController () | |
12 | - | |
13 | -@end | |
14 | - | |
15 | -@implementation CustomNavigationController | |
16 | - | |
17 | -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil | |
18 | -{ | |
19 | - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; | |
20 | - if (self) { | |
21 | - // Custom initialization | |
22 | - } | |
23 | - return self; | |
24 | -} | |
25 | - | |
26 | -- (void)viewDidLoad | |
27 | -{ | |
28 | - [super viewDidLoad]; | |
29 | - // Do any additional setup after loading the view. | |
30 | -} | |
31 | - | |
32 | -- (void)didReceiveMemoryWarning | |
33 | -{ | |
34 | - [super didReceiveMemoryWarning]; | |
35 | - // Dispose of any resources that can be recreated. | |
36 | -} | |
37 | - | |
38 | -- (UIViewController *)popViewControllerAnimated:(BOOL)animated | |
39 | -{ | |
40 | - if(self.auxController == nil) | |
41 | - { | |
42 | - NSLog(@"[CustomNavigationController.m]: WARNING: No Auxiliar Controller assigned to Navigation controller"); | |
43 | - return [super popViewControllerAnimated:animated]; | |
44 | - } | |
45 | - else | |
46 | - { | |
47 | - NSLog(@"[CustomNavigationController.m]: Navigation Stack has %d remaining levels",[[[self auxController] parentLayout] count]); | |
48 | - if([[[self auxController] parentLayout] count] > 0) | |
49 | - { | |
50 | - NSLog(@"[CustomNavigationController.m]: Falling to previous navigation level"); | |
51 | - [[self auxController] navBack]; | |
52 | - } | |
53 | - else | |
54 | - { | |
55 | - NSLog(@"[CustomNavigationController.m]: No more navigation levels in stack, falling to previous view"); | |
56 | - self.auxController = nil; | |
57 | - return [super popViewControllerAnimated:animated]; | |
58 | - } | |
59 | - } | |
60 | - return nil; | |
61 | -} | |
62 | - | |
63 | -/*- (void) setAuxController:(MenuTableViewController *)controller | |
64 | -{ | |
65 | - self.auxController = controller; | |
66 | -}*/ | |
67 | - | |
68 | -/* | |
69 | -#pragma mark - Navigation | |
70 | - | |
71 | -// In a storyboard-based application, you will often want to do a little preparation before navigation | |
72 | -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender | |
73 | -{ | |
74 | - // Get the new view controller using [segue destinationViewController]. | |
75 | - // Pass the selected object to the new view controller. | |
76 | -} | |
77 | -*/ | |
78 | - | |
79 | -@end |
DUREX tests/DUREX test.xcodeproj/project.pbxproj
... | ... | @@ -22,7 +22,6 @@ |
22 | 22 | F9469169193015EE006DACD3 /* icon_checkmark.png in Resources */ = {isa = PBXBuildFile; fileRef = F9469167193015EE006DACD3 /* icon_checkmark.png */; }; |
23 | 23 | F946916A193015EE006DACD3 /* icon_delete.png in Resources */ = {isa = PBXBuildFile; fileRef = F9469168193015EE006DACD3 /* icon_delete.png */; }; |
24 | 24 | F962A233192FCA8A00E4324A /* Stack.m in Sources */ = {isa = PBXBuildFile; fileRef = F962A232192FCA8A00E4324A /* Stack.m */; }; |
25 | - F97A7D701992DF1A0028036D /* CustomNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = F97A7D6F1992DF1A0028036D /* CustomNavigationController.m */; }; | |
26 | 25 | F98356D6192E835F00EA6821 /* InitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F98356D5192E835F00EA6821 /* InitialViewController.m */; }; |
27 | 26 | F98356D8192E906600EA6821 /* bluetooth.png in Resources */ = {isa = PBXBuildFile; fileRef = F98356D7192E906600EA6821 /* bluetooth.png */; }; |
28 | 27 | F98356DB192EAFD400EA6821 /* CommunicationProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = F98356DA192EAFD400EA6821 /* CommunicationProtocol.m */; }; |
... | ... | @@ -62,8 +61,6 @@ |
62 | 61 | F9469168193015EE006DACD3 /* icon_delete.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_delete.png; sourceTree = SOURCE_ROOT; }; |
63 | 62 | F962A231192FCA8A00E4324A /* Stack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stack.h; sourceTree = SOURCE_ROOT; }; |
64 | 63 | F962A232192FCA8A00E4324A /* Stack.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Stack.m; sourceTree = SOURCE_ROOT; }; |
65 | - F97A7D6E1992DF1A0028036D /* CustomNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomNavigationController.h; sourceTree = SOURCE_ROOT; }; | |
66 | - F97A7D6F1992DF1A0028036D /* CustomNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomNavigationController.m; sourceTree = SOURCE_ROOT; }; | |
67 | 64 | F98356D4192E835F00EA6821 /* InitialViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitialViewController.h; sourceTree = SOURCE_ROOT; }; |
68 | 65 | F98356D5192E835F00EA6821 /* InitialViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InitialViewController.m; sourceTree = SOURCE_ROOT; }; |
69 | 66 | F98356D7192E906600EA6821 /* bluetooth.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bluetooth.png; sourceTree = SOURCE_ROOT; }; |
... | ... | @@ -133,8 +130,6 @@ |
133 | 130 | 3471866618070D9300FA0FB2 /* FirstApp */ = { |
134 | 131 | isa = PBXGroup; |
135 | 132 | children = ( |
136 | - F97A7D6E1992DF1A0028036D /* CustomNavigationController.h */, | |
137 | - F97A7D6F1992DF1A0028036D /* CustomNavigationController.m */, | |
138 | 133 | 34AAB881189804FF0019860D /* MainStoryboard.storyboard */, |
139 | 134 | 34AAB876189804FF0019860D /* DUREXAppDelegate.h */, |
140 | 135 | 34AAB877189804FF0019860D /* DUREXAppDelegate.m */, |
... | ... | @@ -300,7 +295,6 @@ |
300 | 295 | 34AAB883189804FF0019860D /* DUREXAppDelegate.m in Sources */, |
301 | 296 | F98356DB192EAFD400EA6821 /* CommunicationProtocol.m in Sources */, |
302 | 297 | F98356E1192EC84700EA6821 /* MenuTableViewController.m in Sources */, |
303 | - F97A7D701992DF1A0028036D /* CustomNavigationController.m in Sources */, | |
304 | 298 | 34AAB889189804FF0019860D /* main.m in Sources */, |
305 | 299 | ); |
306 | 300 | runOnlyForDeploymentPostprocessing = 0; | ... | ... |
DUREX tests/DUREX test.xcodeproj/project.xcworkspace/xcuserdata/imanol.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
DUREX tests/DUREX test.xcodeproj/xcuserdata/imanol.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
... | ... | @@ -9,28 +9,12 @@ |
9 | 9 | shouldBeEnabled = "No" |
10 | 10 | ignoreCount = "0" |
11 | 11 | continueAfterRunningActions = "No" |
12 | - filePath = "CustomNavigationController.m" | |
13 | - timestampString = "429064161.848095" | |
14 | - startingColumnNumber = "9223372036854775807" | |
15 | - endingColumnNumber = "9223372036854775807" | |
16 | - startingLineNumber = "15" | |
17 | - endingLineNumber = "15" | |
18 | - landmarkName = "@implementation CustomNavigationController" | |
19 | - landmarkType = "3"> | |
20 | - </BreakpointContent> | |
21 | - </BreakpointProxy> | |
22 | - <BreakpointProxy | |
23 | - BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> | |
24 | - <BreakpointContent | |
25 | - shouldBeEnabled = "No" | |
26 | - ignoreCount = "0" | |
27 | - continueAfterRunningActions = "No" | |
28 | 12 | filePath = "MenuTableViewController.m" |
29 | - timestampString = "429105816.932528" | |
13 | + timestampString = "429132434.984264" | |
30 | 14 | startingColumnNumber = "9223372036854775807" |
31 | 15 | endingColumnNumber = "9223372036854775807" |
32 | - startingLineNumber = "144" | |
33 | - endingLineNumber = "144" | |
16 | + startingLineNumber = "165" | |
17 | + endingLineNumber = "165" | |
34 | 18 | landmarkName = "-viewDidLoad" |
35 | 19 | landmarkType = "5"> |
36 | 20 | </BreakpointContent> | ... | ... |
DUREX tests/FirstAppExample/DUREXAppDelegate.h
... | ... | @@ -7,12 +7,11 @@ |
7 | 7 | // |
8 | 8 | |
9 | 9 | #import <UIKit/UIKit.h> |
10 | -#import "CustomNavigationController.h" | |
11 | 10 | |
12 | 11 | @interface DUREXAppDelegate : UIResponder <UIApplicationDelegate> |
13 | 12 | |
14 | 13 | @property (strong, nonatomic) UIWindow *window; |
15 | -@property (nonatomic, strong) IBOutlet CustomNavigationController *navController; | |
14 | +@property (nonatomic, strong) IBOutlet UINavigationController *navController; | |
16 | 15 | |
17 | 16 | |
18 | 17 | ... | ... |
DUREX tests/FirstAppExample/DUREXAppDelegate.m
... | ... | @@ -20,7 +20,7 @@ |
20 | 20 | |
21 | 21 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions |
22 | 22 | { |
23 | - CustomNavigationController *navController = (CustomNavigationController *)[[self window] rootViewController]; | |
23 | + UINavigationController *navController = (UINavigationController *)[[self window] rootViewController]; | |
24 | 24 | [self setNavController:navController]; |
25 | 25 | [[self navController] setDelegate:self]; |
26 | 26 | ... | ... |
DUREX tests/FirstAppExample/MainStoryboard.storyboard
... | ... | @@ -53,7 +53,7 @@ |
53 | 53 | </objects> |
54 | 54 | <point key="canvasLocation" x="342" y="-9"/> |
55 | 55 | </scene> |
56 | - <!--Menu Table View Controller - Connected to: PIECE OF CRAP 2000 PRO ULTRA--> | |
56 | + <!--Menu Table View Controller - Connected to:--> | |
57 | 57 | <scene sceneID="uT2-Qs-t9O"> |
58 | 58 | <objects> |
59 | 59 | <tableViewController id="iNx-eR-wSX" customClass="MenuTableViewController" sceneMemberID="viewController"> |
... | ... | @@ -110,16 +110,16 @@ |
110 | 110 | <outlet property="delegate" destination="iNx-eR-wSX" id="cfg-Zn-vZq"/> |
111 | 111 | </connections> |
112 | 112 | </tableView> |
113 | - <navigationItem key="navigationItem" title="Connected to: PIECE OF CRAP 2000 PRO ULTRA" id="2rA-9H-FRE"/> | |
113 | + <navigationItem key="navigationItem" title="Connected to:" id="2rA-9H-FRE"/> | |
114 | 114 | </tableViewController> |
115 | 115 | <placeholder placeholderIdentifier="IBFirstResponder" id="R4Z-ct-4GF" userLabel="First Responder" sceneMemberID="firstResponder"/> |
116 | 116 | </objects> |
117 | 117 | <point key="canvasLocation" x="834" y="-9"/> |
118 | 118 | </scene> |
119 | - <!--Custom Navigation Controller--> | |
119 | + <!--Navigation Controller--> | |
120 | 120 | <scene sceneID="Ker-Z3-hzQ"> |
121 | 121 | <objects> |
122 | - <navigationController definesPresentationContext="YES" id="kWw-Rk-wD6" customClass="CustomNavigationController" sceneMemberID="viewController"> | |
122 | + <navigationController definesPresentationContext="YES" id="kWw-Rk-wD6" sceneMemberID="viewController"> | |
123 | 123 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="fTx-P1-hLO"> |
124 | 124 | <autoresizingMask key="autoresizingMask"/> |
125 | 125 | </navigationBar> | ... | ... |
DUREX tests/MenuTableViewController.m
... | ... | @@ -74,26 +74,29 @@ |
74 | 74 | |
75 | 75 | - (void) changeNavLevel: (uint8_t) level : (BOOL) push |
76 | 76 | { |
77 | + NSLog(@"[MenuTableViewController.m]: navLevel is %d",level); | |
77 | 78 | if(push) |
78 | 79 | { |
79 | 80 | [[self parentLayout] push: [NSNumber numberWithUnsignedChar:self.currentNavLevel]]; |
80 | 81 | } |
81 | 82 | [self setCurrentNavLevel:level]; |
82 | 83 | [self setCurrentCellIdentifier:[[self cellIdentifiers] objectAtIndex:[self currentNavLevel]]]; |
83 | - if([self currentNavLevel] == MAINTENANCE) | |
84 | + if([self currentNavLevel] == MENU) | |
85 | + { | |
86 | + [[self navigationItem] setTitle:@"PIECE OF CRAP 2000 PRO ULTRA"]; | |
87 | + [self setCurrentElements:[self menuElements]]; | |
88 | + [self setCurrentStructure:[self menuStructure]]; | |
89 | + [self setCurrentHeaders:[self menuHeaders]]; | |
90 | + } | |
91 | + else if([self currentNavLevel] == MAINTENANCE) | |
84 | 92 | { |
93 | + [[self navigationItem] setTitle:@"Maintenance"]; | |
85 | 94 | [self setCurrentElements:[self maintenanceElements]]; |
86 | 95 | [self setCurrentStructure:[self maintenanceStructure]]; |
87 | 96 | [self setCurrentHeaders:[self maintenanceHeaders]]; |
88 | 97 | |
89 | 98 | } |
90 | 99 | //AND SO ON... |
91 | - else | |
92 | - { | |
93 | - [self setCurrentElements:[self menuElements]]; | |
94 | - [self setCurrentStructure:[self menuStructure]]; | |
95 | - [self setCurrentHeaders:[self menuHeaders]]; | |
96 | - } | |
97 | 100 | [[self tableView] reloadData]; |
98 | 101 | NSRange range = NSMakeRange(0, [self numberOfSectionsInTableView:[self tableView]]); |
99 | 102 | NSIndexSet *sections = [NSIndexSet indexSetWithIndexesInRange:range]; |
... | ... | @@ -117,11 +120,29 @@ |
117 | 120 | return title; |
118 | 121 | } |
119 | 122 | |
123 | +- (void) backButtonPressed: (id) sender | |
124 | +{ | |
125 | + NSLog(@"[MenuTableViewController.m]: Navigation Stack has %d remaining levels",[[self parentLayout] count]); | |
126 | + if([[self parentLayout] count] > 0) | |
127 | + { | |
128 | + NSLog(@"[MenuTableViewController.m]: Falling to previous navigation level"); | |
129 | + [self navBack]; | |
130 | + } | |
131 | + else | |
132 | + { | |
133 | + NSLog(@"[MenuTableViewController.m]: No more navigation levels in stack, falling to previous view"); | |
134 | + [self.navigationController popViewControllerAnimated:YES]; | |
135 | + } | |
136 | +} | |
137 | + | |
120 | 138 | - (void)viewDidLoad |
121 | 139 | { |
122 | 140 | [super viewDidLoad]; |
123 | 141 | [_activityIndicator setHidden:YES]; |
124 | 142 | |
143 | + self.navigationItem.hidesBackButton = YES; | |
144 | + self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(backButtonPressed:)]; | |
145 | + | |
125 | 146 | //Emmoco protocol initialization |
126 | 147 | _protocol = [CommunicationProtocol sharedProtocol]; |
127 | 148 | |
... | ... | @@ -142,10 +163,7 @@ |
142 | 163 | [self initializeMenuEntries]; |
143 | 164 | self.currentNavLevel = 255; |
144 | 165 | [self changeNavLevel:MENU:FALSE]; |
145 | - DUREXAppDelegate *appDelegate = (DUREXAppDelegate *)[[UIApplication sharedApplication] delegate]; | |
146 | - CustomNavigationController *navController = [appDelegate navController]; | |
147 | - navController.auxController = self; | |
148 | - | |
166 | + | |
149 | 167 | // Uncomment the following line to preserve selection between presentations. |
150 | 168 | // self.clearsSelectionOnViewWillAppear = NO; |
151 | 169 | |
... | ... | @@ -204,7 +222,6 @@ |
204 | 222 | |
205 | 223 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath |
206 | 224 | { |
207 | - NSLog(@"[MenuTableViewController.m]: navLevel is %d",[self currentNavLevel]); | |
208 | 225 | UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:[self currentCellIdentifier] forIndexPath:indexPath]; |
209 | 226 | |
210 | 227 | if (cell == nil) | ... | ... |
DUREX tests/durex.json
1 | 1 | { |
2 | 2 | "resources": { |
3 | - "$schemaHash": { | |
4 | - "id": -6, | |
5 | - "align": 1, | |
6 | - "attributes": {"readonly": true}, | |
7 | - "type": "A20:u1", | |
8 | - "access": "r", | |
9 | - "size": 20 | |
10 | - }, | |
11 | 3 | "$eapProtocolLevel": { |
12 | 4 | "id": -3, |
13 | 5 | "align": 2, |
... | ... | @@ -16,22 +8,6 @@ |
16 | 8 | "access": "r", |
17 | 9 | "size": 2 |
18 | 10 | }, |
19 | - "$mcmProtocolLevel": { | |
20 | - "id": -2, | |
21 | - "align": 2, | |
22 | - "attributes": {"readonly": true}, | |
23 | - "type": "u2", | |
24 | - "access": "r", | |
25 | - "size": 2 | |
26 | - }, | |
27 | - "messageAvailable": { | |
28 | - "id": 4, | |
29 | - "align": 1, | |
30 | - "attributes": {"indicator": true}, | |
31 | - "type": "E:@emmoco.com.DUREX/BOOLEAN", | |
32 | - "access": "irw", | |
33 | - "size": 1 | |
34 | - }, | |
35 | 11 | "numBytes": { |
36 | 12 | "id": 1, |
37 | 13 | "align": 1, |
... | ... | @@ -40,21 +16,22 @@ |
40 | 16 | "access": "rw", |
41 | 17 | "size": 1 |
42 | 18 | }, |
43 | - "$mobileRssi": { | |
44 | - "id": -8, | |
45 | - "align": 1, | |
46 | - "attributes": {"readonly": true}, | |
47 | - "type": "i1", | |
48 | - "access": "r", | |
49 | - "size": 1 | |
50 | - }, | |
51 | 19 | "data": { |
52 | 20 | "id": 2, |
53 | 21 | "align": 1, |
54 | 22 | "attributes": {}, |
55 | - "type": "C:229", | |
23 | + "type": "C:201", | |
56 | 24 | "access": "rw", |
57 | - "size": 229 | |
25 | + "size": 201 | |
26 | + }, | |
27 | + "$activeGroup": { | |
28 | + "id": -10, | |
29 | + "align": 1, | |
30 | + "pack": 1, | |
31 | + "attributes": {"readwrite": true}, | |
32 | + "type": "E:system@emmoco.com.System/ParameterGroup", | |
33 | + "access": "rw", | |
34 | + "size": 1 | |
58 | 35 | }, |
59 | 36 | "$mcmDisconnect": { |
60 | 37 | "id": -9, |
... | ... | @@ -65,6 +42,7 @@ |
65 | 42 | "size": 1 |
66 | 43 | }, |
67 | 44 | "$eapBuildDate": { |
45 | + "dim": 8, | |
68 | 46 | "id": -4, |
69 | 47 | "align": 1, |
70 | 48 | "attributes": {"readonly": true}, |
... | ... | @@ -72,6 +50,14 @@ |
72 | 50 | "access": "r", |
73 | 51 | "size": 8 |
74 | 52 | }, |
53 | + "numPackets": { | |
54 | + "id": 3, | |
55 | + "align": 1, | |
56 | + "attributes": {}, | |
57 | + "type": "u1", | |
58 | + "access": "rw", | |
59 | + "size": 1 | |
60 | + }, | |
75 | 61 | "$resourceCount": { |
76 | 62 | "id": -7, |
77 | 63 | "align": 1, |
... | ... | @@ -80,12 +66,38 @@ |
80 | 66 | "access": "r", |
81 | 67 | "size": 2 |
82 | 68 | }, |
83 | - "numPackets": { | |
84 | - "id": 3, | |
69 | + "$schemaHash": { | |
70 | + "dim": 20, | |
71 | + "id": -6, | |
85 | 72 | "align": 1, |
86 | - "attributes": {}, | |
87 | - "type": "u1", | |
88 | - "access": "rw", | |
73 | + "attributes": {"readonly": true}, | |
74 | + "type": "A20:u1", | |
75 | + "access": "r", | |
76 | + "size": 20 | |
77 | + }, | |
78 | + "messageAvailable": { | |
79 | + "id": 4, | |
80 | + "align": 1, | |
81 | + "pack": 1, | |
82 | + "attributes": {"indicator": true}, | |
83 | + "type": "E:@emmoco.com.DUREX/BOOLEAN", | |
84 | + "access": "ir", | |
85 | + "size": 1 | |
86 | + }, | |
87 | + "$mcmProtocolLevel": { | |
88 | + "id": -2, | |
89 | + "align": 2, | |
90 | + "attributes": {"readonly": true}, | |
91 | + "type": "u2", | |
92 | + "access": "r", | |
93 | + "size": 2 | |
94 | + }, | |
95 | + "$mobileRssi": { | |
96 | + "id": -8, | |
97 | + "align": 1, | |
98 | + "attributes": {"readonly": true}, | |
99 | + "type": "i1", | |
100 | + "access": "r", | |
89 | 101 | "size": 1 |
90 | 102 | }, |
91 | 103 | "$fileIndexReset": { |
... | ... | @@ -98,6 +110,7 @@ |
98 | 110 | } |
99 | 111 | }, |
100 | 112 | "resourceNamesSys": [ |
113 | + "$activeGroup", | |
101 | 114 | "$eapBuildDate", |
102 | 115 | "$eapProtocolLevel", |
103 | 116 | "$fileIndexReset", |
... | ... | @@ -108,41 +121,41 @@ |
108 | 121 | "$schemaHash" |
109 | 122 | ], |
110 | 123 | "manifest": { |
111 | - "protocolLevel": 12, | |
124 | + "protocolLevel": 13, | |
112 | 125 | "hash": [ |
113 | - 245, | |
114 | - 13, | |
115 | - 216, | |
116 | - 92, | |
117 | - 22, | |
118 | - 189, | |
119 | - 34, | |
126 | + 0, | |
127 | + 164, | |
128 | + 192, | |
120 | 129 | 32, |
121 | - 16, | |
122 | - 124, | |
123 | - 194, | |
130 | + 22, | |
131 | + 163, | |
132 | + 114, | |
133 | + 239, | |
134 | + 91, | |
135 | + 240, | |
136 | + 123, | |
137 | + 128, | |
138 | + 206, | |
139 | + 12, | |
124 | 140 | 50, |
125 | - 87, | |
126 | - 152, | |
127 | - 227, | |
128 | - 110 | |
141 | + 148 | |
129 | 142 | ], |
130 | - "toolVersion": "12.0.0.201211010336", | |
143 | + "toolVersion": "13.4.1.201311121909", | |
131 | 144 | "name": "DUREX", |
132 | - "$$md5": "f316f8e8839db2a2939bf3e0120a1fdf", | |
145 | + "$$md5": "00a4c02016a372ef5bf07b80ce0c3294", | |
133 | 146 | "build": [ |
134 | - 61, | |
135 | - 15, | |
136 | - 116, | |
137 | - 250, | |
138 | - 69, | |
147 | + 171, | |
148 | + 30, | |
149 | + 204, | |
150 | + 135, | |
151 | + 71, | |
139 | 152 | 1, |
140 | 153 | 0, |
141 | 154 | 0 |
142 | 155 | ], |
143 | - "date": "2014-05-14T13:18:01T", | |
156 | + "date": "2014-07-30T17:03:27T", | |
144 | 157 | "maxAlign": 2, |
145 | - "maxSize": 229, | |
158 | + "maxSize": 201, | |
146 | 159 | "version": "1.0.0" |
147 | 160 | }, |
148 | 161 | "resourceNames": [ |
... | ... | @@ -157,14 +170,22 @@ |
157 | 170 | "$schemaHash", |
158 | 171 | "$resourceCount", |
159 | 172 | "$mobileRssi", |
160 | - "$mcmDisconnect" | |
173 | + "$mcmDisconnect", | |
174 | + "$activeGroup" | |
161 | 175 | ], |
162 | 176 | "attributes": { |
163 | 177 | "description": "", |
164 | 178 | "version": "1.0.0" |
165 | 179 | }, |
180 | + "resourceNamesApp": [ | |
181 | + "numBytes", | |
182 | + "data", | |
183 | + "numPackets", | |
184 | + "messageAvailable" | |
185 | + ], | |
166 | 186 | "types": { |
167 | 187 | "system@emmoco.com.System/ResourceCount": { |
188 | + "packed": false, | |
168 | 189 | "align": 1, |
169 | 190 | "type": "S:system@emmoco.com.System/ResourceCount", |
170 | 191 | "size": 2, |
... | ... | @@ -193,17 +214,28 @@ |
193 | 214 | "align": 1, |
194 | 215 | "size": 1 |
195 | 216 | }, |
217 | + "std:u1": { | |
218 | + "align": 1, | |
219 | + "size": 1 | |
220 | + }, | |
196 | 221 | "@emmoco.com.DUREX/BOOLEAN": { |
197 | 222 | "values": [ |
198 | 223 | "TRUE", |
199 | 224 | "FALSE" |
200 | 225 | ], |
201 | 226 | "align": 1, |
227 | + "pack": 1, | |
202 | 228 | "type": "E:@emmoco.com.DUREX/BOOLEAN", |
203 | 229 | "size": 1 |
204 | 230 | }, |
205 | - "std:u1": { | |
231 | + "system@emmoco.com.System/ParameterGroup": { | |
232 | + "values": [ | |
233 | + "GROUP_A", | |
234 | + "GROUP_B" | |
235 | + ], | |
206 | 236 | "align": 1, |
237 | + "pack": 1, | |
238 | + "type": "E:system@emmoco.com.System/ParameterGroup", | |
207 | 239 | "size": 1 |
208 | 240 | }, |
209 | 241 | "std:u2": { |
... | ... | @@ -211,11 +243,5 @@ |
211 | 243 | "size": 2 |
212 | 244 | } |
213 | 245 | }, |
214 | - "resourceNamesApp": [ | |
215 | - "data", | |
216 | - "messageAvailable", | |
217 | - "numBytes", | |
218 | - "numPackets" | |
219 | - ], | |
220 | 246 | "imports": {"@emmoco.com.DUREX": true} |
221 | 247 | } |
222 | 248 | \ No newline at end of file | ... | ... |
DUREX/Em/DUREX-STUBS.c
1 | -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-07-30T17:03:27T ****/ | |
1 | +/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-08-07T19:28:56T ****/ | |
2 | 2 | /**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/ |
3 | 3 | |
4 | 4 | #include "DUREX.h" | ... | ... |
DUREX/Em/DUREX.c
1 | -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-07-30T17:03:27T ****/ | |
1 | +/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-08-07T19:28:56T ****/ | |
2 | 2 | /**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/ |
3 | 3 | |
4 | 4 | #include "Em_Message.h" |
... | ... | @@ -19,7 +19,7 @@ typedef struct Em_App_Message { |
19 | 19 | |
20 | 20 | const uint8_t Em_App_hash[] = {0, 164, 192, 32, 22, 163, 114, 239, 91, 240, 123, 128, 206, 12, 50, 148, 13, 0, ((sizeof(struct{uint8_t f1; uint16_t f2;}) - sizeof(uint16_t)) << 4) | (sizeof(struct{uint8_t f1; uint32_t f2;}) - sizeof(uint32_t))}; |
21 | 21 | |
22 | -const uint8_t Em_App_build[] = {171, 30, 204, 135, 71, 1, 0, 0}; | |
22 | +const uint8_t Em_App_build[] = {131, 51, 132, 177, 71, 1, 0, 0}; | |
23 | 23 | |
24 | 24 | #define Em_App_APP_RESOURCE_COUNT 4 |
25 | 25 | #define Em_App_SYS_RESOURCE_COUNT 9 | ... | ... |
DUREX/Em/DUREX.h
1 | -/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-07-30T17:03:27T ****/ | |
1 | +/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-08-07T19:28:56T ****/ | |
2 | 2 | /**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/ |
3 | 3 | |
4 | 4 | #ifndef DUREX__H | ... | ... |
DUREX/Em/durex.json
... | ... | @@ -144,16 +144,16 @@ |
144 | 144 | "name": "DUREX", |
145 | 145 | "$$md5": "00a4c02016a372ef5bf07b80ce0c3294", |
146 | 146 | "build": [ |
147 | - 171, | |
148 | - 30, | |
149 | - 204, | |
150 | - 135, | |
147 | + 131, | |
148 | + 51, | |
149 | + 132, | |
150 | + 177, | |
151 | 151 | 71, |
152 | 152 | 1, |
153 | 153 | 0, |
154 | 154 | 0 |
155 | 155 | ], |
156 | - "date": "2014-07-30T17:03:27T", | |
156 | + "date": "2014-08-07T19:28:56T", | |
157 | 157 | "maxAlign": 2, |
158 | 158 | "maxSize": 201, |
159 | 159 | "version": "1.0.0" | ... | ... |
DUREX/bundle.properties
... | ... | @@ -6,5 +6,5 @@ com.emmoco.framework.Properties.schemaDestinationDirectory = Em |
6 | 6 | com.emmoco.framework.Properties.serverAPIToken = |
7 | 7 | com.emmoco.framework.Properties.align16 = 2 |
8 | 8 | com.emmoco.framework.Properties.align32 = 4 |
9 | -com.emmoco.framework.Properties.schemaFile = /Users/imanol/devel/em-builder/DUREX/DUREX.ems | |
9 | +com.emmoco.framework.Properties.schemaFile = /Users/imanol/devel/durex/DUREX/DUREX.ems | |
10 | 10 | com.emmoco.framework.Properties.toolVersion = 13.4.1.201311121909 | ... | ... |