aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-11-18 08:16:57 +0200
committerShlomo Hecht <shlomo@twine-s.com>2018-11-18 08:16:57 +0200
commit53b5ef734132b543838e1663fe96d70457d8a62b (patch)
treefceae44c3a606a1bd8c4b514eb88e827453ca151 /Software/Embedded_SW/Embedded/Modules
parent0c43f6919cf12f126f501d84fb76c940b8e9c7bb (diff)
downloadTango-53b5ef734132b543838e1663fe96d70457d8a62b.tar.gz
Tango-53b5ef734132b543838e1663fe96d70457d8a62b.zip
my pc changes. HardwareBlower with a heating voltage
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/control.c6
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c23
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c8
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c32
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.new10
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c7
6 files changed, 36 insertions, 50 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.c b/Software/Embedded_SW/Embedded/Modules/Control/control.c
index 78cdd5324..1e9237320 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/control.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/control.c
@@ -202,7 +202,7 @@ uint32_t AddControlCallback( ControlCBFunction Callback, CTRL_TIMING_ENUM CtrlF
unsigned int key;
uint32_t device_i;
- uint32_t deviceId = 0xFFFFFFFF;
+ uint32_t deviceId = 0xFF;
for(device_i = 0;device_i < MAX_TANGO_CONTROL_DEVICES;device_i++)
{
if (ControlArray[device_i].ControlActive == false)
@@ -211,8 +211,8 @@ uint32_t AddControlCallback( ControlCBFunction Callback, CTRL_TIMING_ENUM CtrlF
break;
}
}
- if (deviceId == 0xFFFFFFFF)
- return 0xFFFFFFFF;
+ if (deviceId == 0xFF)
+ return 0xFF;
key = GateMutex_enter(gateControlDB);
ControlArray[deviceId].ControlTiming = CtrlFrequency;
ControlArray[deviceId].ControlCallbackPtr = Callback;
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
index 01e683dae..89793cfcd 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
@@ -249,9 +249,10 @@ void DiagnosticLoadTemperature(int HeaterId, int temperature)
void DiagnosticLoadSpeedSensor(float value)
{
SpeedValue[SpeedCounterIndex] = (double)(value);
- SpeedCounterIndex++;
- if (SpeedCounterIndex>=DIAGNOSTICS_DANCER_LIMIT )
- SpeedCounterIndex = 0;
+ if (SpeedCounterIndex<DIAGNOSTICS_DANCER_LIMIT )
+ SpeedCounterIndex++;
+ //if (SpeedCounterIndex>=DIAGNOSTICS_DANCER_LIMIT )
+ // SpeedCounterIndex = 0;
}
void DiagnosticLoadDancer(int DancerId, uint16_t value)
@@ -262,9 +263,10 @@ void DiagnosticLoadDancer(int DancerId, uint16_t value)
return;
}
DancerValue[DancerId][DancerCounterIndex[DancerId]] = value;
- DancerCounterIndex[DancerId]++;
- if (DancerCounterIndex[DancerId]>=DIAGNOSTICS_DANCER_LIMIT )
- DancerCounterIndex[DancerId] = 0;
+ if (DancerCounterIndex[DancerId]<DIAGNOSTICS_DANCER_LIMIT )
+ DancerCounterIndex[DancerId]++;
+ //if (DancerCounterIndex[DancerId]>=DIAGNOSTICS_DANCER_LIMIT )
+ // DancerCounterIndex[DancerId] = 0;
}
void DiagnosticLoadDancerError(int DancerId, double value)
{
@@ -274,9 +276,10 @@ void DiagnosticLoadDancerError(int DancerId, double value)
return;
}
DancerErrorValue[DancerId][DancerErrorCounterIndex[DancerId]] = value;
- DancerErrorCounterIndex[DancerId]++;
- if (DancerErrorCounterIndex[DancerId]>=DIAGNOSTICS_DANCER_LIMIT )
- DancerErrorCounterIndex[DancerId] = 0;
+ if (DancerErrorCounterIndex[DancerId]<DIAGNOSTICS_DANCER_LIMIT )
+ DancerErrorCounterIndex[DancerId]++;
+ //if (DancerErrorCounterIndex[DancerId]>=DIAGNOSTICS_DANCER_LIMIT )
+ // DancerErrorCounterIndex[DancerId] = 0;
}
void DiagnosticTenMsecCollection(void)
@@ -589,7 +592,7 @@ void SendDiagnostics(void)
}
else
{
- Report("Diagnostic Messgage",__FILE__,__LINE__,container_size,RpWarning,msec_millisecondCounter, msec_millisecondCounter);
+ Report("Diagnostic Message",__FILE__,__LINE__,container_size,RpWarning,msec_millisecondCounter, msec_millisecondCounter);
}
diag_size[diag_index] = container_size;
diag_time[diag_index] = msec_millisecondCounter;
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index 6222378bb..0e4466d81 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -358,7 +358,13 @@ uint32_t PrepareHeater(int HeaterId, uint32_t SetTemperatue)
#endif
InitialHeating = true;
HeaterReady[HeaterId] = false;
- Turn_the_Blower_Off();
+ if (BlowerCfg.enabled == true)
+ {
+ Turn_the_Blower_On();//Turn on with the Default_Voltage
+ if (BlowerCfg.voltage)
+ Control_Voltage_To_Blower(BlowerCfg.voltage-500);
+
+ }
}
/* if (HeaterId == HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain) //Dryer Heaters
{
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
index 64855daed..36c9dbf60 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
@@ -151,36 +151,6 @@ void DispenserPrepareReady(void)
DispenserPrepareReady();
return OK;
}
-bool IDS_isDispenserUsedNextSegment(void *JobDetails,int DispenserId, int SegmentId)
-{
- JobTicket* JobTicket = JobDetails;
- int Dispenser_i,n_dispensers;
- if (JobTicket->n_segments == 0)
- return false;
- if (JobTicket->n_segments <= SegmentId)
- return false;
- if (JobTicket->segments[SegmentId]->brushstops[0]->n_dispensers)
- {
- n_dispensers = JobTicket->segments[SegmentId]->brushstops[0]->n_dispensers;
- for (Dispenser_i = 0;Dispenser_i < n_dispensers;Dispenser_i++)
- {
- if (DispenserId == JobTicket->segments[SegmentId]->brushstops[0]->dispensers[Dispenser_i]->index) //dispenser is in use next segment
- {
- if (JobTicket->segments[SegmentId]->brushstops[0]->dispensers[Dispenser_i]->nanolitterpersecond>0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- }
-
- return false;
-
-}
//********************************************************************************************************************
uint32_t IDS_Valve_PresegmentReady(uint32_t deviceID, uint32_t ReadValue)
{
@@ -240,7 +210,7 @@ uint32_t IDSPreSegmentState(void *JobDetails, int SegmentId)
continue;
DispenserPreSegmentReady[DispenserId] = false;
LOG_ERROR(DispenserId,"Dispenser PreSegment Start");
- if (IDS_isDispenserUsedNextSegment(JobDetails,DispenserId,SegmentId) == false)
+ if (JobTicket->segments[SegmentId]->brushstops[0]->dispensers[Dispenser_i]->nanolitterpersecond==0)
{
Control3WayValvesWithCallback ((Valves_t)DispenserId, MidTank_Dispenser, IDS_Valve_PresegmentReady); //direction: MidTank_Dispenser or Dispenser_Mixer
LOG_ERROR(DispenserId,"Dispenser Not Used Next Segment");
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.new b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.new
index 537d27775..e21114603 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.new
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.new
@@ -177,7 +177,7 @@ uint32_t CalculateNumberOfSteps (uint32_t Counter, bool direction)
float screw_horizontal_speed = 0;
float RotationsPerSecond;
- if (Counter%InternalWinderCfg.spoolbackingrate == 1)
+ if (Counter%InternalWinderCfg.spoolbackingrate == 0)
{
NumberOfSteps -= (Counter/InternalWinderCfg.spoolbackingrate);
REPORT_MSG(ScrewNumberOfSteps, "Head Backing ScrewNumberOfSteps");
@@ -189,14 +189,14 @@ uint32_t CalculateNumberOfSteps (uint32_t Counter, bool direction)
ScrewSpeed = screw_horizontal_speed*RotationsPerSecond;
//MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_SCREW,ScrewSpeed);
- REPORT_MSG(ScrewSpeed, "CalculateNumberOfSteps ScrewSpeed");
- REPORT_MSG(CurrentControlledSpeed[WINDER_MOTOR], "CalculateNumberOfSteps Winder speed");
+ //REPORT_MSG(ScrewSpeed, "CalculateNumberOfSteps ScrewSpeed");
+ //REPORT_MSG(CurrentControlledSpeed[WINDER_MOTOR], "CalculateNumberOfSteps Winder speed");
CurrentControlledSpeed[SCREW_MOTOR] = ScrewSpeed;
}
if ((Counter%InternalWinderCfg.SpoolBottomBackingRate == 0)||(Counter%InternalWinderCfg.SpoolBottomBackingRate == 1))
{
- if (direction != MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].directionthreadwize)
+ if (direction == MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].directionthreadwize)//because the direction is already reversed at the interrupt
{
NumberOfSteps += (Counter/InternalWinderCfg.SpoolBottomBackingRate);
ScrewNumberOfSteps++;
@@ -391,7 +391,7 @@ void ScrewTimerInterrupt(int ARG0)
{
TimerDisable(Screw_timerBase, TIMER_A);
}
- Report("ScrewTimerInterrupt duration, speed", __FILE__,__LINE__,ScrewRunningTime, RpMessage, ScrewSpeed, 0);
+ //Report("ScrewTimerInterrupt duration, speed", __FILE__,__LINE__,ScrewRunningTime, RpMessage, ScrewSpeed, 0);
//
// Enable all interrupts.
//
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
index 3b17cd5dd..40fd14fde 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
@@ -706,16 +706,20 @@ uint32_t ThreadPreSegmentState(void *JobDetails)
return OK;
}
+int REPSegmentId = 0;
void ThreadInterSegmentEnded(void)
{
+ LOG_ERROR (REPSegmentId," ThreadSegmentState");
PreSegmentReady(Module_Thread,ModuleDone);
}
void ThreadSegmentEnded(void)
{
+ LOG_ERROR (REPSegmentId," ThreadSegmentState");
SegmentReady(Module_Thread,ModuleDone);
}
void ThreadDistanceToSpoolEnded(void)
{
+ LOG_ERROR (REPSegmentId," ThreadSegmentState");
DistanceToSpoolReady(Module_Thread,ModuleDone);
}
double seglength = 0.0;
@@ -723,8 +727,10 @@ double seglength = 0.0;
uint32_t ThreadSegmentState(void *JobDetails, int SegmentId)
{
JobTicket* JobTicket = JobDetails;
+ REPSegmentId = SegmentId;
seglength = JobTicket->segments[SegmentId]->length;
CurrentSegmentId = SegmentId;
+ LOG_ERROR (seglength," ThreadSegmentState");
ThreadUpdateProcessLength (seglength,(void *)ThreadSegmentEnded);
return OK;
}
@@ -733,6 +739,7 @@ uint32_t ThreadSegmentState(void *JobDetails, int SegmentId)
uint32_t ThreadDistanceToSpoolState(void )
{
seglength = dryerbufferlength;
+ LOG_ERROR (seglength,"ThreadDistanceToSpoolState");
ThreadUpdateProcessLength (seglength,(void *)ThreadDistanceToSpoolEnded);
return OK;
}