| 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; |