From ce95311e3ca782c405591d12da7cf4366c8dcfb2 Mon Sep 17 00:00:00 2001 From: Avi Levkovich Date: Wed, 26 Aug 2020 11:04:13 +0300 Subject: Add support of WHS fan controller with slave address 0x5E . Add option to read 2 more dancers for 4 winders demo --- Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c | 4 ++-- Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dancer.c | 4 ++++ Software/Embedded_SW/Embedded/Modules/Thread/Thread.h | 7 +++++++ Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c | 6 ++++++ 4 files changed, 19 insertions(+), 2 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c index 89399cbe1..853f6913a 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c @@ -833,9 +833,9 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) if (WHS_Type == WHS_TYPE_NEW) { - Trigger_SetWHSFanSpeed(((request->amount & 0x0000000F)-1) , request->delay & 0x000000FF); + Trigger_SetWHSFanSpeed(((request->amount & 0x0000000F)-2) , request->delay & 0x000000FF); Task_sleep(2000); - fan_tacho = WHS_Get_fan_tach( (request->amount & 0x0000000F)-1); + fan_tacho = WHS_Get_fan_tach( (request->amount & 0x0000000F)-2); } response.progress = fan_tacho; response.has_progress = true; diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dancer.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dancer.c index 213902038..3d2db071e 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dancer.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dancer.c @@ -52,7 +52,11 @@ void Stub_DancerPositionRequest(MessageContainer* requestContainer) response.dancer_id = request->dancer_id; response.has_dancer_id = true; + #ifdef FOUR_WINDERS + Dancers_4_Winders Dancer_Id = (Dancers_4_Winders)request->dancer_id;//to remove warning + #else HardwareDancerType Dancer_Id = (HardwareDancerType)request->dancer_id;//to remove warning + #endif if(Dancer_Id < NUM_OF_ROTENC) { diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h b/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h index aea0dd93a..1f2da8dc0 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h @@ -17,6 +17,7 @@ #include "../control/pidalgo.h" #include "thread_ex.h" +#include "drivers/SSI_Comm/SSI_Comm.h" #define NORMAL_COEF_DIVIDER 100 typedef struct @@ -56,7 +57,13 @@ typedef struct #define MAX_SYSTEM_DANCERS (HARDWARE_DANCER_TYPE__RightDancer+1) extern TimerMotors_t ThreadMotorIdToMotorId[MAX_THREAD_MOTORS_NUM]; + +#ifdef FOUR_WINDERS +extern Dancers_4_Winders ThreadMotorIdToDancerId[MAX_THREAD_MOTORS_NUM]; +#else extern HardwareDancerType ThreadMotorIdToDancerId[MAX_THREAD_MOTORS_NUM]; +#endif + extern HardwarePidControlType ThreadMotorIdToControlId[MAX_THREAD_MOTORS_NUM]; extern bool BreakSensorenabled; diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index 3f13365c2..72f369b64 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -37,6 +37,8 @@ #include "Control/MillisecTask.h" #include "drivers/Flash_ram/MCU_E2Prom.h" +#include "drivers/SSI_Comm/SSI_Comm.h" + ////////////////////////////////State machine operation//////////////////////////////////// //the state machine operation is used to operate in runtime correct profile flow execution //by recieved esign flow of the user from the UI @@ -45,7 +47,11 @@ double CurrentControlledSpeed[MAX_THREAD_MOTORS_NUM] = {0}; TimerMotors_t ThreadMotorIdToMotorId[MAX_THREAD_MOTORS_NUM] = {HARDWARE_MOTOR_TYPE__MOTO_RDRIVING,HARDWARE_MOTOR_TYPE__MOTO_DRYER_DRIVING,HARDWARE_MOTOR_TYPE__MOTO_LDRIVING,HARDWARE_MOTOR_TYPE__MOTO_WINDER,HARDWARE_MOTOR_TYPE__MOTO_SCREW}; +#ifdef FOUR_WINDERS +Dancers_4_Winders ThreadMotorIdToDancerId[MAX_THREAD_MOTORS_NUM] = {FEEDER_DANCER,NUM_OF_DANCERS,POOLER_DANCER,WINDER_DANCER,NUM_OF_DANCERS}; +#else HardwareDancerType ThreadMotorIdToDancerId[MAX_THREAD_MOTORS_NUM] = {FEEDER_DANCER,NUM_OF_DANCERS,POOLER_DANCER,WINDER_DANCER,NUM_OF_DANCERS}; +#endif uint32_t ControlIdtoMotorId [MAX_THREAD_MOTORS_NUM] = {0xFF,0xFF,0xFF,0xFF,0xFF}; uint32_t SpeedControlId=0xFF; uint32_t PoolerSpeedControlId=0xFF; -- cgit v1.3.1