Motorcortex Core  version: 2.7.6
drive_sercos.h
1 /*
2  * Developer : Alexey Zakharov (alexey.zakharov@vectioneer.com)
3  * All rights reserved. Copyright (c) 2018 VECTIONEER.
4  */
5 
6 
7 #ifndef MOTORCORTEX_LIB_DRIVE_SERCOS_H
8 #define MOTORCORTEX_LIB_DRIVE_SERCOS_H
9 
10 #include "drive_base.h"
11 #include "drive_sercos_fsm_base.h"
12 #include "drive_sercos_fsm_data.h"
13 #include "drive_sercos_fsm_transition.h"
14 
15 namespace mcx {
16 
17 namespace drive {
18 
19 class DriveSercos : public DriveBase {
21 public:
22 
23  DriveSercos();
24 
25  explicit DriveSercos(const std::string& name);
26 
27  void setName(const std::string& name) override {
28  sm_.setName(name.c_str());
29  }
30 
31  bool update(double dt_sec, const DriveIn& drive_in, DriveOut* drive_out) override;
32 
33 private:
35  SercosFsmData sm_data_;
36 };
37 
38 } // namespace drive
39 
40 } // namespace mcx
41 
42 #endif // MOTORCORTEX_LIB_DRIVE_SERCOS_H
mcx::drive::DriveOut
Definition: drive_base.h:34
mcx::state_machine::StateMachine< SercosFsmBase >
mcx::drive::DriveIn
Definition: drive_base.h:19
mcx::drive::SercosFsmData
Definition: drive_sercos_fsm_data.h:135
mcx::drive::DriveBase
Definition: drive_base.h:53
mcx::state_machine::StateMachine::setName
void setName(const std::string &new_name)
Sets name of the state machine.
Definition: sm_statemachine.h:158
mcx::drive::DriveSercos
Definition: drive_sercos.h:19