+void rcv_hokuyo_scan_cb(const ORTERecvInfo *info, void *vinstance,
+ void *recvCallBackParam)
+{
+ struct lidar_scan_type *instance = (struct lidar_scan_type *)vinstance;
+
+ switch (info->status) {
+ case NEW_DATA: {
+ ROBOT_LOCK(hokuyo);
+ robot.hokuyo = *instance;
+ robot.status[COMPONENT_HOKUYO] = STATUS_OK;
+ ROBOT_UNLOCK(hokuyo);
+ if(!robot.ignore_hokuyo)
+ {
+ //update_map_hokuyo(instance);
+ }
+ break;
+ }
+ case DEADLINE:
+ robot.status[COMPONENT_HOKUYO] = STATUS_FAILED;
+ //system("killall -9 hokuyo");
+ DBG("%s: ORTE deadline occurred\n", __FUNCTION__);
+ break;
+ }
+}
+