diff options
| author | Shai Frieder <Shai.Frieder@twine-s.com> | 2020-02-02 16:11:27 +0200 |
|---|---|---|
| committer | Shai Frieder <Shai.Frieder@twine-s.com> | 2020-02-02 16:11:27 +0200 |
| commit | aabec2c2686c9a99f56ce6e2e501a50b1d3e6431 (patch) | |
| tree | ddf500b0c159ca9c6613e4243f35d1556023a33b | |
| parent | f3ddfa5b125874db0a3ea45cca8930fc9b674894 (diff) | |
| download | Tango-aabec2c2686c9a99f56ce6e2e501a50b1d3e6431.tar.gz Tango-aabec2c2686c9a99f56ce6e2e501a50b1d3e6431.zip | |
fixed WHS
9 files changed, 110 insertions, 14 deletions
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Task.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Task.c index 8af9a8576..52d9980de 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Task.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Task.c @@ -227,12 +227,13 @@ void Trigger_SetWHSFanSpeed(uint8_t fan_id, uint8_t speed) return; } -void Trigger_ReadWHSFanTacho (uint8_t fan_id) +void Trigger_ReadWHSFanTacho (uint8_t fan_id, uint8_t* tacho_value) { I2C_ReadingMessageStruc I2C_ReadingMessage; I2C_ReadingMessage.messageId = WHS_READ_FAN_TACHO; I2C_ReadingMessage.parameter = fan_id; + I2C_ReadingMessage.parameter3 = tacho_value; if (I2C_ReadingMsgQ != NULL) Mailbox_post(I2C_ReadingMsgQ , &I2C_ReadingMessage, BIOS_NO_WAIT); return; @@ -424,10 +425,9 @@ void I2C_ReadingTask(UArg arg0, UArg arg1) break; case WHS_READ_FAN_TACHO: - //todo + WHS_Read_fan_tach(I2C_ReadingMessage.parameter, I2C_ReadingMessage.parameter3);//todo break; - case WHS_SET_VOLT_BLOWER_CONTROL: WHS_Set_Volt_Blower_Control(I2C_ReadingMessage.parameter); //(fan_number, 0x20) break; @@ -460,6 +460,10 @@ void I2C_ReadingTask(UArg arg0, UArg arg1) case WHS_I2C_EEPROM_READ: // WHS_I2C_EEprom_Read(I2C_ReadingMessage.parameter, I2C_ReadingMessage.parameter2, I2C_ReadingMessage.parameter3); break; + + +//#endif + default: break; } diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Task.h b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Task.h index d3080e67e..16db6132f 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Task.h +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Task.h @@ -22,7 +22,7 @@ void Trigger_WHS_I2C_EEprom_Read(uint32_t address, uint16_t size, uint8_t *p_dat //void Trigger_WHS_set_fan_speed( fan_num, uint16_t fan_speed); void Trigger_SetWHSFanSpeed (uint8_t fan_id, uint8_t speed); -void Trigger_ReadWHSFanTacho (uint8_t fan_id); //todo +void Trigger_ReadWHSFanTacho (uint8_t fan_id, uint8_t* tacho_value); //todo void Trigger_WHS_PT100_Read_All(void); void Trigger_ReadWHSPT100(uint8_t PT100_Id); //void Trigger_WHS_Set_Volt_Blower_Control(uint16_t volt); diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/D_EMC2302_fan.h b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/D_EMC2302_fan.h index a227e25d7..1882d9806 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/D_EMC2302_fan.h +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/D_EMC2302_fan.h @@ -85,6 +85,15 @@ /****************************************************************************** * Typedefs *******************************************************************************/ +typedef struct +{ + uint8_t i2s_bus; + uint8_t i2s_address; + uint8_t fan_speed[2]; + uint8_t fan_tacho[2]; +}D_EMC2301Struct; +extern D_EMC2301Struct fan_Struct_info; + /** * @enum Configuration Bits */ diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.c index 00a0c695f..73185725d 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.c @@ -12,6 +12,8 @@ #include <Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.h> FAN_DRIVER_INFO Fan_Driver_Info[maxFAN-1]; + + #define FAN_SPEED_OFF 0x00 #define PUSH_PULL 1 uint8_t Fan_Mux_Channel = UNKNOWN; @@ -227,6 +229,15 @@ bool WHS_Read_fan_ALERT(WHS_fan_num fan_number, uint16_t *fan_alert) return status; } +void Set_All_WHS_Fans(uint8_t speed) +{ + WHS_fan_num fan_number=0; + + for (fan_number = FAN1 ; fan_number < maxFAN; fan_number++) + { + Trigger_SetWHSFanSpeed(fan_number, speed); + } +} bool Test_WHS_Fan() { @@ -254,19 +265,19 @@ bool Test_WHS_Fan() } if (status == OK) { - WHS_set_fan_speed(fan_number, 0x20); + Trigger_SetWHSFanSpeed(fan_number, 0x20); delayms(4000); - WHS_Read_fan_tach(fan_number, fan_tacho); + Trigger_SetWHSFanSpeed(fan_number, fan_tacho); delayms(1000); - WHS_set_fan_speed(fan_number, 0x80); + Trigger_SetWHSFanSpeed(fan_number, 0x80); delayms(4000); - WHS_Read_fan_tach(fan_number, fan_tacho); + Trigger_SetWHSFanSpeed(fan_number, fan_tacho); delayms(1000); - WHS_set_fan_speed(fan_number, 0xFF); + Trigger_SetWHSFanSpeed(fan_number, 0xFF); delayms(4000); - WHS_set_fan_speed(fan_number, FAN_SPEED_OFF); + Trigger_SetWHSFanSpeed(fan_number, FAN_SPEED_OFF); delayms(4000); - WHS_Read_fan_tach(fan_number, fan_tacho); + Trigger_SetWHSFanSpeed(fan_number, fan_tacho); delayms(1000); } diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.h b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.h index 371f82023..3e8171df8 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.h +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.h @@ -105,6 +105,7 @@ bool init_WHS_fan(void); bool WHS_set_fan_speed(WHS_fan_num fan_number, uint8_t fan_speed); bool WHS_Read_fan_tach(WHS_fan_num fan_number, uint16_t *fan_tacho); bool WHS_Read_fan_ALERT(WHS_fan_num fan_number, uint16_t *fan_alert); +void Set_All_WHS_Fans(uint8_t speed); //extern FAN_INFO Fan_Info; extern D_EMC2302_READ D_EMC2302_Read; diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index 5c43799db..36726f7e4 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -755,6 +755,11 @@ uint32_t MillisecLowLoop(uint32_t tick) PressureCalc[Disp_i] = MillisecCalculatePressures(Disp_i); } } +#ifdef Use_WHS_Card + Trigger_WHS_PT100_Read_All(); + Trigger_WHS_MAX11614_Read_allADC(); +#endif + } if (OneMinute_Tick) { diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c index cead9b0e9..c31e21e23 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c @@ -280,8 +280,8 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) { uint16_t fan_tacho = 0; - WHS_set_fan_speed(((request->amount & 0x0000000F)-1) , request->delay & 0x000000FF); - WHS_Read_fan_tach(((request->amount & 0x0000000F)-1), &fan_tacho); + Trigger_SetWHSFanSpeed(((request->amount & 0x0000000F)-1) , request->delay & 0x000000FF); +// getWHSFanTacho(((request->amount & 0x0000000F)-1), &fan_tacho); response.progress = fan_tacho; response.has_progress = true; } diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c index db6bd7da1..c42546d1b 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c +++ b/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c @@ -52,7 +52,14 @@ bool newWHS_init(void) // status |= Test_WHS_PT100_ADC(); // //test_9555(); // status |= WHS_I2C_EEprom_Write_Ch_shai_taest(); - return status; + + Set_All_WHS_Fans(0xFF); + // delayms(4000); + //Trigger_SetWHSBlowerVoltage (0x0C00); + + + +return status; } diff --git a/Software/Stubs Collection/stubs/newWHS/test_Fan_speed.cs b/Software/Stubs Collection/stubs/newWHS/test_Fan_speed.cs new file mode 100644 index 000000000..582a7f7e7 --- /dev/null +++ b/Software/Stubs Collection/stubs/newWHS/test_Fan_speed.cs @@ -0,0 +1,59 @@ +using System; +using System.Text; +using System.Linq; +using System.Drawing; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; +using System.Threading.Tasks; +using System.Collections.Generic; +using Tango.PMR.Stubs; +using Tango.Stubs; + +public void OnExecute(StubManager stubManager) +{ +// Request ---- +// Int32 : Amount +// Int32 : Delay + +// Response ---- +// Double : Progress + +//valv1 +var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8501); //valv1_en=1 +Thread.Sleep(5000); //Sleep for 10 milli. +var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8401);// valv1_dir=1 +Thread.Sleep(5000); //Sleep for 10 milli. +var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8400);// valv1_dir=0 +Thread.Sleep(5000); //Sleep for 10 milli. +var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8500);// valv1_disable + + +// valve 2 +var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8701); //valv2_en=1 +Thread.Sleep(5000); //Sleep for 10 milli. +var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8601);// valv2_dir=1 +Thread.Sleep(5000); //Sleep for 10 milli. +var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8600);// valv2_dir=0 +Thread.Sleep(5000); //Sleep for 10 milli. +var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8700); //valv2_disable + +//test pump +Thread.Sleep(5000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0701);// pump on +Thread.Sleep(5000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0700); // pump off + +// test Blower +Thread.Sleep(5000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0000);// Blower OFF +Thread.Sleep(5000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0400);// Blower 1.25v +Thread.Sleep(5000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0800); // Blower 2.5v +Thread.Sleep(5000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0C00);// Blower 3.77v +Thread.Sleep(5000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0FFF); // Blower 5.0v + +}
\ No newline at end of file |
