48 | | AimsunDS::AimsunDS ( UIFile &cfg ) : DS() |
| 48 | AimsunDS::AimsunDS () : DS() |
| 49 | { |
| 50 | /* Description of the channels of the data vector. */ |
| 51 | Drv = RV ( "{" |
| 52 | "495_VA 495_VB 495_VC 495_VD 495_VE 495_VF " |
| 53 | "495_DVA 495_DVB 495_DVA1 495_DVB1 495_DVC 495_DVD 495_DVE 495_DVF 495_DVF1 " |
| 54 | "495_S1 495_S2 495_S3 495_S4 495_S5 495_S5a " |
| 55 | "601_VA 601_VB 601_VC 601_VD 601_VE 601_SE " |
| 56 | "601_DVA 601_DVAa 601_DVB 601_DVBa 601_DVB1 601_DVC 601_DVD 601_DVD1 601_DSE 601_DVE 601_DSE1 601_DVE1 " |
| 57 | "601_S6 601_S6a 601_S7 601_S8 601_S9 601_S9a " |
| 58 | "}", |
| 59 | " 1, 1, 1, 1, 1, 1, " |
| 60 | " 2, 2, 2, 2, 2, 2, 2, 2, 2," |
| 61 | " 2, 2, 2, 2, 2, 2," |
| 62 | " 1, 1, 1, 1, 1, 1, " |
| 63 | " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2," |
| 64 | " 2, 2, 2, 2, 2, 2" |
| 65 | ); |
| 66 | /* Remember the size of the data vector. */ |
| 67 | dtsize = Drv._dsize(); |
| 68 | |
| 69 | /* Description of the channels of the input vector. */ |
| 70 | Urv = RV ( "{" |
| 71 | "Tc" |
| 72 | "495_offset" |
| 73 | "495_VA 495_VB 495_VC 495_VD 495_VE 495_VF " |
| 74 | "601_offset" |
| 75 | "601_VA 601_VB 601_VC 601_VD 601_VE 601_SE " |
| 76 | "}" ); |
| 77 | /* Remember the size of the input vector. */ |
| 78 | utsize = Urv._dsize(); |
| 79 | |
| 80 | /* Initialise the pointer to received data. */ |
| 81 | p_rsp = NULL; |
| 82 | } |
| 83 | |
| 84 | void AimsunDS::from_setting ( const Setting &cfg ) |
| 85 | { |
| 86 | /* Check the `stop time` field in configuration. */ |
| 87 | UI::get ( stopTime, cfg, "stop_time" ); |
| 88 | |
| 89 | /* Query the configuration file for the name of the file containsing |
| 90 | vehicle entrances. */ |
| 91 | UI::get ( entranceFileName, cfg, "entrances" ); |
| 92 | } |
| 93 | |
| 94 | void AimsunDS::validate () |
291 | | /* Description of the channels of the data vector. */ |
292 | | Drv = RV ( "{" |
293 | | "495_VA 495_VB 495_VC 495_VD 495_VE 495_VF " |
294 | | "495_DVA 495_DVB 495_DVA1 495_DVB1 495_DVC 495_DVD 495_DVE 495_DVF 495_DVF1 " |
295 | | "495_S1 495_S2 495_S3 495_S4 495_S5 495_S5a " |
296 | | "601_VA 601_VB 601_VC 601_VD 601_VE 601_SE " |
297 | | "601_DVA 601_DVAa 601_DVB 601_DVBa 601_DVB1 601_DVC 601_DVD 601_DVD1 601_DSE 601_DVE 601_DSE1 601_DVE1 " |
298 | | "601_S6 601_S6a 601_S7 601_S8 601_S9 601_S9a " |
299 | | "}", |
300 | | " 1, 1, 1, 1, 1, 1, " |
301 | | " 2, 2, 2, 2, 2, 2, 2, 2, 2," |
302 | | " 2, 2, 2, 2, 2, 2," |
303 | | " 1, 1, 1, 1, 1, 1, " |
304 | | " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2," |
305 | | " 2, 2, 2, 2, 2, 2" |
306 | | ); |
307 | | /* Remember the size of the data vector. */ |
308 | | dtsize = Drv._dsize(); |
309 | | |
310 | | /* Description of the channels of the input vector. */ |
311 | | Urv = RV ( "{" |
312 | | "Tc" |
313 | | "495_offset" |
314 | | "495_VA 495_VB 495_VC 495_VD 495_VE 495_VF " |
315 | | "601_offset" |
316 | | "601_VA 601_VB 601_VC 601_VD 601_VE 601_SE " |
317 | | "}" ); |
318 | | /* Remember the size of the input vector. */ |
319 | | utsize = Urv._dsize(); |
320 | | |
321 | | /* Initialise the pointer to received data. */ |
322 | | p_rsp = NULL; |