aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.h
blob: 0ad5c09b62077d85c66e0dcd8494bce2dbd50024 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//#include "FPGA_comm.h"
#include "Drivers/Motors/Motor.h"
#include "drivers/Heater/TemperatureSensor.h"

uint8_t SPI_Transnit(SPI spi);
uint8_t SPI_Receive (SPI spi);
void FPGA_GetClrMotStat(SPI MotFPGA_Spi);
void FPGA_GetMotSpeed(SPI MotFPGA_Spi);

uint8_t FPGA_SPI_Transnit(TimerMotors_t _motorId);
uint8_t FPGA_SPI_Receive(TimerMotors_t _motorId);

uint32_t Read_Motors_Driver_Type(TimerMotors_t i);
void FPGA_GetClrMotStat_Cmd(TimerMotors_t _motorId);
void FPGA_GetMotSpeed_Cmd(TimerMotors_t _motorId);
void FPGA_Get_ADC_OUT_Cmd(TimerMotors_t _motorId);
void FPGA_GetFPGAMotSpeed_Cmd(TimerMotors_t _motorId);

void FPGA_Get_Res(TimerMotors_t _motorId);
void FPGA_GetBusy();

void FPGA_SetMotStop(TimerMotors_t _motorId);
void FPGA_GetMotMicroSteps_Cmd(TimerMotors_t _motorId);
void FPGA_GetMotPosition_Cmd(TimerMotors_t _motorId);
void FPGA_SetMotMaxSpeed(TimerMotors_t _motorId);
void FPGA_SetMotMicroStep(TimerMotors_t _motorId);
void FPGA_SetMotPosition(TimerMotors_t _motorId);
void FPGA_SetMotSpeed(TimerMotors_t _motorId);
void FPGA_SetMotSpeedDirect(TimerMotors_t _motorId);

void FPGA_SetMotKvalHold(TimerMotors_t _motorId);
void FPGA_SetMotKvalRun(TimerMotors_t _motorId);
void FPGA_SetMotKvalAcc(TimerMotors_t _motorId);
void FPGA_SetMotKvalDec(TimerMotors_t _motorId);
void FPGA_SetOCD_TH(TimerMotors_t _motorId);

void FPGA_SetMotorsInit();
uint32_t FPGA_MotorConfig(TimerMotors_t _motorId, MotorDriverConfigStruc *MotorConfig);

int SPISendFPGARequest(TEMPERATURE_SENSOR_ID_ENUM SensorId,uint32_t Data, uint32_t Length);
int SPIGetFPGAResponse(TEMPERATURE_SENSOR_ID_ENUM SensorId,uint32_t *Data);
void FPGA_SetMotHome(TimerMotors_t  _motorId);
extern SPI Fpga_Spi[NUM_OF_MOTORS];
void FPGA_SetGoToPosition(TimerMotors_t _motorId);//GoTo

void Change_Motor_SPI_Direction(TimerMotors_t _motorId, SPI_MOT_DRIVER_DIRECTION Spi_Direction);
uint32_t Power_Step_01_Mode(TimerMotors_t _motorId, MOTDRIVER_MODE New_Mode);

void FPGA_SetMotPowerStep01GateCfg(bool GatecfgNo, TimerMotors_t _motorId);
void FPGA_SetGoToDirPosition(TimerMotors_t _motorId);//GoTo_DIR command
uint32_t Power_Step_01_Dispenser_Mode(uint8_t Dispenser_ID, MOTDRIVER_MODE New_Mode);
void Init_Motors_Drivers_After_FPGA_WD();

extern bool Extended_Motor_Param[NUM_OF_MOTORS];