aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-12-01 19:51:21 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-12-01 19:51:21 +0200
commit541f56269c598b3c3a9dc2574e5580efb369ab6b (patch)
tree5b936042ff7cd222278e53015cd4d8e7f0b33694 /Software/Embedded_SW/Embedded
parent5420708eee0e2a15bfb96338ac2026d108b14a3a (diff)
downloadTango-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')
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.c102
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.h1
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.c14
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c12
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h1
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c18
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"