diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-12-01 19:51:21 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-12-01 19:51:21 +0200 |
| commit | 541f56269c598b3c3a9dc2574e5580efb369ab6b (patch) | |
| tree | 5b936042ff7cd222278e53015cd4d8e7f0b33694 /Software/Embedded_SW/Embedded | |
| parent | 5420708eee0e2a15bfb96338ac2026d108b14a3a (diff) | |
| download | Tango-541f56269c598b3c3a9dc2574e5580efb369ab6b.tar.gz Tango-541f56269c598b3c3a9dc2574e5580efb369ab6b.zip | |
version 1.5.3.3 - support new event - head open for flat.
Diffstat (limited to 'Software/Embedded_SW/Embedded')
9 files changed, 92 insertions, 66 deletions
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.c index 7aa6f71d4..3a656e258 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.c +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.c @@ -7,7 +7,7 @@ #endif #include "EventType.pb-c.h" -static const ProtobufCEnumValue event_type__enum_values_by_number[379] = +static const ProtobufCEnumValue event_type__enum_values_by_number[380] = { { "", "", 0 }, { "", "", 1000 }, @@ -222,6 +222,7 @@ static const ProtobufCEnumValue event_type__enum_values_by_number[379] = { "", "", 5096 }, { "", "", 5097 }, { "", "", 5098 }, + { "", "", 5099 }, { "", "", 6000 }, { "", "", 6001 }, { "", "", 6002 }, @@ -390,22 +391,20 @@ static const ProtobufCEnumValue event_type__enum_values_by_number[379] = { "", "", 10016 }, }; static const ProtobufCIntRange event_type__value_ranges[] = { -{0, 0},{1000, 1},{2000, 15},{3000, 40},{4000, 92},{5000, 114},{6000, 213},{7000, 219},{8000, 307},{9000, 339},{10000, 362},{0, 379} +{0, 0},{1000, 1},{2000, 15},{3000, 40},{4000, 92},{5000, 114},{6000, 214},{7000, 220},{8000, 308},{9000, 340},{10000, 363},{0, 380} }; -static const ProtobufCEnumValueIndex event_type__enum_values_by_name[379] = +static const ProtobufCEnumValueIndex event_type__enum_values_by_name[380] = { + { "", 341 }, { "", 340 }, - { "", 339 }, - { "", 365 }, + { "", 366 }, { "", 4 }, { "", 5 }, { "", 6 }, { "", 7 }, { "", 22 }, { "", 21 }, - { "", 345 }, - { "", 356 }, - { "", 350 }, + { "", 346 }, { "", 357 }, { "", 351 }, { "", 358 }, @@ -413,18 +412,9 @@ static const ProtobufCEnumValueIndex event_type__enum_values_by_name[379] = { "", 359 }, { "", 353 }, { "", 360 }, + { "", 354 }, { "", 361 }, - { "", 235 }, - { "", 299 }, - { "", 291 }, - { "", 251 }, - { "", 259 }, - { "", 267 }, - { "", 275 }, - { "", 219 }, - { "", 243 }, - { "", 227 }, - { "", 283 }, + { "", 362 }, { "", 236 }, { "", 300 }, { "", 292 }, @@ -502,6 +492,17 @@ static const ProtobufCEnumValueIndex event_type__enum_values_by_name[379] = { "", 250 }, { "", 234 }, { "", 290 }, + { "", 243 }, + { "", 307 }, + { "", 299 }, + { "", 259 }, + { "", 267 }, + { "", 275 }, + { "", 283 }, + { "", 227 }, + { "", 251 }, + { "", 235 }, + { "", 291 }, { "", 96 }, { "", 107 }, { "", 108 }, @@ -552,6 +553,7 @@ static const ProtobufCEnumValueIndex event_type__enum_values_by_name[379] = { "", 151 }, { "", 152 }, { "", 144 }, + { "", 213 }, { "", 145 }, { "", 146 }, { "", 147 }, @@ -640,15 +642,15 @@ static const ProtobufCEnumValueIndex event_type__enum_values_by_name[379] = { "", 18 }, { "", 19 }, { "", 20 }, - { "", 372 }, - { "", 374 }, - { "", 362 }, - { "", 368 }, - { "", 376 }, - { "", 370 }, + { "", 373 }, + { "", 375 }, { "", 363 }, - { "", 378 }, - { "", 346 }, + { "", 369 }, + { "", 377 }, + { "", 371 }, + { "", 364 }, + { "", 379 }, + { "", 347 }, { "", 12 }, { "", 14 }, { "", 13 }, @@ -672,10 +674,6 @@ static const ProtobufCEnumValueIndex event_type__enum_values_by_name[379] = { "", 30 }, { "", 28 }, { "", 90 }, - { "", 315 }, - { "", 331 }, - { "", 307 }, - { "", 323 }, { "", 316 }, { "", 332 }, { "", 308 }, @@ -704,20 +702,24 @@ static const ProtobufCEnumValueIndex event_type__enum_values_by_name[379] = { "", 338 }, { "", 314 }, { "", 330 }, + { "", 323 }, + { "", 339 }, + { "", 315 }, + { "", 331 }, + { "", 219 }, { "", 218 }, - { "", 217 }, - { "", 213 }, - { "", 216 }, { "", 214 }, + { "", 217 }, { "", 215 }, - { "", 342 }, - { "", 364 }, + { "", 216 }, + { "", 343 }, + { "", 365 }, { "", 0 }, { "", 15 }, - { "", 354 }, - { "", 348 }, { "", 355 }, { "", 349 }, + { "", 356 }, + { "", 350 }, { "", 77 }, { "", 80 }, { "", 83 }, @@ -753,17 +755,17 @@ static const ProtobufCEnumValueIndex event_type__enum_values_by_name[379] = { "", 89 }, { "", 35 }, { "", 31 }, - { "", 347 }, - { "", 344 }, - { "", 373 }, - { "", 375 }, - { "", 366 }, - { "", 369 }, - { "", 377 }, - { "", 371 }, + { "", 348 }, + { "", 345 }, + { "", 374 }, + { "", 376 }, { "", 367 }, - { "", 341 }, - { "", 343 }, + { "", 370 }, + { "", 378 }, + { "", 372 }, + { "", 368 }, + { "", 342 }, + { "", 344 }, { "", 42 }, { "", 76 }, { "", 79 }, @@ -781,9 +783,9 @@ const ProtobufCEnumDescriptor event_type__descriptor = "", "", "", - 379, + 380, event_type__enum_values_by_number, - 379, + 380, event_type__enum_values_by_name, 11, event_type__value_ranges, diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.h index 9b2147774..a1b5bebed 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.h +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.h @@ -233,6 +233,7 @@ typedef enum _EventType { EVENT_TYPE__DYEING_HEAD_BLOWER_2_FLOW_TOO_LOW = 5096, EVENT_TYPE__DYEING_HEAD_ARC_LID_IS_OPEN = 5097, EVENT_TYPE__DYEING_HEAD_TUNNEL_LID_IS_OPEN = 5098, + EVENT_TYPE__DYEING_HEAD_COVER_IS_OPEN = 5099, EVENT_TYPE__MIXER_OVERTEMPERATURE = 6000, EVENT_TYPE__MIXER_UNDERTEMPERATURE_A = 6001, EVENT_TYPE__MIXER_UNDERTEMPERATURE_B = 6002, diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.c index b2366bf0a..ea6ee6d7a 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.c +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.c @@ -7,20 +7,24 @@ #endif #include "HardwareDancerType.pb-c.h" -static const ProtobufCEnumValue hardware_dancer_type__enum_values_by_number[3] = +static const ProtobufCEnumValue hardware_dancer_type__enum_values_by_number[5] = { { "", "", 0 }, { "", "", 1 }, { "", "", 2 }, + { "", "", 3 }, + { "", "", 4 }, }; static const ProtobufCIntRange hardware_dancer_type__value_ranges[] = { -{0, 0},{0, 3} +{0, 0},{0, 5} }; -static const ProtobufCEnumValueIndex hardware_dancer_type__enum_values_by_name[3] = +static const ProtobufCEnumValueIndex hardware_dancer_type__enum_values_by_name[5] = { + { "", 4 }, { "", 0 }, { "", 1 }, { "", 2 }, + { "", 3 }, }; const ProtobufCEnumDescriptor hardware_dancer_type__descriptor = { @@ -29,9 +33,9 @@ const ProtobufCEnumDescriptor hardware_dancer_type__descriptor = "", "", "", - 3, + 5, hardware_dancer_type__enum_values_by_number, - 3, + 5, hardware_dancer_type__enum_values_by_name, 1, hardware_dancer_type__value_ranges, diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h index fed2b0108..ef217df4d 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h @@ -22,7 +22,9 @@ PROTOBUF_C__BEGIN_DECLS typedef enum _HardwareDancerType { HARDWARE_DANCER_TYPE__LeftDancer = 0, HARDWARE_DANCER_TYPE__MiddleDancer = 1, - HARDWARE_DANCER_TYPE__RightDancer = 2 + HARDWARE_DANCER_TYPE__RightDancer = 2, + HARDWARE_DANCER_TYPE__ThirdDancer = 3, + HARDWARE_DANCER_TYPE__FourthDancer = 4 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(HARDWARE_DANCER_TYPE) } HardwareDancerType; diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index d366e8832..eb72de61b 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -821,6 +821,10 @@ uint32_t MillisecLowLoop(uint32_t tick) if (Head_Type == HEAD_TYPE_ARC) { HeadBlowersControlLoop(); } + else + { + FlatHeadAlarms(); + } //call waste state machine Waste_StateMachine_OneSecond_Call(); diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c index 9f7994629..d880b1381 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c @@ -325,7 +325,7 @@ uint32_t DiagnosticsLoadDigitalValues(void) if(Head_Type == HEAD_TYPE_ARC) DigitalOutputState[index++].value = FPGA_Read_limit_Switches(I2C_HEADCARD_COVER_LS_ARC); else - DigitalOutputState[index++].value = FPGA_Read_limit_Switches(GPI_LS_DH_LID_OPEN); + DigitalOutputState[index++].value = FPGA_Read_limit_Switches(Motor_Id_to_LS_IdUp [HARDWARE_MOTOR_TYPE__MOTO_DH_LID]); #ifdef USE_VOC_BUZZER_ALARM if (WHS_Type == WHS_TYPE_NEW) diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c index 63118221b..eefd42d75 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c @@ -258,7 +258,19 @@ void setArcHeadAlarms(uint32_t AlarmId, bool value) } } } +void FlatHeadAlarms(void) +{ + if (FPGA_Read_limit_Switches(Motor_Id_to_LS_IdUp [HARDWARE_MOTOR_TYPE__MOTO_DH_LID]) != LIMIT) { + if (++count9 == ARC_ALARM_LIMIT) + setArcHeadAlarms(EVENT_TYPE__DYEING_HEAD_COVER_IS_OPEN, true); + count9 = (count9 > ARC_ALARM_LIMIT)?(ARC_ALARM_LIMIT):(count9); + } else { + if (--count9 == 0) + setArcHeadAlarms(EVENT_TYPE__DYEING_HEAD_COVER_IS_OPEN, false); + count9 = (count9 < 0)?(0):(count9); + } +} void ArcHeadAlarms(void) { double currentFlow = 0.0; diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h index cac543647..a172532c2 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h @@ -52,6 +52,7 @@ void HeadBlowersInit(); uint32_t HeadBlowerPidRequestMessage(void* request, int BlowerId); void HeadBlowersCfg(); void HeadBlowersControlLoop (); +void FlatHeadAlarms(void); uint32_t HeadBlowerCommandRequestMessage(int blowerId, float flow); void HeadBlowersOff(int off); uint32_t HeadBlowersOffGet(); diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c index 38fa539a8..861ca4b56 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c @@ -1,32 +1,32 @@ /************************************************************************************************************************ * Printing.c - * High managment logical unit of slow motors in the system ( 6 dispensers and the screw motor) + * High management logical unit of slow motors in the system ( 6 dispensers and the screw motor) * profile run up begins from screw homing to begin position and only then from fast motors activation. - * when every slow motor tuches the limit switch (no matter whether its screw or dispenser) - * an interrupt occures in the system and as long as its pushing the limit switch all the system is prevented from operation. + * when every slow motor touches the limit switch (no matter whether its screw or dispenser) + * an interrupt occurred in the system and as long as its pushing the limit switch all the system is prevented from operation. * because of that the work flow with interrupts must be : * design a function handle (what to do in the moment the interrupt arrives) * configure the wanted interrupt in the cfg file (according to the defined port and pin and its interrupt number and the handler) - * enable interupt for predefined gpio in the application + * enable interrupt for predefined gpio in the application * when the interrupt arrives the handle will be automatically called * in case of the limit switches since the operation is continuess the interrupt must be disabled in order to continue the application running. * then the operation is not continues (like butten pushing) there is no need in disabling the interrupts * Printing module is responsible for : - * operating diffrent winding algorithms with predefined parameters from the UI + * operating different winding algorithms with predefined parameters from the UI * operating the dispensers according to predefined dispensing rate from the UI **************************************************************************************************************************/ ////////////////////////////////State machine operation//////////////////////////////////// //the state machine operation is used to operate in runtime correct profile flow execution -//by recieved esign flow of the user from the UI +//by received design flow of the user from the UI /////////////////////////////////////////////////////////////////////////////////////////// #include <Container.h> #include <DataDef.h> #include "include.h" -#include <ti/sysbios/knl/mailbox.h> -#include <ti/sysbios/knl/Clock.h> -#include <ti/sysbios/knl/task.h> +//#include <ti/sysbios/knl/mailbox.h> +//#include <ti/sysbios/knl/Clock.h> +//#include <ti/sysbios/knl/task.h> #include "Common/report/report.h" |
