51 lines
1.3 KiB
C++
51 lines
1.3 KiB
C++
#ifndef NODE_APPLICATION_H
|
|
#define NODE_APPLICATION_H
|
|
|
|
#include <stdint.h>
|
|
#include "node_types.h"
|
|
|
|
class NodeApplication
|
|
{
|
|
public:
|
|
virtual ~NodeApplication() {}
|
|
|
|
// NMT
|
|
virtual void to_initialization() = 0;
|
|
virtual void to_pre_operational() = 0;
|
|
virtual void to_operational() = 0;
|
|
virtual void to_stopped() = 0;
|
|
virtual void reset_parameters() = 0;
|
|
virtual NodeState get_state() const = 0;
|
|
|
|
// 0x2000
|
|
virtual void select_controller(ControllerType type) = 0;
|
|
virtual ControllerType get_controller_type() const = 0;
|
|
|
|
// 0x2001
|
|
virtual void set_Kp(double value) = 0;
|
|
virtual double get_Kp() const = 0;
|
|
|
|
// 0x2002
|
|
virtual bool set_Ti(double value) = 0;
|
|
virtual double get_Ti() const = 0;
|
|
|
|
// 0x2010
|
|
virtual double get_duty_percent() const = 0;
|
|
|
|
// 0x606C
|
|
virtual double get_actual_rpm() const = 0;
|
|
|
|
// 0x6083
|
|
virtual void set_profile_acceleration(uint32_t value) = 0;
|
|
virtual uint32_t get_profile_acceleration() const = 0;
|
|
// 0x6084
|
|
virtual void set_profile_deceleration(uint32_t value) = 0;
|
|
virtual uint32_t get_profile_deceleration() const = 0;
|
|
|
|
// 0x60FF (RPDO1)
|
|
virtual void set_target_rpm(double value) = 0;
|
|
virtual double get_target_rpm() const = 0;
|
|
|
|
};
|
|
|
|
#endif |