CTRE Phoenix Pro C++ 23.0.12
Control_Interface.h
Go to the documentation of this file.
1/*
2 * Copyright (C) Cross The Road Electronics.  All rights reserved.
3 * License information can be found in CTRE_LICENSE.txt
4 * For support and suggestions contact support@ctr-electronics.com or file
5 * an issue tracker at https://github.com/CrossTheRoadElec/Phoenix-Releases
6 */
7#pragma once
8
10#include <stdint.h>
11
12#ifdef __cplusplus
13extern "C"
14{
15#endif
16 CTREXPORT int c_ctre_phoenixpro_requestConfigApply(const char *canbus, uint32_t ecuEncoding, double timeoutSeconds, const char *str, uint32_t strlen, bool forceApply);
17CTREXPORT int c_ctre_phoenixpro_RequestControlDutyCycleOut(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Output, bool EnableFOC, bool OverrideBrakeDurNeutral);
18CTREXPORT int c_ctre_phoenixpro_RequestControlTorqueCurrentFOC(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Output, double MaxAbsDutyCycle, double Deadband, bool OverrideCoastDurNeutral);
19CTREXPORT int c_ctre_phoenixpro_RequestControlVoltageOut(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Output, bool EnableFOC, bool OverrideBrakeDurNeutral);
20CTREXPORT int c_ctre_phoenixpro_RequestControlPositionDutyCycle(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Position, bool EnableFOC, double FeedForward, int Slot, bool OverrideBrakeDurNeutral);
21CTREXPORT int c_ctre_phoenixpro_RequestControlPositionVoltage(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Position, bool EnableFOC, double FeedForward, int Slot, bool OverrideBrakeDurNeutral);
22CTREXPORT int c_ctre_phoenixpro_RequestControlPositionTorqueCurrentFOC(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Position, double FeedForward, int Slot, bool OverrideCoastDurNeutral);
23CTREXPORT int c_ctre_phoenixpro_RequestControlVelocityDutyCycle(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Velocity, bool EnableFOC, double FeedForward, int Slot, bool OverrideBrakeDurNeutral);
24CTREXPORT int c_ctre_phoenixpro_RequestControlVelocityVoltage(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Velocity, bool EnableFOC, double FeedForward, int Slot, bool OverrideBrakeDurNeutral);
25CTREXPORT int c_ctre_phoenixpro_RequestControlVelocityTorqueCurrentFOC(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Velocity, double FeedForward, int Slot, bool OverrideCoastDurNeutral);
26CTREXPORT int c_ctre_phoenixpro_RequestControlMotionMagicDutyCycle(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Position, bool EnableFOC, double FeedForward, int Slot, bool OverrideBrakeDurNeutral);
27CTREXPORT int c_ctre_phoenixpro_RequestControlMotionMagicVoltage(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Position, bool EnableFOC, double FeedForward, int Slot, bool OverrideBrakeDurNeutral);
28CTREXPORT int c_ctre_phoenixpro_RequestControlMotionMagicTorqueCurrentFOC(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Position, double FeedForward, int Slot, bool OverrideCoastDurNeutral);
29CTREXPORT int c_ctre_phoenixpro_RequestControlFollower(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, int MasterID, bool OpposeMasterDirection);
30CTREXPORT int c_ctre_phoenixpro_RequestControlStrictFollower(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, int MasterID);
31CTREXPORT int c_ctre_phoenixpro_RequestControlNeutralOut(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests);
32CTREXPORT int c_ctre_phoenixpro_RequestControlCoastOut(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests);
33CTREXPORT int c_ctre_phoenixpro_RequestControlStaticBrake(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests);
34CTREXPORT int c_ctre_phoenixpro_RequestControlBalanceBattery(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests);
35CTREXPORT int c_ctre_phoenixpro_RequestControlBMSManualIsolator(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, bool Enable);
36CTREXPORT int c_ctre_phoenixpro_RequestControlBMSManualVboost(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, bool EnableClosedLoop, double TargetVoltage, double TargetDutyCycle);
37CTREXPORT int c_ctre_phoenixpro_RequestControlBMSManualPwmJunction(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, int JunctionSelect, double JunctionDutyCycle);
38CTREXPORT int c_ctre_phoenixpro_RequestControlBMSClearFault(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests);
39#ifdef __cplusplus
40}
41#endif
CTREXPORT int c_ctre_phoenixpro_RequestControlBMSClearFault(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests)
CTREXPORT int c_ctre_phoenixpro_RequestControlPositionDutyCycle(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Position, bool EnableFOC, double FeedForward, int Slot, bool OverrideBrakeDurNeutral)
CTREXPORT int c_ctre_phoenixpro_RequestControlTorqueCurrentFOC(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Output, double MaxAbsDutyCycle, double Deadband, bool OverrideCoastDurNeutral)
CTREXPORT int c_ctre_phoenixpro_RequestControlBMSManualIsolator(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, bool Enable)
CTREXPORT int c_ctre_phoenixpro_RequestControlVelocityDutyCycle(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Velocity, bool EnableFOC, double FeedForward, int Slot, bool OverrideBrakeDurNeutral)
CTREXPORT int c_ctre_phoenixpro_requestConfigApply(const char *canbus, uint32_t ecuEncoding, double timeoutSeconds, const char *str, uint32_t strlen, bool forceApply)
CTREXPORT int c_ctre_phoenixpro_RequestControlPositionVoltage(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Position, bool EnableFOC, double FeedForward, int Slot, bool OverrideBrakeDurNeutral)
CTREXPORT int c_ctre_phoenixpro_RequestControlMotionMagicDutyCycle(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Position, bool EnableFOC, double FeedForward, int Slot, bool OverrideBrakeDurNeutral)
CTREXPORT int c_ctre_phoenixpro_RequestControlStaticBrake(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests)
CTREXPORT int c_ctre_phoenixpro_RequestControlDutyCycleOut(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Output, bool EnableFOC, bool OverrideBrakeDurNeutral)
CTREXPORT int c_ctre_phoenixpro_RequestControlBMSManualPwmJunction(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, int JunctionSelect, double JunctionDutyCycle)
CTREXPORT int c_ctre_phoenixpro_RequestControlFollower(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, int MasterID, bool OpposeMasterDirection)
CTREXPORT int c_ctre_phoenixpro_RequestControlBMSManualVboost(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, bool EnableClosedLoop, double TargetVoltage, double TargetDutyCycle)
CTREXPORT int c_ctre_phoenixpro_RequestControlVelocityVoltage(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Velocity, bool EnableFOC, double FeedForward, int Slot, bool OverrideBrakeDurNeutral)
CTREXPORT int c_ctre_phoenixpro_RequestControlMotionMagicVoltage(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Position, bool EnableFOC, double FeedForward, int Slot, bool OverrideBrakeDurNeutral)
CTREXPORT int c_ctre_phoenixpro_RequestControlPositionTorqueCurrentFOC(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Position, double FeedForward, int Slot, bool OverrideCoastDurNeutral)
CTREXPORT int c_ctre_phoenixpro_RequestControlStrictFollower(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, int MasterID)
CTREXPORT int c_ctre_phoenixpro_RequestControlMotionMagicTorqueCurrentFOC(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Position, double FeedForward, int Slot, bool OverrideCoastDurNeutral)
CTREXPORT int c_ctre_phoenixpro_RequestControlVoltageOut(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Output, bool EnableFOC, bool OverrideBrakeDurNeutral)
CTREXPORT int c_ctre_phoenixpro_RequestControlNeutralOut(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests)
CTREXPORT int c_ctre_phoenixpro_RequestControlVelocityTorqueCurrentFOC(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests, double Velocity, double FeedForward, int Slot, bool OverrideCoastDurNeutral)
CTREXPORT int c_ctre_phoenixpro_RequestControlBalanceBattery(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests)
CTREXPORT int c_ctre_phoenixpro_RequestControlCoastOut(const char *canbus, uint32_t ecuEncoding, double updateTime, bool cancelOtherRequests)
#define CTREXPORT
Definition: export.h:14