Files
ESP_Project4_H26/include/node_application.h

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