203 {
204 Config config = source_config;
205 if (config.model() == VLP16) {
206 config.set_calibration_online(false);
207 return new Velodyne16Parser(config);
208 } else if (config.model() == HDL32E || config.model() == VLP32C) {
209 config.set_calibration_online(false);
210 return new Velodyne32Parser(config);
211 } else if (config.model() == HDL64E_S3S || config.model() == HDL64E_S3D ||
212 config.model() == HDL64E_S2) {
213 return new Velodyne64Parser(config);
214 } else if (config.model() == VLS128) {
215 return new Velodyne128Parser(config);
216 } else {
217 AERROR <<
"invalid model, must be 64E_S2|64E_S3S"
218 << "|64E_S3D_STRONGEST|64E_S3D_LAST|64E_S3D_DUAL|HDL32E|VLP16";
219 return nullptr;
220 }
221}