From a56e7e064ff906471eca2db5cf03f7b1eea03047 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Thu, 22 Mar 2018 17:47:25 +0200 Subject: improved protobuf interface, control handling, drivers. introduced DEBUG_TEST_FUNCTIONS flag for development time functions --- .../Embedded/Modules/Thread/Thread_print.c | 57 +++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index 89ff63363..6e4624723 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -11,6 +11,7 @@ #include "PMR/Hardware/HardwareMotor.pb-c.h" #include "PMR/Hardware/HardwareMotorType.pb-c.h" #include "drivers/Motors/Motor.h" +#include "Drivers/Danser_SSI/ssi_comm.h" #include "drivers/Heater/TemperatureSensor.h" #include "drivers/Heater/Heater.h" ////////////////////////////////State machine operation//////////////////////////////////// @@ -28,6 +29,7 @@ typedef enum uint32_t ThreadMotorIdToMotorId[MAX_THREAD_MOTORS_NUM] = {MOTOR_RDRIVING,MOTOR_DRYER_DRIVING,MOTOR_LDRIVING,MOTOR_WINDER,MOTOR_SCREW}; +uint32_t ThreadMotorIdToDancerId[MAX_THREAD_MOTORS_NUM] = {FEEDER_DANCER,NUM_OF_DANCERS,POOLER_DANCER,WINDER_DANCER,NUM_OF_DANCERS}; /******************************************************************************************** * functions describes motor operation flow and movement state during profile execution @@ -128,8 +130,43 @@ uint32_t DeviceId2Motor[MAX_THREAD_MOTORS_NUM]; static PrintingState_t gPrintingState; //////////////////////////////////////////////////////////////////////////// +uint32_t ThreadSpeedControlCBFunction(uint32_t deviceID, uint32_t ReadValue) +{ + //read value is the dancer angle + int i,index=MAX_THREAD_MOTORS_NUM; + for (i=0;i= MotorControlConfig[index].m_params.MAX) + { + MotorControlConfig[index].m_calculatedError = MotorControlConfig[index].m_params.MAX; + } + if (MotorControlConfig[index].m_calculatedError < MotorControlConfig[index].m_params.MIN) + { + MotorControlConfig[index].m_calculatedError = MotorControlConfig[index].m_params.MIN; + } + + //SetMotorFreq (index, MotorControlConfig[index].m_calculatedError); + } + + return OK; +} uint32_t ThreadControlCBFunction(uint32_t deviceID, uint32_t ReadValue) { + //read value is the dancer angle int i,index=MAX_THREAD_MOTORS_NUM; for (i=0;i