35 lines
1.1 KiB
C
35 lines
1.1 KiB
C
|
|
/*******************************************************************************
|
||
|
|
* Copyright © 2018 TRINAMIC Motion Control GmbH & Co. KG
|
||
|
|
* (now owned by Analog Devices Inc.),
|
||
|
|
*
|
||
|
|
* Copyright © 2023 Analog Devices Inc. All Rights Reserved. This software is
|
||
|
|
* proprietary & confidential to Analog Devices, Inc. and its licensors.
|
||
|
|
*******************************************************************************/
|
||
|
|
|
||
|
|
|
||
|
|
#ifndef TMC_LINEAR_RAMP_H_
|
||
|
|
#define TMC_LINEAR_RAMP_H_
|
||
|
|
|
||
|
|
#include "tmc/helpers/API_Header.h"
|
||
|
|
#include "tmc/helpers/Functions.h"
|
||
|
|
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
uint32_t maxVelocity;
|
||
|
|
int32_t targetPosition;
|
||
|
|
int32_t rampPosition;
|
||
|
|
int32_t targetVelocity;
|
||
|
|
int32_t rampVelocity;
|
||
|
|
int32_t acceleration;
|
||
|
|
uint16_t encoderSteps;
|
||
|
|
int32_t lastdVRest;
|
||
|
|
int32_t lastdXRest;
|
||
|
|
uint8_t rampEnabled;
|
||
|
|
} TMC_LinearRamp;
|
||
|
|
|
||
|
|
void tmc_linearRamp_init(TMC_LinearRamp *linearRamp);
|
||
|
|
void tmc_linearRamp_computeRampVelocity(TMC_LinearRamp *linearRamp);
|
||
|
|
void tmc_linearRamp_computeRampPosition(TMC_LinearRamp *linearRamp);
|
||
|
|
|
||
|
|
#endif /* TMC_LINEAR_RAMP_H_ */
|