Homec4science

Defer MotorMotorControlMode selection in Synchronizer:start()

Description

Defer MotorMotorControlMode selection in Synchronizer:start()

Setting sbcp::amarsi::MotorDriver::Motor::MotorControlMode() requires :

  1. The motor to be calibrated
  2. The motor to be configured
  3. The SBCP host to send a real time stream of data ASAP

This will also turn the hardware motor on.

Therefore it is safer to defer this setting to the closest point before
the I/O loop will start, i.e. rci::oncilla::Synchronizer::start(),
and more precisely just before to switch to sbcp::ScheduledWorkflow().

It is also safer, when Synchronizer::stop() is run to disable the
motor ( returning to COAST mode). Anyway this will be done by the
security layer of the Motordriver firmware since it will not receive
any new data from the liboncilla-hw I/O loop.

Details

Committed
Alexandre Tuleu <alexandre.tuleu.2005@polytechnique.org>Apr 14 2014, 18:14
Pushed
tuleuMay 7 2018, 15:27
Parents
R6623:9dfd1000f9c0: Corrects Synchronizer::lastProcessTimestep()
Branches
Unknown
Tags
Unknown

Event Timeline

Alexandre Tuleu <alexandre.tuleu.2005@polytechnique.org> committed R6623:fa40f24f7f5d: Defer MotorMotorControlMode selection in Synchronizer:start() (authored by Alexandre Tuleu <alexandre.tuleu.2005@polytechnique.org>).Apr 14 2014, 18:14