173 lines
4.0 KiB
C
173 lines
4.0 KiB
C
|
|
/*******************************************************************************
|
||
|
|
* Copyright © 2019 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.
|
||
|
|
*******************************************************************************/
|
||
|
|
|
||
|
|
|
||
|
|
#include "Board.h"
|
||
|
|
|
||
|
|
MotionControllerBoards motionControllerBoards;
|
||
|
|
DriverBoards driverBoards;
|
||
|
|
|
||
|
|
static void deInit(void) {}
|
||
|
|
|
||
|
|
// Evalboard channel function dummies
|
||
|
|
static uint32_t dummy_Motor(uint8_t motor)
|
||
|
|
{
|
||
|
|
UNUSED(motor);
|
||
|
|
return TMC_ERROR_FUNCTION;
|
||
|
|
}
|
||
|
|
|
||
|
|
static uint32_t dummy_MotorValue(uint8_t motor, int32_t value)
|
||
|
|
{
|
||
|
|
UNUSED(motor);
|
||
|
|
UNUSED(value);
|
||
|
|
return TMC_ERROR_FUNCTION;
|
||
|
|
}
|
||
|
|
|
||
|
|
static void dummy_AddressRef(uint8_t motor, uint16_t address, int32_t *value)
|
||
|
|
{
|
||
|
|
UNUSED(motor);
|
||
|
|
UNUSED(address);
|
||
|
|
UNUSED(value);
|
||
|
|
}
|
||
|
|
|
||
|
|
static void dummy_AddressValue(uint8_t motor, uint16_t address, int32_t value)
|
||
|
|
{
|
||
|
|
UNUSED(motor);
|
||
|
|
UNUSED(address);
|
||
|
|
UNUSED(value);
|
||
|
|
}
|
||
|
|
|
||
|
|
static uint32_t dummy_MotorRef(uint8_t motor, int32_t *value)
|
||
|
|
{
|
||
|
|
UNUSED(motor);
|
||
|
|
UNUSED(value);
|
||
|
|
return TMC_ERROR_FUNCTION;
|
||
|
|
}
|
||
|
|
|
||
|
|
static uint32_t dummy_TypeMotorValue(uint8_t type, uint8_t motor, int32_t value)
|
||
|
|
{
|
||
|
|
UNUSED(type);
|
||
|
|
UNUSED(motor);
|
||
|
|
UNUSED(value);
|
||
|
|
return TMC_ERROR_FUNCTION;
|
||
|
|
}
|
||
|
|
|
||
|
|
static uint32_t dummy_TypeMotorRef(uint8_t type, uint8_t motor, int32_t *value)
|
||
|
|
{
|
||
|
|
UNUSED(type);
|
||
|
|
UNUSED(motor);
|
||
|
|
UNUSED(value);
|
||
|
|
return TMC_ERROR_FUNCTION;
|
||
|
|
}
|
||
|
|
|
||
|
|
static uint32_t dummy_getLimit(uint8_t type, uint8_t motor, int32_t *value)
|
||
|
|
{
|
||
|
|
UNUSED(type);
|
||
|
|
UNUSED(motor);
|
||
|
|
UNUSED(value);
|
||
|
|
return TMC_ERROR_FUNCTION;
|
||
|
|
}
|
||
|
|
|
||
|
|
static uint8_t dummy_onPinChange(IOPinTypeDef *pin, IO_States state)
|
||
|
|
{
|
||
|
|
UNUSED(pin);
|
||
|
|
UNUSED(state);
|
||
|
|
return 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
static void dummy_OTP_init(void)
|
||
|
|
{
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
static void dummy_OTP_address(uint32_t address)
|
||
|
|
{
|
||
|
|
UNUSED(address);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
static void dummy_OTP_value(uint32_t value)
|
||
|
|
{
|
||
|
|
UNUSED(value);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
static void dummy_OTP_program(void)
|
||
|
|
{
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
static void dummy_OTP_lock(void)
|
||
|
|
{
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
static OTP_Status dummy_OTP_status(void)
|
||
|
|
{
|
||
|
|
return OTP_STATUS_IDLE;
|
||
|
|
}
|
||
|
|
|
||
|
|
static uint8_t delegationReturn(void)
|
||
|
|
{
|
||
|
|
return 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
static void enableDriver(DriverState state)
|
||
|
|
{
|
||
|
|
UNUSED(state);
|
||
|
|
}
|
||
|
|
|
||
|
|
static void periodicJob(uint32_t tick)
|
||
|
|
{
|
||
|
|
UNUSED(tick);
|
||
|
|
}
|
||
|
|
|
||
|
|
void board_setDummyFunctions(EvalboardFunctionsTypeDef *channel)
|
||
|
|
{
|
||
|
|
channel->config->reset = delegationReturn;
|
||
|
|
channel->config->restore = delegationReturn;
|
||
|
|
|
||
|
|
channel->deInit = deInit;
|
||
|
|
channel->periodicJob = periodicJob;
|
||
|
|
channel->left = dummy_MotorValue;
|
||
|
|
channel->stop = dummy_Motor;
|
||
|
|
channel->moveTo = dummy_MotorValue;
|
||
|
|
channel->moveBy = dummy_MotorRef;
|
||
|
|
channel->moveProfile = dummy_MotorValue;
|
||
|
|
channel->right = dummy_MotorValue;
|
||
|
|
channel->GAP = dummy_TypeMotorRef;
|
||
|
|
channel->readRegister = dummy_AddressRef;
|
||
|
|
channel->writeRegister = dummy_AddressValue;
|
||
|
|
channel->SAP = dummy_TypeMotorValue;
|
||
|
|
channel->SIO = dummy_TypeMotorValue;
|
||
|
|
channel->GIO = dummy_TypeMotorRef;
|
||
|
|
channel->STAP = dummy_TypeMotorValue;
|
||
|
|
channel->RSAP = dummy_TypeMotorValue;
|
||
|
|
channel->userFunction = dummy_TypeMotorRef;
|
||
|
|
channel->getMeasuredSpeed = dummy_MotorRef;
|
||
|
|
channel->checkErrors = periodicJob;
|
||
|
|
channel->enableDriver = enableDriver;
|
||
|
|
|
||
|
|
channel->fullCover = NULL;
|
||
|
|
channel->getMin = dummy_getLimit;
|
||
|
|
channel->getMax = dummy_getLimit;
|
||
|
|
channel->onPinChange = dummy_onPinChange;
|
||
|
|
|
||
|
|
channel->OTP_init = dummy_OTP_init;
|
||
|
|
channel->OTP_address = dummy_OTP_address;
|
||
|
|
channel->OTP_value = dummy_OTP_value;
|
||
|
|
channel->OTP_program = dummy_OTP_program;
|
||
|
|
channel->OTP_status = dummy_OTP_status;
|
||
|
|
channel->OTP_lock = dummy_OTP_lock;
|
||
|
|
}
|
||
|
|
|
||
|
|
void periodicJobDummy(uint32_t tick)
|
||
|
|
{
|
||
|
|
UNUSED(tick);
|
||
|
|
}
|