aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c2
-rw-r--r--Software/Embedded_SW/Embedded/Communication/Connection.c2
-rw-r--r--Software/Embedded_SW/Embedded/DataDef.h1
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c10
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c63
-rw-r--r--Software/Stubs Collection/Procedures/Read main card informatiom.txt91
-rw-r--r--Software/Stubs Collection/Procedures/Read main card information.pproj1
10 files changed, 154 insertions, 21 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c
index d0193f970..a6adc3b3e 100644
--- a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c
+++ b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c
@@ -20,7 +20,7 @@ typedef struct
} TangoVersion_t;
-TangoVersion_t _gTangoVersion = {1,5,2,1};
+TangoVersion_t _gTangoVersion = {1,5,2,2};
#define BUILD_DATE __DATE__
char Dat[50] = BUILD_DATE;
diff --git a/Software/Embedded_SW/Embedded/Communication/Connection.c b/Software/Embedded_SW/Embedded/Communication/Connection.c
index af60541aa..0eac579ae 100644
--- a/Software/Embedded_SW/Embedded/Communication/Connection.c
+++ b/Software/Embedded_SW/Embedded/Communication/Connection.c
@@ -53,6 +53,7 @@ void StopRecurringReports(void)
PowerUpStopReporting();
MachineUpdateStopReporting();
PowerDownStopReporting();
+ HomingStopReporting();
KeepAliveActive = false;
}
@@ -140,6 +141,7 @@ void DisconnectionRequest(MessageContainer* requestContainer)
DiagnosticsStop();
JobStopReporting();
AlarmHandlingStop();
+ HomingStopReporting();
//UART_ResetBuffers();
//-------------------------------------------------------------------------------------------
uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer));
diff --git a/Software/Embedded_SW/Embedded/DataDef.h b/Software/Embedded_SW/Embedded/DataDef.h
index 0d93b3dbe..98fe87f32 100644
--- a/Software/Embedded_SW/Embedded/DataDef.h
+++ b/Software/Embedded_SW/Embedded/DataDef.h
@@ -635,7 +635,6 @@ Supports diagnostic <id> (--diag_suppress, - pds)
#define HEAD6_PT100 TEMP_SENSE_AN_ENCLOSURETEMP3
#define MIXER_PT100 TEMP_SENSE_ANALOG_MIXCHIP_TEMP
-//#define LUBRICANT_DISPENSER 7
#ifdef LIGHT_COLORS
#define LUBRICANT_DISPENSER 9
#define CLEANER_DISPENSER 9
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.c
index 3e36d3bba..ea45c89fe 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.c
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.c
@@ -689,7 +689,7 @@ bool WHS_Control_blub(bool value)
}
else
{
- #warning Add warning message
+ LOG_ERROR (WHS_HW_Ver, "wrong whs hw version");
status = ERROR;
}
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
index 4122955b3..11a48b587 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
@@ -545,7 +545,7 @@ void CopyTemperaturesToMonitor(void)
headblowervoltage2 = HeadBlowersGetRPM(HEAD_FAN_LEFT);
DiagnosticsMonitor.headblowervoltage1 = &headblowervoltage1;
DiagnosticsMonitor.headblowervoltage2 = &headblowervoltage2;
-#warning machine to machine test
+//#warning machine to machine test
DiagnosticsMonitor.headzone4temperature =
HeaterTemperature[HEATER_TYPE__HeaterZone4];
DiagnosticsMonitor.headzone9temperature =
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.h b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.h
index 7ec1962f3..e0afad820 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.h
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.h
@@ -54,6 +54,7 @@ uint32_t SetBlowerStateRequestFunc(MessageContainer* requestContainer);
void DiaglosticChangeBlowerData();
+void HomingStopReporting(void);
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
index 9a14cd1b8..086525bc1 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
@@ -46,6 +46,16 @@ uint32_t Diagnostics_Dryer_UnLoading(void);
uint32_t Diagnostics_Dryer_Loading(void);
int kval_upper_value;
+void HomingStopReporting(void)
+{
+ int i;
+ for (i = 0; i< NUM_OF_MOTORS;i++)
+ {
+ HomingToken[i][0] == 0;
+ }
+ LOG_ERROR(0,"HomingStopReporting");
+}
+
/********************************************************************************
* Motor Homing
********************************************************************************/
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
index 4fd273977..a28d00a91 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
@@ -250,6 +250,7 @@ JobDescriptionFileBrushStop *FirstBrushStop = NULL;
DispenserUsedInJob[Dispenser_i] = false;
}
n_segments = 0;
+#ifndef LIGHT_COLORS
if (MotorsCfg[DispenserIdToMotorId[CLEANER_DISPENSER]].hardwaremotortype == DispenserIdToMotorId[CLEANER_DISPENSER])
{
DispenserUsedInJob[CLEANER_DISPENSER] = true;
@@ -260,7 +261,7 @@ JobDescriptionFileBrushStop *FirstBrushStop = NULL;
DispenserUsedInJob[CLEANER_DISPENSER] = false;
EnableCleaning = false;
}
-
+#endif
if (JobTicket->enablelubrication == true)
{
//DispenserUsedInJob[LUBRICANT_DISPENSER] = true;
@@ -521,7 +522,20 @@ uint32_t InactiveDispenserHome(uint32_t DispenserId, uint32_t ReadValue)
char IdMessage[100];
int SegmentPrepareWFCFCounter = 0;
bool pressureReady = false,endOfPrepareWCF = false;
-
+int BuildIdsJobPrintString(char *dest,char *desc, int info)
+{
+ int len = 0,i;
+ int DispenserSpeed[MAX_SYSTEM_DISPENSERS] = {0,0,0,0,0,0,0,0};
+ if (dest == NULL)
+ return 0;
+ for (i = 0; i<MAX_SYSTEM_DISPENSERS; i++)
+ {
+ if (DispenserUsedInJob[i])
+ DispenserSpeed[i] = CurrentDispenserSpeed[i];
+ }
+ len = usnprintf(dest, 80,"%s %d K %d,C %d,M %d,Y %d,TI %d",desc,(int)info,DispenserSpeed[0],DispenserSpeed[1],DispenserSpeed[2],DispenserSpeed[3],DispenserSpeed[4]);
+ return len;
+}
bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,double pressure)
{
TimerMotors_t HW_Motor_Id = DispenserIdToMotorId[DispenserId];
@@ -616,6 +630,7 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
else
DispenserReady[i] = true;
}
+#ifndef LIGHT_COLORS
pressure = GetDispenserPressure(CLEANER_DISPENSER);
if (pressure > 0.02)
{
@@ -625,7 +640,7 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
ReportWithPackageFilter(IDSFilter,"IDS stop cleaner",__FILE__,CLEANER_DISPENSER,(int)(pressure*100),RpWarning,(int)CurrentDispenserSpeed[CLEANER_DISPENSER] ,0);
CurrentDispenserSpeed[CLEANER_DISPENSER] = 0;
}
-
+#endif
if ((NumofReadyDispensers)&&(DispenserBuildTimeCounter%1000 == 0))
{
ReportWithPackageFilter(IDSFilter,"IDS_Prepare_Callback",__FILE__,DispenserBuildTimeCounter,NumofReadyDispensers,RpWarning,(int)NumOfActiveDispensers,0);
@@ -737,9 +752,10 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
}
}
}//for
- usnprintf(IdMessage, 80,"WFCF %d K %d,C %d,M %d,Y %d,TI %d",WFCF,CurrentDispenserSpeed[0],
- CurrentDispenserSpeed[1],CurrentDispenserSpeed[2],CurrentDispenserSpeed[3],CurrentDispenserSpeed[4]);
- ReportWithPackageFilter(IDSFilter,IdMessage, __FILE__, __LINE__, DispenserBuildTimeCounter, RpWarning, WFCF, 0);
+ //usnprintf(IdMessage, 80,"WFCF %d K %d,C %d,M %d,Y %d,TI %d",WFCF,CurrentDispenserSpeed[0],
+ // CurrentDispenserSpeed[1],CurrentDispenserSpeed[2],CurrentDispenserSpeed[3],CurrentDispenserSpeed[4]);
+ if (BuildIdsJobPrintString(IdMessage,"WFCF ",WFCF))
+ ReportWithPackageFilter(IDSFilter,IdMessage, __FILE__, __LINE__, DispenserBuildTimeCounter, RpWarning, WFCF, 0);
}//if n_dis
}
@@ -761,6 +777,7 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
//start new stage
if (endOfPrepareWCF == true)
{
+#ifndef LIGHT_COLORS
if (CurrentDispenserSpeed[CLEANER_DISPENSER])
{
HW_Motor_Id = DispenserIdToMotorId[CLEANER_DISPENSER];
@@ -768,6 +785,7 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
CurrentDispenserSpeed[CLEANER_DISPENSER] = 0;
ReportWithPackageFilter(IDSFilter,"IDS stop cleaner",__FILE__,CLEANER_DISPENSER,(int)(pressure*100),RpWarning,(int)CurrentDispenserSpeed[CLEANER_DISPENSER] ,0);
}
+#endif
SafeRemoveControlCallback(DispenserPrepareControlId, IDS_Prepare_Callback );
DispenserPrepareControlId = 0xFF;
ReportWithPackageFilter(IDSFilter,"IDS_Prepare_Callback SafeRemoveControlCallback",__FILE__,DispenserBuildTimeCounter,NumofReadyDispensers,RpWarning,(int)NumOfActiveDispensers,0);
@@ -885,6 +903,7 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
}
else
{
+ DispenserTotalPrepareSteps[i] = 0;
if (AutoHoming_Config >= AutoHoming_JobEnd_PowerOn_off)
{
if ((HomingActive[i] == false)&&(PrimingActive[i] == false))
@@ -941,11 +960,12 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
}*/
}
}
+#ifndef LIGHT_COLORS
TimerMotors_t HW_Motor_Id = DispenserIdToMotorId[CLEANER_DISPENSER];
MotorSetSpeed((TimerMotors_t)HW_Motor_Id,INITIAL_CLEANER_SPEED ); //set the dispenser to the
CurrentDispenserSpeed[CLEANER_DISPENSER] = INITIAL_CLEANER_SPEED;
ReportWithPackageFilter(IDSFilter,"IDS start cleaner",__FILE__,CLEANER_DISPENSER,(int)(GetDispenserPressure(CLEANER_DISPENSER)*100),RpWarning,(int)CurrentDispenserSpeed[CLEANER_DISPENSER] ,0);
-
+#endif
}
DispenserBuildTimeCounter = 0;
@@ -1088,9 +1108,10 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
}
}
}//for
- usnprintf(IdMessage, 80,"Presegment Prepare K %d,C %d,M %d,Y %d,TI %d",CurrentDispenserSpeed[0],
- CurrentDispenserSpeed[1],CurrentDispenserSpeed[2],CurrentDispenserSpeed[3],CurrentDispenserSpeed[4]);
- ReportWithPackageFilter(IDSFilter,IdMessage, __FILE__, __LINE__, Dispenser_i, RpWarning, segmentfirst_speed, 0);
+ //usnprintf(IdMessage, 80,"Presegment Prepare K %d,C %d,M %d,Y %d,TI %d",CurrentDispenserSpeed[0],
+ // CurrentDispenserSpeed[1],CurrentDispenserSpeed[2],CurrentDispenserSpeed[3],CurrentDispenserSpeed[4]);
+ if (BuildIdsJobPrintString(IdMessage,"Presegment Prepare ",0))
+ ReportWithPackageFilter(IDSFilter,IdMessage, __FILE__, __LINE__, Dispenser_i, RpWarning, segmentfirst_speed, 0);
DispenserBuildTimeCounter = 0;
//DispenserPrepareControlId = AddControlCallback( IDS_PreSegmentPrepare_Callback, IDS_PRESEGMENT_TIME_STEP,TemplateDataReadCBFunction ,0, 0, 0 );
@@ -1176,8 +1197,10 @@ uint32_t IDS_Cleaning_Stop_Cleaning_Solution (callback_fptr callback);
ReportWithPackageFilter(IDSFilter,"End of Pre-segment Handling",__FILE__,__LINE__,InterSegmentStepsCount,RpWarning,(int)lInterSegmentLength,0);
//PreSegmentReady(Module_IDS,ModuleDone);
SafeRemoveControlCallback(DispenserPreSegmentControlId,IDSPreSegmentStateCallbackRunner);
+#ifndef LIGHT_COLORS
if (CurrentDispenserSpeed[CLEANER_DISPENSER]>0)
IDS_Cleaning_Stop_Cleaning_Solution (NULL);
+#endif
setRapidPressureRead(false);
//if (JobEndSequence == true)
// DistanceToSpoolReady(Module_IDS,ModuleDone);
@@ -1290,9 +1313,10 @@ uint32_t IDS_Cleaning_Stop_Cleaning_Solution (callback_fptr callback);
//SendJobProgress(0.0, 0, false, IdsMessage);*/
}
}//for
- usnprintf(IdMessage, 80,"Presegment WFCF %d K %d,C %d,M %d,Y %d,TI %d",WFCF,CurrentDispenserSpeed[0],
- CurrentDispenserSpeed[1],CurrentDispenserSpeed[2],CurrentDispenserSpeed[3],CurrentDispenserSpeed[4]);
- ReportWithPackageFilter(IDSFilter,IdMessage, __FILE__, __LINE__, FileBrushStop->index, RpWarning, lInterSegmentLength, 0);
+ //usnprintf(IdMessage, 80,"Presegment WFCF %d K %d,C %d,M %d,Y %d,TI %d",WFCF,CurrentDispenserSpeed[0],
+ // CurrentDispenserSpeed[1],CurrentDispenserSpeed[2],CurrentDispenserSpeed[3],CurrentDispenserSpeed[4]);
+ if (BuildIdsJobPrintString(IdMessage,"Presegment WFCF ",WFCF))
+ ReportWithPackageFilter(IDSFilter,IdMessage, __FILE__, __LINE__, FileBrushStop->index, RpWarning, lInterSegmentLength, 0);
}
}
//startDispensersAtSegmentSpeed*1=WFCFClenerSpray(speed);
@@ -1617,9 +1641,10 @@ void IDS_StartBrushStop(int n_dispensers, JobDispenser** Dispensers)
}
} //for
}
- usnprintf(IdMessage, 80,"IDS_StartBrushStop %d/%d K %d,C %d,M %d,Y %d,TI %d",FileBrushStop->index,SegmentNumOfBrushStops,CurrentDispenserSpeed[0],
- CurrentDispenserSpeed[1],CurrentDispenserSpeed[2],CurrentDispenserSpeed[3],CurrentDispenserSpeed[4]);
- ReportWithPackageFilter(IDSFilter,IdMessage, __FILE__, SegmentNumOfBrushStops, FileBrushStop->index, RpWarning,(int)FileBrushStop->offsetmeters, 0);
+ //usnprintf(IdMessage, 80,"IDS_StartBrushStop %d/%d K %d,C %d,M %d,Y %d,TI %d",FileBrushStop->index,SegmentNumOfBrushStops,CurrentDispenserSpeed[0],
+ // CurrentDispenserSpeed[1],CurrentDispenserSpeed[2],CurrentDispenserSpeed[3],CurrentDispenserSpeed[4]);
+ if (BuildIdsJobPrintString(IdMessage,"IDS_StartBrushStop ",FileBrushStop->index))
+ ReportWithPackageFilter(IDSFilter,IdMessage, __FILE__, SegmentNumOfBrushStops, FileBrushStop->index, RpWarning,(int)FileBrushStop->offsetmeters, 0);
}
uint32_t IDSBrushStopRestartCallback(uint32_t IfIndex, uint32_t readValue)
@@ -1718,8 +1743,10 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId)
#else
Valve_Set(VALVE_MIXCHIP_WASTECH, Mixer_Head);
#endif
+#ifndef LIGHT_COLORS
if (CurrentDispenserSpeed[CLEANER_DISPENSER]>0)
IDS_Cleaning_Stop_Cleaning_Solution(NULL);
+#endif
SegmentNumOfBrushStops = Segment->n_brushstops;
BrushStopTime = Segment->length*1000/(double)SegmentNumOfBrushStops; //brushstop in meters //brushstop in millisecond
BrushStopTime = ((BrushStopTime*100)/dyeingspeed);//brushstop in seconds
@@ -1936,9 +1963,11 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId)
}
}
+#ifndef LIGHT_COLORS
if (CurrentDispenserSpeed[CLEANER_DISPENSER]>0)
IDS_Cleaning_Stop_Cleaning_Solution(NULL);
- IDS_StopLubrication();
+#endif
+ IDS_StopLubrication();
Init_CleaningStageCounter();//set the counter before relocating
IDS_Cleaning_stop_cleaner_motor();
HeadCard_Actuators_Relocate();
diff --git a/Software/Stubs Collection/Procedures/Read main card informatiom.txt b/Software/Stubs Collection/Procedures/Read main card informatiom.txt
new file mode 100644
index 000000000..1252779df
--- /dev/null
+++ b/Software/Stubs Collection/Procedures/Read main card informatiom.txt
@@ -0,0 +1,91 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Drawing;
+using Google.Protobuf;
+using Tango.BL.Entities;
+using Tango.BL.Enumerations;
+using Tango.PMR.Stubs;
+using Tango.PMR.Diagnostics;
+using Tango.PMR.EmbeddedParameters;
+using Tango.FSE.Common.Connection;
+using Tango.FSE.Common.Diagnostics;
+using Tango.FSE.Procedures;
+
+
+private const string JSON_FILE_PATH = "C:/temp/maineeprom.json";
+private const string CSV_FILE_PATH = "C:/temp/maineeprom.csv";
+public class Program
+{
+ string[] Main_Card_EEpromAddress = {
+ "DATA_SIZE",
+ "DANCER_0",
+ "DANCER_1",
+ "DANCER_2",
+ "DRYER_CENTER",
+ "DRYER_CYCLES",
+ "MIDTANK_1_A",
+ "MIDTANK_1_B",
+ "MIDTANK_2_A",
+ "MIDTANK_2_B",
+ "MIDTANK_3_A",
+ "MIDTANK_3_B",
+ "MIDTANK_4_A",
+ "MIDTANK_4_B",
+ "MIDTANK_5_A",
+ "MIDTANK_5_B",
+ "MIDTANK_6_A",
+ "MIDTANK_6_B",
+ "MIDTANK_7_A",
+ "MIDTANK_7_B",
+ "MIDTANK_8_A",
+ "MIDTANK_8_B",
+ "WINDER_CALIBRATION",
+ "EMBEDDED_VERSION",
+ "EEPROM_ALARM_SUPPORT",
+ "EEPROM_ORIFICE1_ZERO_VALUE",
+ "EEPROM_ORIFICE3_ZERO_VALUE",
+ "EEPROM_WASTE_TANK_ZERO_VALUE",
+ "EEPROM_PULLER_TENSION_POSITION",
+ "EEPROM_WINDER_TENSION_POSITION",
+ "EEPROM_INIT_FAILURE_COUNTER",
+ "DANCER_3",
+ "DANCER_4",
+ "EEPROM_PRESSURE_SENSOR_V0_0",
+ "EEPROM_PRESSURE_SENSOR_V0_1",
+ "EEPROM_DRIER_LOADING_ARM_ANGLE"};
+ public void OnExecute(IProcedureContext context)
+ {
+ string FileName;
+ StubReadEmbeddedVersionRequest stubReadEmbeddedVersionRequest = new StubReadEmbeddedVersionRequest();
+ var response2 = context.Send<StubReadEmbeddedVersionResponse>(stubReadEmbeddedVersionRequest);
+
+ if ((response2.VerMajor>=1)&&(response2.VerMinor>=5)&&(response2.VerPatch>=2)&&(response2.VerBuild>=2))
+ {
+ MainCardStoredDataRequest mainCardStoredDataRequest = new MainCardStoredDataRequest();
+ var response3 = context.Send<MainCardStoredDataResponse>(mainCardStoredDataRequest);
+ FileName - "C:/temp/mainEEProm"+context.ConnectedMachine.SerialNumber+".json";
+
+ context.AppendToFile(FileName, "MainCardStoredData: "+ response3);
+ }
+ else
+ {
+ context.AppendToFile(CSV_FILE_PATH, "Address,Name,Data");
+ for (int i = 1; i < 36; i++)
+ {
+ StubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest();
+ stubMainCardEEpromReadRequest.Address = i;
+ stubMainCardEEpromReadRequest.Data = 0;
+
+ var response = context.Send<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
+ context.AppendToFile(CSV_FILE_PATH, response.Address + "," + Main_Card_EEpromAddress[i] +"," + response.Data);
+ }
+ }
+ context.AddResult(ResultType.Passed, "Successfuly read the Main card information", "Test passed.");
+ }
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/Procedures/Read main card information.pproj b/Software/Stubs Collection/Procedures/Read main card information.pproj
new file mode 100644
index 000000000..f658a0e8b
--- /dev/null
+++ b/Software/Stubs Collection/Procedures/Read main card information.pproj
@@ -0,0 +1 @@
+{"$id":"1","Name":"Read main card information","Visibility":"Public","Description":"This procedure reads the stored main card information and put it in a file in C:/temp/maineeprom.* for future use","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.PMR.EmbeddedParameters;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\n\r\npublic class Program\r\n{\r\n\tstring[] Main_Card_EEpromAddress = {\r\n\t\"DATA_SIZE\",\r\n\t\"DANCER_0\",\r\n\t\"DANCER_1\",\r\n\t\"DANCER_2\",\r\n\t\"DRYER_CENTER\",\r\n\t\"DRYER_CYCLES\",\r\n\t\"MIDTANK_1_A\",\r\n\t\"MIDTANK_1_B\",\r\n\t\"MIDTANK_2_A\",\r\n\t\"MIDTANK_2_B\",\r\n\t\"MIDTANK_3_A\",\r\n\t\"MIDTANK_3_B\",\r\n\t\"MIDTANK_4_A\",\r\n\t\"MIDTANK_4_B\",\r\n\t\"MIDTANK_5_A\",\r\n\t\"MIDTANK_5_B\",\r\n\t\"MIDTANK_6_A\",\r\n\t\"MIDTANK_6_B\",\r\n\t\"MIDTANK_7_A\",\r\n\t\"MIDTANK_7_B\",\r\n\t\"MIDTANK_8_A\",\r\n\t\"MIDTANK_8_B\",\r\n\t\"WINDER_CALIBRATION\",\r\n\t\"EMBEDDED_VERSION\",\r\n\t\"EEPROM_ALARM_SUPPORT\",\r\n\t\"EEPROM_ORIFICE1_ZERO_VALUE\",\r\n\t\"EEPROM_ORIFICE3_ZERO_VALUE\",\r\n\t\"EEPROM_WASTE_TANK_ZERO_VALUE\",\r\n\t\"EEPROM_PULLER_TENSION_POSITION\",\r\n\t\"EEPROM_WINDER_TENSION_POSITION\",\r\n\t\"EEPROM_INIT_FAILURE_COUNTER\",\r\n\t\"DANCER_3\",\r\n\t\"DANCER_4\",\r\n\t\"EEPROM_PRESSURE_SENSOR_V0_0\",\r\n\t\"EEPROM_PRESSURE_SENSOR_V0_1\",\r\n\t\"EEPROM_DRIER_LOADING_ARM_ANGLE\"};\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n \tstring FileName;\r\n\r\n\t\tStubReadEmbeddedVersionRequest stubReadEmbeddedVersionRequest = new StubReadEmbeddedVersionRequest();\r\n\t\tvar response2 = context.Send<StubReadEmbeddedVersionResponse>(stubReadEmbeddedVersionRequest);\r\n\t\r\n\t\tif ((response2.VerMajor>=1)&&(response2.VerMinor>=5)&&(response2.VerPatch>=2)&&(response2.VerBuild>=2))\r\n\t\t{\r\n\t\t\tMainCardStoredDataRequest mainCardStoredDataRequest = new MainCardStoredDataRequest();\r\n\t\t\tvar response3 = context.Send<MainCardStoredDataResponse>(mainCardStoredDataRequest);\r\n\t\t\t//context.AppendToFile(JSON_FILE_PATH, \"MainCardStoredData: \"+ response3);\r\n\t\t\tFileName = \"C:/temp/mainEEProm_\"+context.ConnectedMachine.SerialNumber+\".json\";\r\n\r\n\t\t\tcontext.AppendToFile(FileName, \"MainCardStoredData: \"+ response3);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tFileName = \"C:/temp/mainEEProm_\"+context.ConnectedMachine.SerialNumber+\".csv\";\r\n\r\n\t\t\tcontext.AppendToFile(FileName, \"Address,Name,Data\");\r\n\t\t for (int i = 1; i < 36; i++)\r\n\t\t {\r\n\t\t\t\tStubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest();\r\n\t\t\t\tstubMainCardEEpromReadRequest.Address = i;\r\n\t\t\t\tstubMainCardEEpromReadRequest.Data = 0;\r\n\t\t\r\n\t\t\t\tvar response = context.Send<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);\r\n\t\t\t\tcontext.AppendToFile(FileName, \"\\r\\n\"+response.Address + \",\" + Main_Card_EEpromAddress[i] +\",\" + response.Data);\r\n\t\t\t}\t\t\r\n\t\t} \r\n context.AddResult(ResultType.Passed, \"Successfuly read the Main card information\", \"Test passed.\");\r\n }\r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\Windows\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\Windows\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\Windows\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"},{"$id":"19","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.DataStore.dll","HintType":"Tango.DataStore.IDataStoreItem, Tango.DataStore, Version=2.0.4.1608, Culture=neutral, PublicKeyToken=null"}]},"Resources":{"$id":"20","$values":[]},"Dialogs":{"$id":"21","$values":[]},"ID":"fa8293e8-0db3-4461-a0ed-6d9406d80df1","ApartmentState":"STA"} \ No newline at end of file