Skip to content

🐛 [Bug] - Fix initialization order in RobotController #1319

@ladislas

Description

@ladislas

Description

The current initialization order of RobotController has a lot of warnings:

In file included from /Users/ladislas/dev/leka/LekaOS/app/os/main.cpp:60:
/Users/ladislas/dev/leka/LekaOS/libs/RobotKit/include/RobotController.h: In instantiation of 'leka::RobotController<sm_t>::RobotController(leka::interface::Timeout&, leka::interface::Timeout&, leka::interface::Battery&, leka::SerialNumberKit&, leka::interface::FirmwareUpdate&, leka::interface::Motor&, leka::interface::Motor&, leka::interface::LED&, leka::interface::LED&, leka::interface::LedKit&, leka::interface::LCD&, leka::interface::VideoKit&, leka::BehaviorKit&, leka::CommandKit&, leka::RFIDKit&, leka::ActivityKit&) [with sm_t = boost::ext::sml::v1_1_6::back::sm<boost::ext::sml::v1_1_6::back::sm_policy<leka::system::robot::StateMachine, boost::ext::sml::v1_1_6::back::policies::logger<leka::system::robot::sm::logger>, boost::ext::sml::v1_1_6::back::policies::thread_safe<leka::CoreMutex> > >]':
/Users/ladislas/dev/leka/LekaOS/app/os/main.cpp:431:2:   required from here
/Users/ladislas/dev/leka/LekaOS/libs/RobotKit/include/RobotController.h:573:14: warning: 'leka::RobotController<boost::ext::sml::v1_1_6::back::sm<boost::ext::sml::v1_1_6::back::sm_policy<leka::system::robot::StateMachine, boost::ext::sml::v1_1_6::back::policies::logger<leka::system::robot::sm::logger>, boost::ext::sml::v1_1_6::back::policies::thread_safe<leka::CoreMutex> > > >::_cmdkit' will be initialized after [-Wreorder]
  573 |  CommandKit &_cmdkit;
      |              ^~~~~~~
/Users/ladislas/dev/leka/LekaOS/libs/RobotKit/include/RobotController.h:569:11: warning:   'leka::RFIDKit& leka::RobotController<boost::ext::sml::v1_1_6::back::sm<boost::ext::sml::v1_1_6::back::sm_policy<leka::system::robot::StateMachine, boost::ext::sml::v1_1_6::back::policies::logger<leka::system::robot::sm::logger>, boost::ext::sml::v1_1_6::back::policies::thread_safe<leka::CoreMutex> > > >::_rfidkit' [-Wreorder]
  569 |  RFIDKit &_rfidkit;
      |           ^~~~~~~~
/Users/ladislas/dev/leka/LekaOS/libs/RobotKit/include/RobotController.h:50:11: warning:   when initialized here [-Wreorder]
   50 |  explicit RobotController(interface::Timeout &timeout_state_internal, interface::Timeout &timeout_state_transition,
      |           ^~~~~~~~~~~~~~~

We need to fix that as it could be causing bugs.

Related epic/story/task:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions