aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2019-03-11 12:09:21 +0200
committerAvi Levkovich <avi@twine-s.com>2019-03-11 12:09:21 +0200
commit5fa5212d329651dfed37575e8bd942e974030083 (patch)
treed2800a0f17fea6109b1be0ee2e652c4cec7b93dd /Software/Embedded_SW/Embedded/Modules
parenteaeb19841e1d5195362ec1bd1fa8fb70557932cc (diff)
parent42a4c114efafe342f562eb8ab8b28e994fccd74c (diff)
downloadTango-5fa5212d329651dfed37575e8bd942e974030083.tar.gz
Tango-5fa5212d329651dfed37575e8bd942e974030083.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c40
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c2
3 files changed, 30 insertions, 16 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
index 8e4a36e62..5fe242436 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
@@ -499,9 +499,9 @@ uint32_t MillisecLowLoop(uint32_t tick)
//Read_MidTank_Pressure_Sensor(Disp_i);
}
FPGA_GetAllDispensersValveBusyOCD();
- temp = Read_Fans_Tacho();
+ /*temp = Read_Fans_Tacho();
DrawerFansStatus = temp & 0x1F;
- SystemFansStatus = temp & 0xE0;
+ SystemFansStatus = temp & 0xE0;*/
KeepAliveOneSecondCall();
for (Motor_i = 0;Motor_i < NUM_OF_MOTORS;Motor_i++)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c
index 1e33b99ca..acaf19744 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c
@@ -86,7 +86,7 @@ uint32_t IDS_Dispenser_Build_Pressure_Callback(uint32_t DispenserId, uint32_t Re
uint32_t IDS_Dispenser_Build_Pressure(int DispenserId, callback_fptr callback)
{
DispenserCallback[DispenserId] = callback;
- Report("Control3WayValvesWithCallback called ",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)0,0);
+ //Report("Control3WayValvesWithCallback called ",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)0,0);
Control3WayValvesWithCallback ((Valves_t)DispenserId, CloseValve, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
if (DispenserControlId[DispenserId] != 0xFF)
@@ -97,7 +97,7 @@ uint32_t IDS_Dispenser_Build_Pressure_Callback(uint32_t DispenserId, uint32_t Re
Report("Add control callback failed",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)DispenserControlId[DispenserId],0);
else
{
- Report("Add control callback",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)DispenserControlId[DispenserId],0);
+ //Report("Add control callback",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)DispenserControlId[DispenserId],0);
DispenserPrepareTime[DispenserId]=0;
TimerMotors_t HW_Motor_Id = DispenserIdToMotorId[DispenserId];
MotorSetSpeed(HW_Motor_Id, DispenserPrepareSpeed);
@@ -130,7 +130,7 @@ uint32_t IDS_Dispenser_Build_Pressure_Callback(uint32_t DispenserId, uint32_t Re
uint32_t IDS_Dispenser_Close_Valve_And_Stop_Motor(int DispenserId, callback_fptr callback)
{
DispenserCallback[DispenserId] = callback;
- Report("IDS_Dispenser_Close_Valve_And_Stop_Motor",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)msec_millisecondCounter,0);
+ //Report("IDS_Dispenser_Close_Valve_And_Stop_Motor",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)msec_millisecondCounter,0);
Control3WayValvesWithCallback ((Valves_t)DispenserId, CloseValve, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
if (DispenserControlId[DispenserId] != 0xFF)
@@ -139,22 +139,22 @@ uint32_t IDS_Dispenser_Build_Pressure_Callback(uint32_t DispenserId, uint32_t Re
DispenserControlId[DispenserId] = AddControlCallback( IDS_Dispenser_StopMotorCallback, CloseValveTimeout, TemplateDataReadCBFunction,DispenserId, DispenserId, 0 );
if (DispenserControlId[DispenserId] == 0xFF)
Report("Add control callback failed",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)DispenserControlId[DispenserId],0);
- else
- Report("Add control callback",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)DispenserControlId[DispenserId],0);
+ //else
+ // Report("Add control callback",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)DispenserControlId[DispenserId],0);
return OK;
}
uint32_t IDS_Dispenser_OpenValveCallback(uint32_t DispenserId, uint32_t ReadValue)
{
- Report("IDS_Dispenser_Start_Motor_and_Open_Valve Callback",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)msec_millisecondCounter,0);
+ //Report("IDS_Dispenser_Start_Motor_and_Open_Valve Callback",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)msec_millisecondCounter,0);
if (SafeRemoveControlCallback(DispenserControlId[DispenserId], IDS_Dispenser_OpenValveCallback )==OK)
DispenserControlId[DispenserId] = 0xFF;
else
Report("Remove control callback failed",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)DispenserControlId[DispenserId],0);
- Report("Control3WayValvesWithCallback called ",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)0,0);
+ //Report("Control3WayValvesWithCallback called ",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)0,0);
Control3WayValvesWithCallback (DispenserId, OpenValve, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
if (DispenserCallback[DispenserId])
@@ -185,13 +185,13 @@ uint32_t IDS_Dispenser_Start_Motor_and_Open_Valve(int DispenserId, int MotorSpee
CurrentDispenserSpeed[DispenserId] = MotorSpeed;
if (DispenserControlId[DispenserId] != 0xFF)
Report("Cannot Add control callback",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)DispenserControlId[DispenserId],0);
- Report("IDS_Dispenser_Start_Motor_and_Open_Valve",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)msec_millisecondCounter,0);
+ //Report("IDS_Dispenser_Start_Motor_and_Open_Valve",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)msec_millisecondCounter,0);
DispenserControlId[DispenserId] = AddControlCallback( IDS_Dispenser_OpenValveCallback, OpenValveTimeout, TemplateDataReadCBFunction,DispenserId, DispenserId, 0 );
if (DispenserControlId[DispenserId] == 0xFF)
Report("Add control callback failed",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)DispenserControlId[DispenserId],0);
- else
- Report("Add control callback",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)DispenserControlId[DispenserId],0);
+ //else
+ // Report("Add control callback",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)DispenserControlId[DispenserId],0);
}
return OK;
@@ -223,6 +223,12 @@ void IDS_Dispenser_Content_Init (void)
for(i=0;i<MAX_SYSTEM_DISPENSERS;i++)
{
memcpy (&IDS_Dispenser_Data[i],StoredDispenserData->dispenserinfo[i],sizeof(DispenserRunningData));
+ IDS_Dispenser_Data[i].has_consumedinnanolitter = true;
+ IDS_Dispenser_Data[i].has_totalconsumedinnanolitter = true;
+ IDS_Dispenser_Data[i].has_direction = true;
+ IDS_Dispenser_Data[i].has_microsteps = true;
+ IDS_Dispenser_Data[i].has_numberofrefills = true;
+ IDS_Dispenser_Data[i].has_nanolitterperpulse = true;
}
free (buffer);
dispenser_data__free_unpacked(NULL,StoredDispenserData);
@@ -236,15 +242,19 @@ void IDS_Dispenser_Content_Calculation (char DispenserId)
{
assert (DispenserId<MAX_SYSTEM_DISPENSERS);
int dir = (IDS_Dispenser_Data[DispenserId].direction==1)?1:-1;
- TimerMotors_t HW_Motor_Id = DispenserIdToMotorId[DispenserId];
- double consumedintimeframe = MotorDriverRequest[HW_Motor_Id].Speed*IDS_Dispenser_Data[DispenserId].microsteps*
+ double consumedintimeframe = CurrentDispenserSpeed[DispenserId]*IDS_Dispenser_Data[DispenserId].microsteps*
IDS_Dispenser_Data[DispenserId].nanolitterperpulse * dir;
+ //consumedintimeframe = 10+DispenserId;
IDS_Dispenser_Data[DispenserId].consumedinnanolitter += consumedintimeframe;
IDS_Dispenser_Data[DispenserId].totalconsumedinnanolitter += consumedintimeframe;
if (DispenserId == 0)
{
- if (seconds_counter++>=3600)
+ if (seconds_counter++>=600)//3600)
{
+ if (IDS_Dispenser_Data[DispenserId].consumedinnanolitter)
+ {
+ REPORT_MSG(IDS_Dispenser_Data[DispenserId].consumedinnanolitter,"Saving Dispenser Data" );
+ }
seconds_counter = 0;
IDSDispenserData.n_dispenserinfo = MAX_SYSTEM_DISPENSERS;
IDSDispenserData.dispenserinfo = dispenserdata;
@@ -268,6 +278,7 @@ void IDS_Dispenser_Set_Flow_Params (char DispenserId,double nanolitterperpulse,c
IDS_Dispenser_Data[DispenserId].nanolitterperpulse = nanolitterperpulse;
IDS_Dispenser_Data[DispenserId].microsteps = microsteps;
IDS_Dispenser_Data[DispenserId].direction = 1;
+ Report("IDS_Dispenser_Set_Flow_Params",__FILE__,DispenserId,(int)nanolitterperpulse,RpWarning,microsteps,0);
}
void IDS_Dispenser_RefillStarted (char DispenserId)
{
@@ -276,6 +287,7 @@ void IDS_Dispenser_RefillStarted (char DispenserId)
IDS_Dispenser_Data[DispenserId].nanolitterperpulse = assumedFlow;
IDS_Dispenser_Data[DispenserId].microsteps = 1;
IDS_Dispenser_Data[DispenserId].direction = 0;
+ Report("IDS_Dispenser_RefillStarted",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)(assumedFlow*100),0);
}
void IDS_Dispenser_RefillEnded (char DispenserId)
{
@@ -283,6 +295,7 @@ void IDS_Dispenser_RefillEnded (char DispenserId)
IDS_Dispenser_Data[DispenserId].numberofrefills++;
IDS_Dispenser_Data[DispenserId].direction = 1;
IDS_Dispenser_Data[DispenserId].consumedinnanolitter = 0;
+ Report("IDS_Dispenser_RefillEnded",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)IDS_Dispenser_Data[DispenserId].numberofrefills,0);
}
void IDS_Dispenser_MovingDirection (char DispenserId, bool direction)
{
@@ -294,5 +307,6 @@ void IDS_Dispenser_MovingDirection (char DispenserId, bool direction)
{
IDS_Dispenser_Data[DispenserId].direction = 0;
}
+ Report("IDS_Dispenser_MovingDirection",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)direction,0);
}
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
index 18aceb767..c598e0c55 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
@@ -260,7 +260,7 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag)
//Report(TempScrewStr,__FILE__,__LINE__,0,RpWarning,0, 0);
//Report(ScrewStr,__FILE__,__LINE__,ScrewCurrentDirection,RpWarning,CalculationDirectionChangeCounter, 0);
//REPORT_MSG(temp , "new winder speed");
- //Report("new winder speed",__FILE__,__LINE__,temp,RpWarning,ScrewSpeed,0);
+ Report("new winder speed",__FILE__,__LINE__,temp,RpWarning,ScrewSpeed,0);
}
/********************************************************************************/