diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-11-25 12:08:28 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-11-25 12:08:28 +0200 |
| commit | 978439fe882ef59b63fb1b1450bd615f707214c9 (patch) | |
| tree | b3cd057aa36d834a7c7a724a231cd66eaede6498 /Software/Embedded_SW/Embedded/Modules | |
| parent | f95ad012ba68f1b025654925ca17d199d653a41c (diff) | |
| download | Tango-978439fe882ef59b63fb1b1450bd615f707214c9.tar.gz Tango-978439fe882ef59b63fb1b1450bd615f707214c9.zip | |
fixes for new version.
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
5 files changed, 43 insertions, 32 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c index eceb92d63..0086d6934 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c @@ -671,7 +671,7 @@ JobEndReasonEnum getEndReason(uint32_t AlarmId) return JOB_OTHER_ALARM; } case ALARM_SOURCE_TYPE__FluidLevelAlarm: - usnprintf(AlarmReasonStr, 100, "Midtank %d is empty",AlarmItem[AlarmId].DeviceId); + usnprintf(AlarmReasonStr, 100, "Midtank %d is empty",AlarmItem[AlarmId].DeviceId+1); return JOB_OUT_OF_DYE; default: usnprintf(AlarmReasonStr, 100, "Alarm %d type %d caused a job stop",AlarmId,AlarmItem[AlarmId].EventType); @@ -1112,32 +1112,36 @@ void AlarmHandlingInternalSetAlarm(uint32_t AlarmId, bool value) if (AlarmItem[Alarm_i].EventType == AlarmId) { //if (0) // PERSISTENT ALARM - if ((AlarmItem[Alarm_i].isPersistent == true)&&(value == true)) // PERSISTENT ALARM simulate Currently looking for "true" value, otherwise the currently existing OFF event appears + if (AlarmItem[Alarm_i].isPersistent == true) // PERSISTENT ALARM simulate Currently looking for "true" value, otherwise the currently existing OFF event appears { - if (PersistentEventsResponse.events == NULL) - PersistentEventsResponse.events = (Event **)my_malloc(sizeof(Event*)*(PersistentEventsResponse.n_events+1)); - else - { - re_events = (Event **)my_malloc(sizeof(Event*)*(PersistentEventsResponse.n_events+1)); - for (Event_i = 0;Event_i < (PersistentEventsResponse.n_events);Event_i++) - { - re_events[Event_i] = PersistentEventsResponse.events[Event_i]; - } - my_free(PersistentEventsResponse.events); - PersistentEventsResponse.events = re_events; - } - AlarmState[Alarm_i].EventPtr = my_malloc (sizeof(Event)); - if (AlarmState[Alarm_i].EventPtr) - { - event__init(AlarmState[Alarm_i].EventPtr); - AlarmState[Alarm_i].EventPtr->has_type = true; - AlarmState[Alarm_i].EventPtr->type = AlarmItem[Alarm_i].EventType; - AlarmState[Alarm_i].EventPtr->message = NULL;//AlarmItem[Alarm_i].EventName; - } - //AlarmState[Alarm_i].Status = true; - PersistentEventsResponse.events[PersistentEventsResponse.n_events] = AlarmState[Alarm_i].EventPtr; - PersistentEventsResponse.n_events++; - ReportWithPackageFilter(AlarmFilter,"Persistent Alarm ", __FILE__,PersistentEventsResponse.n_events,AlarmItem[Alarm_i].EventType, RpMessage, value, Alarm_i); + if (value == true) // PERSISTENT ALARM simulate Currently looking for "true" value, otherwise the currently existing OFF event appears + { + if (PersistentEventsResponse.events == NULL) + PersistentEventsResponse.events = (Event **)my_malloc(sizeof(Event*)*(PersistentEventsResponse.n_events+1)); + else + { + re_events = (Event **)my_malloc(sizeof(Event*)*(PersistentEventsResponse.n_events+1)); + for (Event_i = 0;Event_i < (PersistentEventsResponse.n_events);Event_i++) + { + re_events[Event_i] = PersistentEventsResponse.events[Event_i]; + } + my_free(PersistentEventsResponse.events); + PersistentEventsResponse.events = re_events; + } + AlarmState[Alarm_i].EventPtr = my_malloc (sizeof(Event)); + if (AlarmState[Alarm_i].EventPtr) + { + event__init(AlarmState[Alarm_i].EventPtr); + AlarmState[Alarm_i].EventPtr->has_type = true; + AlarmState[Alarm_i].EventPtr->type = AlarmItem[Alarm_i].EventType; + AlarmState[Alarm_i].EventPtr->message = NULL;//AlarmItem[Alarm_i].EventName; + } + //AlarmState[Alarm_i].Status = true; + PersistentEventsResponse.events[PersistentEventsResponse.n_events] = AlarmState[Alarm_i].EventPtr; + PersistentEventsResponse.n_events++; + ReportWithPackageFilter(AlarmFilter,"Persistent Alarm ", __FILE__,PersistentEventsResponse.n_events,AlarmItem[Alarm_i].EventType, RpMessage, value, Alarm_i); + } + else return; } else { diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.c b/Software/Embedded_SW/Embedded/Modules/General/process.c index 872f772e2..807e9f8e9 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/process.c +++ b/Software/Embedded_SW/Embedded/Modules/General/process.c @@ -120,7 +120,7 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData) } if (saveData == true) { - if ((ProcessParams->dryerzone1temp > 0.1)&&(ProcessParams->headzone2temp > 0.1)&&(ProcessParams->headzone3temp > 0.1)&&(ProcessParams->headzone1temp > 0.1))//NOT turning off heaters + if ((ProcessParams->dryerzone1temp > 0.1)||(ProcessParams->headzone2temp > 0.1)||(ProcessParams->headzone3temp > 0.1)||(ProcessParams->headzone1temp > 0.1))//NOT turning off heaters { Bytes = sizeof(ProcessParameters); FileWrite(ProcessParams,Bytes,ProcessParamsConfigPath,BIOS_WAIT_FOREVER); @@ -383,7 +383,7 @@ uint32_t LoadProcessParamsFromFile(void) if (ProcessParams!=NULL) { - if ((ProcessParams->dryerzone1temp > 0.1)&&(ProcessParams->headzone2temp > 0.1)&&(ProcessParams->headzone3temp > 0.1)&&(ProcessParams->headzone4temp > 0.1))//NOT turning off heaters + if ((ProcessParams->dryerzone1temp > 0.1)||(ProcessParams->headzone2temp > 0.1)||(ProcessParams->headzone3temp > 0.1)||(ProcessParams->headzone4temp > 0.1))//NOT turning off heaters { Bytes = sizeof(ProcessParameters); EraseFlashSection(PROCESS_PARAMETERS_MAP_IN_FLASH); diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c index ab2062293..400eab33e 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c @@ -237,10 +237,16 @@ bool IDS_IsHomingActive(uint32_t DispenserId) uint32_t IDS_HomeDispenser (uint32_t DispenserId, uint32_t speed , callback_fptr callback) { assert(DispenserId < MAX_SYSTEM_DISPENSERS); + TimerMotors_t MotorId = HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1 + DispenserId; //if (DispensersAlarmState[DispenserId] == true) // return ERROR; double midTankContent = 0.0; + if (isMotorConfigured(MotorId)==false) + { + ReportWithPackageFilter(IDSFilter,"IDS_HomeDispenser - Disp not in config",__FILE__,Dispenser_Id_to_LS_Id[DispenserId],(int)DispenserId,RpWarning,LIMIT,0); + return ERROR; + } if (FPGA_Read_limit_Switches(Dispenser_Id_to_LS_Id[DispenserId]) == LIMIT) { ReportWithPackageFilter(IDSFilter,"IDS_HomeDispenser - Disp is full",__FILE__,Dispenser_Id_to_LS_Id[DispenserId],(int)DispenserId,RpWarning,LIMIT,0); @@ -275,7 +281,6 @@ uint32_t IDS_HomeDispenser (uint32_t DispenserId, uint32_t speed , callback_fptr } HomingRequestCallback[DispenserId] = callback; - TimerMotors_t MotorId = HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1 + DispenserId; if ( Dispenser_Id_to_LS_Id[DispenserId] != MAX_GPI) { HomingActive[DispenserId] = true; diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c index a28d00a91..95f6420c1 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c @@ -884,11 +884,13 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl } NumOfActiveDispensers = 0; +#ifndef LIGHT_COLORS if (lubricant_speed > 0.1) IDS_StopHomeDispenser(LUBRICANT_DISPENSER); if ((EnableIntersegment == true)&&(IntersegmentLength>0)) IDS_StopHomeDispenser(CLEANER_DISPENSER); - for (i = 0; i < MAX_DYE_DISPENSERS; i++) +#endif + for (i = 0; i < MAX_DYE_DISPENSERS; i++) { if (DispenserUsedInJob[i] == true) //we actually should check for all dispensers { diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index 5fee72dc7..ba505493d 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -1235,7 +1235,7 @@ uint32_t ThreadPrepareState(void *JobDetails) SpeedControlId = AddControlCallback(NULL,ThreadLengthCBFunction, eHundredMillisecond,MotorGetPositionFromFPGA,(IfTypeThread*0x100+Motor_i),ThreadMotorIdToMotorId[Motor_i],Motor_i); } #endif -#ifndef BTSR_NO_PULLER_TFU +//#ifndef BTSR_NO_PULLER_TFU if (Motor_i == POOLER_MOTOR) // dryer motor is speed controlled. later a speed sensor will be utilized, but for now it will not be controlled { ReportWithPackageFilter(ThreadFilter,"Puller Control",__FILE__,Motor_i,MotorControlConfig[Motor_i].m_params.Kp,RpWarning,MotorControlConfig[Motor_i].m_params.Ki,0); @@ -1249,7 +1249,7 @@ uint32_t ThreadPrepareState(void *JobDetails) PoolerLengthCalculationMultiplier = (MotorsCfg[ThreadMotorIdToMotorId[Motor_i]].pulleyradius*2*PI)/(MotorsCfg[ThreadMotorIdToMotorId[Motor_i]].pulseperround*MotorsCfg[ThreadMotorIdToMotorId[Motor_i]].microstep); PoolerSpeedControlId = AddControlCallback(NULL,PoolerThreadLengthCBFunction, eHundredMillisecond,MotorGetPositionFromFPGA,(IfTypeThread*0x100+Motor_i),ThreadMotorIdToMotorId[Motor_i],Motor_i); } -#endif +//#endif #ifndef BTSR_NO_FEEDER_TFU if (Motor_i == FEEDER_MOTOR) // dryer motor is speed controlled. later a speed sensor will be utilized, but for now it will not be controlled { |
