diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-02-03 10:32:43 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-02-03 10:32:43 +0200 |
| commit | 0426526fafedf69c01457c31bb71fff5df9009ec (patch) | |
| tree | 2674e17d56a961b5e9b58c8a06bbb8b15c19cf24 /Software/Embedded_SW | |
| parent | ca927bad3d0336040eb826307f20165631d2580c (diff) | |
| parent | 4fa1032e38f22a8e0155d35bda0c3ac469f7a612 (diff) | |
| download | Tango-0426526fafedf69c01457c31bb71fff5df9009ec.tar.gz Tango-0426526fafedf69c01457c31bb71fff5df9009ec.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW')
8 files changed, 51 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 9d794bcd7..6d92e06c9 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; } |
