MuffinSpawn / FMS

My personal FMS task management and field-testing repository.
0 stars 0 forks source link

Reinitialize laser tracker if needed #46

Closed MuffinSpawn closed 7 years ago

MuffinSpawn commented 7 years ago

Detect when the laser tracker needs to be reinitialized and do the following:

1) save state (i.e. current reflector position, etc...), 2) go to ref#1 3) init.cmd --> lasertracker 4) return to previous action (i.e. go to saved reflector position)

MuffinSpawn commented 7 years ago

I have finished the implementation, but I am nervous. If the LT goes uninitialized in the middle of a step (move, find, measure, find, measure.... sequence), the component will have to be re-initialized manually/by the script because it cannot distinguish between find.ack from the re-init or one from a pending step find.

My inclination is to modify the behavior to 1) save the inputs to the step, 2) flush the inbound queue, 3) abort Motion, 4) abort Laser Tracker 5) re-init, 6) flush the inbound queue again, and 7) redo the step from the start using the saved inputs.

There's a pathological case whereby an exit or abort could be issued during re-init, so it should respond appropriately to these events.

Also, abort will have to be implemented in Motion and Laser Tracker if the default functionality is insufficient.

MuffinSpawn commented 7 years ago

I'm punting on doing the updates for now (see issue #50).