diff options
| author | Shai Frieder <Shai.Frieder@twine-s.com> | 2020-01-28 18:17:00 +0200 |
|---|---|---|
| committer | Shai Frieder <Shai.Frieder@twine-s.com> | 2020-01-28 18:17:00 +0200 |
| commit | 1b7cb1924a58a8d3183ef34032be2d589fec1198 (patch) | |
| tree | cd532341a7b87f3684a736e10dfea5531d42badd /Software/Embedded_SW/Embedded/Modules | |
| parent | a6428887f09c930a19266aa93c1bfbf77a534fac (diff) | |
| download | Tango-1b7cb1924a58a8d3183ef34032be2d589fec1198.tar.gz Tango-1b7cb1924a58a8d3183ef34032be2d589fec1198.zip | |
add newWHS I2C commands to work under I2C Task.
add newWHS EEPROM Driver
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
7 files changed, 89 insertions, 42 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index d3376c400..5c43799db 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -57,7 +57,7 @@ #include "Drivers/I2C_Communication/Head_Card/PT100/Head_PT100_ADC.h" #ifdef Use_WHS_Card -#include <Drivers/I2C_Communication/WHS_Card/D_ADS122/WHS_PT100_ADC.h> +#include <Drivers/I2C_Communication/WHS_Card/D_ADS122_PT100/WHS_PT100_ADC.h> #include <Drivers/I2C_Communication/I2C_Task.h> #endif Task_Handle Millisecond_Task_Handle; diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c index 2fbc60f09..3dc223394 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c @@ -31,6 +31,7 @@ #include "drivers/Valves/Valve.h" #include "drivers/Heater/Heater.h" #include "modules/waste/waste.h" +#include <Drivers/I2C_Communication/I2C_Task.h> #include "modules/ids/ids_ex.h" @@ -207,7 +208,11 @@ uint32_t SetDigitalOutRequestRequestFunc(MessageContainer* requestContainer) Control_Dryer_Fan(STOP,0);//use START or STOP, 0 - 100%(); break; case INTERFACE_IOS__GPO_WASTECH_PUMP2://valve - Valve_Set(VALVE_WASTE_TANK, request->value); +#ifdef Use_WHS_Card + Trigger_SetWHSValveWatseCartridge(request->value); +#else + Valve_Set(VALVE_WASTE_TANK, request->value); +#endif // Valve_Set(VALVE_WASTE_TANK, request->value); break; case INTERFACE_IOS__GPO_WHS_WTANKPUMP2: SetWastePump( request->value); diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c index 9fc851319..e4681adfc 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c @@ -50,6 +50,7 @@ #include <drivers/FPGA/FPGA_Comm.h> #include "diagnostics.h" +#include <Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.h> extern F2_CTRL_REG F2_CTRL_Reg; @@ -510,10 +511,10 @@ void DiagnosticOneMinuteCollection(void) diagvoltage = getBlowerState(); DiagnosticsMonitor.blowervoltage = &diagvoltage; - DrierFlowMeter = GetWHSAirFlow(0); + DrierFlowMeter = GetWHSAirFlow(DRIER_FLOW_METER); DiagnosticsMonitor.n_dryerairflow = 1; DiagnosticsMonitor.dryerairflow = &DrierFlowMeter; - HeadFlowMeter = GetWHSAirFlow(2); + HeadFlowMeter = GetWHSAirFlow(HEAD_FLOW_METER); DiagnosticsMonitor.n_headairflow = 1; DiagnosticsMonitor.headairflow = &HeadFlowMeter; diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index 500f03c25..071270e3a 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -103,7 +103,7 @@ uint32_t HWConfigurationInit(void) Report("HWConfigurationInit from flash", __FILE__,__LINE__,Bytes, RpMessage, UploadRequest->hardwareconfiguration->n_dancers, 0); } } - if (UploadRequest = NULL) + if (UploadRequest == NULL) { buffer = HWConfigurationLoadFromFile(&Bytes); //load hardware config if (buffer) diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c index cef7e5af0..cead9b0e9 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c @@ -33,11 +33,11 @@ #include "drivers/adc_sampling/adc.h" #include <Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.h> #include <Drivers/I2C_Communication/WHS_Card/WHS_data.h> -#include <Drivers/I2C_Communication/WHS_Card/IO_Ports_TCA9555/WHS_IO.h> -#include <Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC/WHS_Blower.h> #include <Drivers/I2C_Communication/I2C_Task.h> -#include <Drivers/I2C_Communication/WHS_Card/D_MAX11614/WHS_MAX11614_A2D.h> -#include <Drivers/I2C_Communication/WHS_Card/D_AD5272/WHS_Rheostat.h> +#include <Drivers/I2C_Communication/WHS_Card/D_AD5272_Rheostat/WHS_Rheostat.h> +#include <Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.h> +#include <Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.h> +#include <Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.h> extern float NumberOfRotationPerPassage; // how many rotations per spool passage diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c index 504b43726..3c67dd8e1 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c +++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c @@ -364,13 +364,19 @@ bool SetValveDirection() * */ bool ret = OK; //if (WHS_info.WHS_valve != no_waste_cartridge) - if (WHS_info.active_cartridge == waste_cartridge1) WHS_info.WHS_valve = VALVE_DIR_WASTE_CARTRIDGE1; - else WHS_info.WHS_valve = VALVE_DIR_WASTE_CARTRIDGE2; + if (WHS_info.active_cartridge == waste_cartridge1) + { + WHS_info.WHS_valve = VALVE_DIR_WASTE_CARTRIDGE1; + } + else + { + WHS_info.WHS_valve = VALVE_DIR_WASTE_CARTRIDGE2; + } ReportWithPackageFilter(WasteFilter,"------------WHS_info.WHS_valve -----------------", __FILE__,__LINE__,WHS_info.WHS_valve, RpMessage, 0 ,0); #ifdef Use_WHS_Card - Trigger_SetWHSValveWatseCartridge(WHS_info.WHS_valve); + Trigger_SetWHSValveWatseCartridge(WHS_info.WHS_valve); #else Valve_Set(VALVE_WASTE_TANK, WHS_info.WHS_valve); #endif @@ -399,7 +405,12 @@ U8 CartridgeWasteFilling(bool status) else // stop Waste cartridge filling { SetWastePump(CLOSE); - Valve_Set(VALVE_WASTE_TANK, VALVE_DIR_WASTE_CARTRIDGE1); //set the valve direction set to low POWER !!! + WHS_info.WHS_valve = VALVE_DIR_WASTE_CARTRIDGE1; +#ifdef Use_WHS_Card + Trigger_SetWHSValveWatseCartridge(WHS_info.WHS_valve); +#else + Valve_Set(VALVE_WASTE_TANK, WHS_info.WHS_valve); +#endif AlarmHandlingSetAlarm( EVENT_TYPE__ALL_WASTE_CARTRIDGES_FULL, true); switch (WHS_info.active_cartridge) @@ -1256,7 +1267,13 @@ bool SetActiveWastCartridge() U8 WHS_init(void) { SetWastePump(CLOSE); - Valve_Set(VALVE_WASTE_TANK, VALVE_DIR_WASTE_CARTRIDGE1); + WHS_info.WHS_valve = VALVE_DIR_WASTE_CARTRIDGE1; +#ifdef Use_WHS_Card + Trigger_SetWHSValveWatseCartridge(WHS_info.WHS_valve); +#else + Valve_Set(VALVE_WASTE_TANK, WHS_info.WHS_valve); +#endif + //Valve_Set(VALVE_WASTE_TANK, VALVE_DIR_WASTE_CARTRIDGE1); InitCartStatus(); initWHS_WasteTank(); @@ -1320,9 +1337,14 @@ U8 RdWaste2() } U8 SetValve(bool value) { - bool ret = notOK; + bool ret = OK; WHS_info.WHS_valve = value; - ret = SetValveDirection( ); +#ifdef Use_WHS_Card + Trigger_SetWHSValveWatseCartridge(WHS_info.WHS_valve); +#else + Valve_Set(VALVE_WASTE_TANK, WHS_info.WHS_valve); +#endif + return ret; } diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c index f04756afd..db6bd7da1 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c +++ b/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c @@ -6,17 +6,17 @@ #include <DataDef.h> #include <Modules/Waste/newWHS_init.h> -#include <Drivers/I2C_Communication/WHS_Card/IO_Ports_TCA9555/WHS_IO.h> #include <Drivers/I2C_Communication/WHS_Card/I2C_WHS_Mux.h> #include <Drivers/I2C_Communication/I2C.h> #include "Drivers/I2C_Communication/WHS_Card/WHS_data.h" #include <Drivers/I2C_Communication/WHS_Card/EEPROM/WHS_EEPROM.h> #include <Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.h> -#include <Drivers/I2C_Communication/WHS_Card/D_MAX11614/WHS_MAX11614_A2D.h> -#include <Drivers/I2C_Communication/WHS_Card/D_AD5272/WHS_Rheostat.h> -#include <Drivers/I2C_Communication/WHS_Card/D_ADS122/WHS_PT100_ADC.h> #include <Drivers/I2C_Communication/I2C_Task.h> -#include <Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC/WHS_Blower.h> +#include <Drivers/I2C_Communication/WHS_Card/D_AD5272_Rheostat/WHS_Rheostat.h> +#include <Drivers/I2C_Communication/WHS_Card/D_ADS122_PT100/WHS_PT100_ADC.h> +#include <Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.h> +#include <Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.h> +#include <Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.h> bool test_9555(void); bool WHS_I2C_EEprom_Write_Ch_shai_taest(void); @@ -67,31 +67,50 @@ bool test_9555(void) uint8_t WHS_Write_Buf[9]; uint8_t WHS_Read_Buf[9]; - +#define PAGE 256 bool WHS_I2C_EEprom_Write_Ch_shai_taest() { bool status= OK; + uint8_t data[256] ; + uint8_t Rdata[256] ; + uint32_t address = 0; + uint16_t i = 0; +// uint8_t address_high_byte = 0xF0; +// uint8_t address_low_byte = 0x00; + uint16_t size = 0; + size = PAGE; + for (i=0; i< PAGE; i=i+2) + { + data[i]= 0xAA; + data[i+1]= 0x55; + } -// uint8_t i = 0; - uint8_t address_high_byte = 0x00; - uint8_t address_low_byte = 0x00; - - status |= Select_Main_WHS_Mux_Channel(); - - WHS_Write_Buf[0] = address_high_byte; - WHS_Write_Buf[1] = address_low_byte; - WHS_Write_Buf[2] = 0xAA; - WHS_Write_Buf[4] = 0xAA; - WHS_Write_Buf[6] = 0xAA; - WHS_Write_Buf[8] = 0xAA; - WHS_Write_Buf[3] = 0x55; - WHS_Write_Buf[5] = 0x55; - WHS_Write_Buf[7] = 0x55; - + for (address=0; address < 0x1F3FF; address=address+256) + { + Trigger_WHS_I2C_EEprom_Write( address, size, data); + SysCtlDelay(5000000);//Must delay for at least 5 milli. !!! (See data sheet ) + Trigger_WHS_I2C_EEprom_Read ( address, size, Rdata); + address= i*256; + } - status |= I2C_Write(I2C_ID_WHS_CARD, I2CEEPROM_ADDRESS, WHS_Write_Buf, 9); - SysCtlDelay(5000000);//Must delay for at least 5 milli. !!! (See data sheet ) - status |= I2C_Write(I2C_ID_WHS_CARD, I2CEEPROM_ADDRESS, WHS_Write_Buf, 2); - status |= I2C_Read(I2C_ID_WHS_CARD, I2CEEPROM_ADDRESS + 1, WHS_Read_Buf, 7); +// status |= Select_Main_WHS_Mux_Channel(); +// +// WHS_Write_Buf[0] = address_high_byte; +// WHS_Write_Buf[1] = address_low_byte; +// WHS_Write_Buf[2] = 0xAA; +// WHS_Write_Buf[4] = 0xAA; +// WHS_Write_Buf[6] = 0xAA; +// WHS_Write_Buf[8] = 0xAA; +// WHS_Write_Buf[3] = 0x55; +// WHS_Write_Buf[5] = 0x55; +// WHS_Write_Buf[7] = 0x55; +// +// +// +// +// status |= I2C_Write(I2C_ID_WHS_CARD, I2CEEPROM_ADDRESS, WHS_Write_Buf, 9); +// SysCtlDelay(5000000);//Must delay for at least 5 milli. !!! (See data sheet ) +// status |= I2C_Write(I2C_ID_WHS_CARD, I2CEEPROM_ADDRESS, WHS_Write_Buf, 2); +// status |= I2C_Read(I2C_ID_WHS_CARD, I2CEEPROM_ADDRESS + 1, WHS_Read_Buf, 7); return status; } |
