aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShai Frieder <Shai.Frieder@twine-s.com>2020-01-28 18:17:00 +0200
committerShai Frieder <Shai.Frieder@twine-s.com>2020-01-28 18:17:00 +0200
commit1b7cb1924a58a8d3183ef34032be2d589fec1198 (patch)
treecd532341a7b87f3684a736e10dfea5531d42badd /Software/Embedded_SW/Embedded/Modules
parenta6428887f09c930a19266aa93c1bfbf77a534fac (diff)
downloadTango-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')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c7
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c5
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c8
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c36
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c71
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;
}