aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2020-05-26 17:03:25 +0300
committerAvi Levkovich <avi@twine-s.com>2020-05-26 17:03:25 +0300
commitfd326204404ee0932ea465efcdd41e21fd7f2b49 (patch)
treeffb38ac74dc86490a8581539cba7094452cb6ed6 /Software/Embedded_SW
parentf0fc1abe6628c903d2e58dcd1b1a88ef43d45057 (diff)
parent7102ed21905bc52c6aee506e919992ce1f98f641 (diff)
downloadTango-fd326204404ee0932ea465efcdd41e21fd7f2b49.tar.gz
Tango-fd326204404ee0932ea465efcdd41e21fd7f2b49.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Embedded_SW')
-rw-r--r--Software/Embedded_SW/Embedded/Common/Utilities/idle_task.c18
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.c40
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.h3
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.c19
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.h5
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/SpoolState.pb-c.c37
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/SpoolState.pb-c.h43
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubWhsEEpromData.pb-c.c925
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubWhsEEpromData.pb-c.h145
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c6
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/EEPROM/WHS_EEPROM.c12
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/USB_Communication/USBCDCD.c9
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c8
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c24
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c10
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IFS/ifs.c7
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IFS/ifs.h2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c57
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c9
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c14
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c27
23 files changed, 1300 insertions, 125 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/Utilities/idle_task.c b/Software/Embedded_SW/Embedded/Common/Utilities/idle_task.c
index 86c030dc0..54e186b28 100644
--- a/Software/Embedded_SW/Embedded/Common/Utilities/idle_task.c
+++ b/Software/Embedded_SW/Embedded/Common/Utilities/idle_task.c
@@ -51,7 +51,7 @@ static uint32_t idle_counter;
static long next_interval; /*by ticks*/
static bool first_time_after_init;
static int system_load;
-static int load;
+static int Load;
static int max_system_load;
static int max_load;
static uint32_t idle_load_table[101];
@@ -188,14 +188,14 @@ uint32_t unload_max_count=0;
calculate_system_load(current_load);
old_idle_counter = idle_counter;
time_interval = next_interval;
- load=current_load;
+ Load=current_load;
prev_load = current_load / 10;
- idle_load_table[load]++;
- if(load > max_load) max_load = load;
- //REPORT_MSG(load,"Real time load");
+ idle_load_table[Load]++;
+ if(Load > max_load) max_load = Load;
+ //REPORT_MSG(Load,"Real time load");
#ifdef DEBUG
- printf("c_ld=%d\n",load);
+ printf("c_ld=%d\n",Load);
#endif
}
}
@@ -239,7 +239,7 @@ static uint32_t number_of_load_samples;
first_time_after_init = FALSE;
system_load = current_load;
max_system_load = system_load;
- max_load = load;
+ max_load = Load;
number_of_load_samples = 1;
sum_of_previous_load = current_load;
}
@@ -299,7 +299,7 @@ extern int IDLE_TASK_get_load(void)
/***********************************************************/
extern int IDLE_TASK_get_current_load(void)
{
- return load;
+ return Load;
}
/***********************************************************/
@@ -320,7 +320,7 @@ extern int IDLE_TASK_get_load(void)
/***********************************************************/
/*export MN_uint32_t mn_get_curent_load(char *pParams)
{
- MN_printf("\n\rload=%d,max load=%d", load, max_load);
+ MN_printf("\n\rload=%d,max Load=%d", Load, max_load);
return(RET_OK);
}
*/
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.c
index a35a4f23e..555e4fe12 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.c
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.c
@@ -7,7 +7,7 @@
#endif
#include "InterfaceIOs.pb-c.h"
-static const ProtobufCEnumValue interface_ios__enum_values_by_number[45] =
+static const ProtobufCEnumValue interface_ios__enum_values_by_number[48] =
{
{ "", "", 0 },
{ "", "", 19 },
@@ -39,6 +39,9 @@ static const ProtobufCEnumValue interface_ios__enum_values_by_number[45] =
{ "", "", 178 },
{ "", "", 179 },
{ "", "", 180 },
+ { "", "", 214 },
+ { "", "", 215 },
+ { "", "", 216 },
{ "", "", 224 },
{ "", "", 270 },
{ "", "", 271 },
@@ -56,16 +59,19 @@ static const ProtobufCEnumValue interface_ios__enum_values_by_number[45] =
{ "", "", 346 },
};
static const ProtobufCIntRange interface_ios__value_ranges[] = {
-{0, 0},{19, 1},{43, 6},{54, 9},{64, 11},{163, 12},{224, 30},{270, 31},{296, 36},{318, 37},{341, 39},{0, 45}
+{0, 0},{19, 1},{43, 6},{54, 9},{64, 11},{163, 12},{214, 30},{224, 33},{270, 34},{296, 39},{318, 40},{341, 42},{0, 48}
};
-static const ProtobufCEnumValueIndex interface_ios__enum_values_by_name[45] =
+static const ProtobufCEnumValueIndex interface_ios__enum_values_by_name[48] =
{
{ "", 0 },
- { "", 39 },
- { "", 40 },
- { "", 41 },
{ "", 31 },
+ { "", 32 },
+ { "", 30 },
{ "", 42 },
+ { "", 43 },
+ { "", 44 },
+ { "", 34 },
+ { "", 45 },
{ "", 12 },
{ "", 6 },
{ "", 7 },
@@ -75,18 +81,18 @@ static const ProtobufCEnumValueIndex interface_ios__enum_values_by_name[45] =
{ "", 4 },
{ "", 5 },
{ "", 11 },
- { "", 32 },
- { "", 33 },
- { "", 34 },
{ "", 35 },
- { "", 1 },
+ { "", 36 },
{ "", 37 },
{ "", 38 },
+ { "", 1 },
+ { "", 40 },
+ { "", 41 },
{ "", 9 },
{ "", 10 },
- { "", 36 },
+ { "", 39 },
{ "", 13 },
- { "", 43 },
+ { "", 46 },
{ "", 14 },
{ "", 22 },
{ "", 15 },
@@ -103,8 +109,8 @@ static const ProtobufCEnumValueIndex interface_ios__enum_values_by_name[45] =
{ "", 28 },
{ "", 21 },
{ "", 29 },
- { "", 30 },
- { "", 44 },
+ { "", 33 },
+ { "", 47 },
};
const ProtobufCEnumDescriptor interface_ios__descriptor =
{
@@ -113,11 +119,11 @@ const ProtobufCEnumDescriptor interface_ios__descriptor =
"",
"",
"",
- 45,
+ 48,
interface_ios__enum_values_by_number,
- 45,
+ 48,
interface_ios__enum_values_by_name,
- 11,
+ 12,
interface_ios__value_ranges,
NULL,NULL,NULL,NULL /* reserved[1234] */
};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.h
index 4f0545389..8f2631c75 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.h
@@ -50,6 +50,9 @@ typedef enum _InterfaceIOs {
INTERFACE_IOS__Midtank6Cartridge = 178,
INTERFACE_IOS__Midtank7Cartridge = 179,
INTERFACE_IOS__Midtank8Cartridge = 180,
+ INTERFACE_IOS__CART3 = 214,
+ INTERFACE_IOS__CART1 = 215,
+ INTERFACE_IOS__CART2 = 216,
INTERFACE_IOS__SW_SPARE = 224,
INTERFACE_IOS__GPO_BUZZER = 270,
INTERFACE_IOS__GPO_LED1 = 271,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.c
index 0bc8dbde8..ad257ca79 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.c
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.c
@@ -52,7 +52,7 @@ void machine_status__free_unpacked
assert(message->base.descriptor == &machine_status__descriptor);
protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
-static const ProtobufCFieldDescriptor machine_status__field_descriptors[3] =
+static const ProtobufCFieldDescriptor machine_status__field_descriptors[4] =
{
{
"",
@@ -90,16 +90,29 @@ static const ProtobufCFieldDescriptor machine_status__field_descriptors[3] =
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
+ {
+ "",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(MachineStatus, has_spoolstate),
+ offsetof(MachineStatus, spoolstate),
+ &spool_state__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
};
static const unsigned machine_status__field_indices_by_name[] = {
1, /* field[1] = IDSPacksLevels */
2, /* field[2] = OverallTemperature */
+ 3, /* field[3] = SpoolState */
0, /* field[0] = State */
};
static const ProtobufCIntRange machine_status__number_ranges[1 + 1] =
{
{ 1, 0 },
- { 0, 3 }
+ { 0, 4 }
};
const ProtobufCMessageDescriptor machine_status__descriptor =
{
@@ -109,7 +122,7 @@ const ProtobufCMessageDescriptor machine_status__descriptor =
"",
"",
sizeof(MachineStatus),
- 3,
+ 4,
machine_status__field_descriptors,
machine_status__field_indices_by_name,
1, machine_status__number_ranges,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.h
index a8a54eb13..003fcd09c 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.h
@@ -16,6 +16,7 @@ PROTOBUF_C__BEGIN_DECLS
#include "MachineState.pb-c.h"
#include "IDSPackLevel.pb-c.h"
+#include "SpoolState.pb-c.h"
typedef struct _MachineStatus MachineStatus;
@@ -34,10 +35,12 @@ struct _MachineStatus
IDSPackLevel **idspackslevels;
protobuf_c_boolean has_overalltemperature;
double overalltemperature;
+ protobuf_c_boolean has_spoolstate;
+ SpoolState spoolstate;
};
#define MACHINE_STATUS__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&machine_status__descriptor) \
- , 0, MACHINE_STATE__PowerUp, 0,NULL, 0, 0 }
+ , 0, MACHINE_STATE__PowerUp, 0,NULL, 0, 0, 0, SPOOL_STATE__Absent }
/* MachineStatus methods */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/SpoolState.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/SpoolState.pb-c.c
new file mode 100644
index 000000000..d88277e97
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/SpoolState.pb-c.c
@@ -0,0 +1,37 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: SpoolState.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "SpoolState.pb-c.h"
+static const ProtobufCEnumValue spool_state__enum_values_by_number[2] =
+{
+ { "", "", 0 },
+ { "", "", 1 },
+};
+static const ProtobufCIntRange spool_state__value_ranges[] = {
+{0, 0},{0, 2}
+};
+static const ProtobufCEnumValueIndex spool_state__enum_values_by_name[2] =
+{
+ { "", 0 },
+ { "", 1 },
+};
+const ProtobufCEnumDescriptor spool_state__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ 2,
+ spool_state__enum_values_by_number,
+ 2,
+ spool_state__enum_values_by_name,
+ 1,
+ spool_state__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/SpoolState.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/SpoolState.pb-c.h
new file mode 100644
index 000000000..037c9a18e
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/SpoolState.pb-c.h
@@ -0,0 +1,43 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: SpoolState.proto */
+
+#ifndef PROTOBUF_C_SpoolState_2eproto__INCLUDED
+#define PROTOBUF_C_SpoolState_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _SpoolState {
+ SPOOL_STATE__Absent = 0,
+ SPOOL_STATE__Present = 1
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(SPOOL_STATE)
+} SpoolState;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor spool_state__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_SpoolState_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubWhsEEpromData.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubWhsEEpromData.pb-c.c
index 3a27bf9bf..aa5eff57b 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubWhsEEpromData.pb-c.c
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubWhsEEpromData.pb-c.c
@@ -52,7 +52,7 @@ void stub_whs_eeprom_data__free_unpacked
assert(message->base.descriptor == &stub_whs_eeprom_data__descriptor);
protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
-static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19] =
+static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[84] =
{
{
"",
@@ -71,8 +71,8 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
2,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_UINT32,
- offsetof(StubWhsEEpromData, has_tablelength),
- offsetof(StubWhsEEpromData, tablelength),
+ offsetof(StubWhsEEpromData, has_table_length),
+ offsetof(StubWhsEEpromData, table_length),
NULL,
NULL,
0, /* flags */
@@ -83,8 +83,8 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
3,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_UINT32,
- offsetof(StubWhsEEpromData, has_tableversion),
- offsetof(StubWhsEEpromData, tableversion),
+ offsetof(StubWhsEEpromData, has_table_version),
+ offsetof(StubWhsEEpromData, table_version),
NULL,
NULL,
0, /* flags */
@@ -96,7 +96,7 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_STRING,
0, /* quantifier_offset */
- offsetof(StubWhsEEpromData, whsp_n),
+ offsetof(StubWhsEEpromData, whs_sn),
NULL,
NULL,
0, /* flags */
@@ -108,7 +108,7 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_STRING,
0, /* quantifier_offset */
- offsetof(StubWhsEEpromData, pcbs_n),
+ offsetof(StubWhsEEpromData, pcb_sn),
NULL,
NULL,
0, /* flags */
@@ -120,7 +120,7 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_STRING,
0, /* quantifier_offset */
- offsetof(StubWhsEEpromData, pcbpartnumber),
+ offsetof(StubWhsEEpromData, whs_part_number),
NULL,
NULL,
0, /* flags */
@@ -132,7 +132,7 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_STRING,
0, /* quantifier_offset */
- offsetof(StubWhsEEpromData, whss_n),
+ offsetof(StubWhsEEpromData, pcb_part_number),
NULL,
NULL,
0, /* flags */
@@ -142,6 +142,90 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
"",
8,
PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubWhsEEpromData, has_runninghours),
+ offsetof(StubWhsEEpromData, runninghours),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubWhsEEpromData, has_sw_reserve),
+ offsetof(StubWhsEEpromData, sw_reserve),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 10,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubWhsEEpromData, production_test_date),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 11,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubWhsEEpromData, testpassfail),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 12,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubWhsEEpromData, has_ats_location),
+ offsetof(StubWhsEEpromData, ats_location),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 13,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_orifice_waste_level_v0_ml),
+ offsetof(StubWhsEEpromData, orifice_waste_level_v0_ml),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 14,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_flow_calc_coefficient_c),
+ offsetof(StubWhsEEpromData, flow_calc_coefficient_c),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 15,
+ PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(StubWhsEEpromData, has_orifice1flow),
offsetof(StubWhsEEpromData, orifice1flow),
@@ -152,7 +236,7 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
},
{
"",
- 9,
+ 16,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(StubWhsEEpromData, has_orifice1slope),
@@ -164,7 +248,31 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
},
{
"",
- 10,
+ 17,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_orifice1maxpressure),
+ offsetof(StubWhsEEpromData, orifice1maxpressure),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 18,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_orifice1calibrationfactor),
+ offsetof(StubWhsEEpromData, orifice1calibrationfactor),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 19,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(StubWhsEEpromData, has_orifice2flow),
@@ -176,7 +284,7 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
},
{
"",
- 11,
+ 20,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(StubWhsEEpromData, has_orifice2slope),
@@ -188,7 +296,31 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
},
{
"",
- 12,
+ 21,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_orifice2maxpressure),
+ offsetof(StubWhsEEpromData, orifice2maxpressure),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 22,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_orifice2calibrationfactor),
+ offsetof(StubWhsEEpromData, orifice2calibrationfactor),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 23,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(StubWhsEEpromData, has_orifice3flow),
@@ -200,7 +332,7 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
},
{
"",
- 13,
+ 24,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(StubWhsEEpromData, has_orifice3slope),
@@ -212,7 +344,31 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
},
{
"",
- 14,
+ 25,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_orifice3maxpressure),
+ offsetof(StubWhsEEpromData, orifice3maxpressure),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 26,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_orifice3calibrationfactor),
+ offsetof(StubWhsEEpromData, orifice3calibrationfactor),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 27,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(StubWhsEEpromData, has_orificevalveflow),
@@ -224,7 +380,7 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
},
{
"",
- 15,
+ 28,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(StubWhsEEpromData, has_orificevalveslope),
@@ -236,7 +392,631 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
},
{
"",
- 16,
+ 29,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_orificevalvemaxpressure),
+ offsetof(StubWhsEEpromData, orificevalvemaxpressure),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 30,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_orificevalvecalibrationfactor),
+ offsetof(StubWhsEEpromData, orificevalvecalibrationfactor),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 31,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_1_4_pwm_min_pct),
+ offsetof(StubWhsEEpromData, fans_1_4_pwm_min_pct),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 32,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_1_4_rpm_pwm_min),
+ offsetof(StubWhsEEpromData, fans_1_4_rpm_pwm_min),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 33,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_1_4_pwm_max_pct),
+ offsetof(StubWhsEEpromData, fans_1_4_pwm_max_pct),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 34,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_1_4_rpm_pwm_max),
+ offsetof(StubWhsEEpromData, fans_1_4_rpm_pwm_max),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 35,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_1_4_nom_pwm_pct),
+ offsetof(StubWhsEEpromData, fans_1_4_nom_pwm_pct),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 36,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_1_4_nom_rpm),
+ offsetof(StubWhsEEpromData, fans_1_4_nom_rpm),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 37,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_1_4_rpm_limit_pct_below_nom),
+ offsetof(StubWhsEEpromData, fans_1_4_rpm_limit_pct_below_nom),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 38,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_1_4_pulse_per_revolution),
+ offsetof(StubWhsEEpromData, fans_1_4_pulse_per_revolution),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 39,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_1_4_spare1),
+ offsetof(StubWhsEEpromData, fans_1_4_spare1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 40,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_1_4_spare2),
+ offsetof(StubWhsEEpromData, fans_1_4_spare2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 41,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_5_6_nom_rpm),
+ offsetof(StubWhsEEpromData, fans_5_6_nom_rpm),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 42,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_5_6_rpm_limit_pct_below_nom),
+ offsetof(StubWhsEEpromData, fans_5_6_rpm_limit_pct_below_nom),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 43,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_5_6_pulse_per_revolution),
+ offsetof(StubWhsEEpromData, fans_5_6_pulse_per_revolution),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 44,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_5_6_spare1),
+ offsetof(StubWhsEEpromData, fans_5_6_spare1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 45,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_fans_5_6_spare2),
+ offsetof(StubWhsEEpromData, fans_5_6_spare2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 46,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_blower_p_gain),
+ offsetof(StubWhsEEpromData, blower_p_gain),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 47,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_blower_cfmrpm_min),
+ offsetof(StubWhsEEpromData, blower_cfmrpm_min),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 48,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_blower_rpm_cfm_max),
+ offsetof(StubWhsEEpromData, blower_rpm_cfm_max),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 49,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_blower_calibration_factor),
+ offsetof(StubWhsEEpromData, blower_calibration_factor),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 50,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_blower_spare1),
+ offsetof(StubWhsEEpromData, blower_spare1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 51,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_blower_spare2),
+ offsetof(StubWhsEEpromData, blower_spare2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 52,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_voc_limit),
+ offsetof(StubWhsEEpromData, voc_limit),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 53,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_voc_spare1),
+ offsetof(StubWhsEEpromData, voc_spare1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 54,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_voc_spare2),
+ offsetof(StubWhsEEpromData, voc_spare2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 55,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_controller_comm_type),
+ offsetof(StubWhsEEpromData, controller_comm_type),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 56,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_controller_type),
+ offsetof(StubWhsEEpromData, controller_type),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 57,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_sensor_type),
+ offsetof(StubWhsEEpromData, sensor_type),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 58,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_cooler_c_f),
+ offsetof(StubWhsEEpromData, cooler_c_f),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 59,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_cooler_sv),
+ offsetof(StubWhsEEpromData, cooler_sv),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 60,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_cooler_p),
+ offsetof(StubWhsEEpromData, cooler_p),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 61,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_cooler_i),
+ offsetof(StubWhsEEpromData, cooler_i),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 62,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_cooler_d),
+ offsetof(StubWhsEEpromData, cooler_d),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 63,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_warning_configuration_par1),
+ offsetof(StubWhsEEpromData, warning_configuration_par1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 64,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_warning_configuration_par2),
+ offsetof(StubWhsEEpromData, warning_configuration_par2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 65,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_warning_configuration_par3),
+ offsetof(StubWhsEEpromData, warning_configuration_par3),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 66,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_warning_configuration_par4),
+ offsetof(StubWhsEEpromData, warning_configuration_par4),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 67,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_warning_configuration_par5),
+ offsetof(StubWhsEEpromData, warning_configuration_par5),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 68,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_warning_configuration_par6),
+ offsetof(StubWhsEEpromData, warning_configuration_par6),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 69,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_warning_threshold),
+ offsetof(StubWhsEEpromData, warning_threshold),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 70,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_controller_spare1),
+ offsetof(StubWhsEEpromData, controller_spare1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 71,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_controller_spare2),
+ offsetof(StubWhsEEpromData, controller_spare2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 72,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_controller_spare3),
+ offsetof(StubWhsEEpromData, controller_spare3),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 73,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_controller_spare4),
+ offsetof(StubWhsEEpromData, controller_spare4),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 74,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_controller_spare5),
+ offsetof(StubWhsEEpromData, controller_spare5),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 75,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_test_date),
+ offsetof(StubWhsEEpromData, test_date),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 76,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubWhsEEpromData, test),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 77,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_waste_pump_flow_volume_per_sec),
+ offsetof(StubWhsEEpromData, waste_pump_flow_volume_per_sec),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 78,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_waste_pump_flow_v_per_sec_limit),
+ offsetof(StubWhsEEpromData, waste_pump_flow_v_per_sec_limit),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 79,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_filter_max_life_span),
+ offsetof(StubWhsEEpromData, filter_max_life_span),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 80,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubWhsEEpromData, has_filter_usage_hours),
+ offsetof(StubWhsEEpromData, filter_usage_hours),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 81,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_STRING,
0, /* quantifier_offset */
@@ -248,7 +1028,7 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
},
{
"",
- 17,
+ 82,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_STRING,
0, /* quantifier_offset */
@@ -260,7 +1040,7 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
},
{
"",
- 18,
+ 83,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_STRING,
0, /* quantifier_offset */
@@ -272,7 +1052,7 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
},
{
"",
- 19,
+ 84,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_UINT32,
offsetof(StubWhsEEpromData, has_checksum),
@@ -284,30 +1064,95 @@ static const ProtobufCFieldDescriptor stub_whs_eeprom_data__field_descriptors[19
},
};
static const unsigned stub_whs_eeprom_data__field_indices_by_name[] = {
- 18, /* field[18] = CheckSum */
- 16, /* field[16] = FilterInstallationDate */
+ 11, /* field[11] = ATS_Location */
+ 46, /* field[46] = Blower_CFMRPM_min */
+ 48, /* field[48] = Blower_Calibration_factor */
+ 45, /* field[45] = Blower_P_Gain */
+ 47, /* field[47] = Blower_RPM_CFM_max */
+ 49, /* field[49] = Blower_Spare1 */
+ 50, /* field[50] = Blower_Spare2 */
+ 83, /* field[83] = CheckSum */
+ 54, /* field[54] = Controller_Comm_Type */
+ 69, /* field[69] = Controller_Spare1 */
+ 70, /* field[70] = Controller_Spare2 */
+ 71, /* field[71] = Controller_Spare3 */
+ 72, /* field[72] = Controller_Spare4 */
+ 73, /* field[73] = Controller_Spare5 */
+ 55, /* field[55] = Controller_Type */
+ 57, /* field[57] = Cooler_C_F */
+ 61, /* field[61] = Cooler_D */
+ 60, /* field[60] = Cooler_I */
+ 59, /* field[59] = Cooler_P */
+ 58, /* field[58] = Cooler_SV */
+ 34, /* field[34] = Fans_1_4_Nom_PWM_Pct */
+ 35, /* field[35] = Fans_1_4_Nom_RPM */
+ 32, /* field[32] = Fans_1_4_PWM_max_Pct */
+ 30, /* field[30] = Fans_1_4_PWM_min_Pct */
+ 37, /* field[37] = Fans_1_4_Pulse_Per_Revolution */
+ 36, /* field[36] = Fans_1_4_RPM_Limit_Pct_below_Nom */
+ 33, /* field[33] = Fans_1_4_RPM_PWM_max */
+ 31, /* field[31] = Fans_1_4_RPM_PWM_min */
+ 38, /* field[38] = Fans_1_4_Spare1 */
+ 39, /* field[39] = Fans_1_4_Spare2 */
+ 40, /* field[40] = Fans_5_6_Nom_RPM */
+ 42, /* field[42] = Fans_5_6_Pulse_Per_Revolution */
+ 41, /* field[41] = Fans_5_6_RPM_Limit_Pct_below_Nom */
+ 43, /* field[43] = Fans_5_6_Spare1 */
+ 44, /* field[44] = Fans_5_6_Spare2 */
+ 81, /* field[81] = FilterInstallationDate */
+ 78, /* field[78] = Filter_max_life_span */
+ 79, /* field[79] = Filter_usage_hours */
0, /* field[0] = Header */
- 7, /* field[7] = Orifice1Flow */
- 8, /* field[8] = Orifice1Slope */
- 9, /* field[9] = Orifice2Flow */
- 10, /* field[10] = Orifice2Slope */
- 11, /* field[11] = Orifice3Flow */
- 12, /* field[12] = Orifice3Slope */
- 13, /* field[13] = OrificeValveFlow */
- 14, /* field[14] = OrificeValveSlope */
- 5, /* field[5] = PCBPartNumber */
- 4, /* field[4] = PCBS_N */
- 17, /* field[17] = ProductionDate */
- 1, /* field[1] = TableLength */
- 2, /* field[2] = Tableversion */
- 15, /* field[15] = VOCInstallationDate */
- 3, /* field[3] = WhsP_N */
- 6, /* field[6] = WhsS_N */
+ 17, /* field[17] = Orifice1CalibrationFactor */
+ 14, /* field[14] = Orifice1Flow */
+ 16, /* field[16] = Orifice1MaxPressure */
+ 15, /* field[15] = Orifice1Slope */
+ 21, /* field[21] = Orifice2CalibrationFactor */
+ 18, /* field[18] = Orifice2Flow */
+ 20, /* field[20] = Orifice2MaxPressure */
+ 19, /* field[19] = Orifice2Slope */
+ 25, /* field[25] = Orifice3CalibrationFactor */
+ 22, /* field[22] = Orifice3Flow */
+ 24, /* field[24] = Orifice3MaxPressure */
+ 23, /* field[23] = Orifice3Slope */
+ 29, /* field[29] = OrificeValveCalibrationFactor */
+ 26, /* field[26] = OrificeValveFlow */
+ 28, /* field[28] = OrificeValveMaxPressure */
+ 27, /* field[27] = OrificeValveSlope */
+ 12, /* field[12] = Orifice_Waste_Level_V0_ml */
+ 6, /* field[6] = PCB_Part_Number */
+ 4, /* field[4] = PCB_SN */
+ 82, /* field[82] = ProductionDate */
+ 9, /* field[9] = Production_Test_Date */
+ 7, /* field[7] = RunningHours */
+ 8, /* field[8] = SW_Reserve */
+ 56, /* field[56] = Sensor_type */
+ 1, /* field[1] = Table_Length */
+ 2, /* field[2] = Table_version */
+ 75, /* field[75] = Test */
+ 10, /* field[10] = TestPassFail */
+ 74, /* field[74] = Test_Date */
+ 80, /* field[80] = VOCInstallationDate */
+ 52, /* field[52] = VOC_Spare1 */
+ 53, /* field[53] = VOC_Spare2 */
+ 51, /* field[51] = VOC_limit */
+ 5, /* field[5] = WHS_Part_Number */
+ 3, /* field[3] = WHS_SN */
+ 62, /* field[62] = Warning_configuration_Par1 */
+ 63, /* field[63] = Warning_configuration_Par2 */
+ 64, /* field[64] = Warning_configuration_Par3 */
+ 65, /* field[65] = Warning_configuration_Par4 */
+ 66, /* field[66] = Warning_configuration_Par5 */
+ 67, /* field[67] = Warning_configuration_Par6 */
+ 68, /* field[68] = Warning_threshold */
+ 77, /* field[77] = Waste_Pump_Flow_V_per_sec_Limit */
+ 76, /* field[76] = Waste_Pump_Flow_volume_per_sec */
+ 13, /* field[13] = flow_calc_coefficient_C */
};
static const ProtobufCIntRange stub_whs_eeprom_data__number_ranges[1 + 1] =
{
{ 1, 0 },
- { 0, 19 }
+ { 0, 84 }
};
const ProtobufCMessageDescriptor stub_whs_eeprom_data__descriptor =
{
@@ -317,7 +1162,7 @@ const ProtobufCMessageDescriptor stub_whs_eeprom_data__descriptor =
"",
"",
sizeof(StubWhsEEpromData),
- 19,
+ 84,
stub_whs_eeprom_data__field_descriptors,
stub_whs_eeprom_data__field_indices_by_name,
1, stub_whs_eeprom_data__number_ranges,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubWhsEEpromData.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubWhsEEpromData.pb-c.h
index 61db1cc92..873abbfb2 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubWhsEEpromData.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubWhsEEpromData.pb-c.h
@@ -28,30 +28,157 @@ struct _StubWhsEEpromData
ProtobufCMessage base;
protobuf_c_boolean has_header;
uint32_t header;
- protobuf_c_boolean has_tablelength;
- uint32_t tablelength;
- protobuf_c_boolean has_tableversion;
- uint32_t tableversion;
- char *whsp_n;
- char *pcbs_n;
- char *pcbpartnumber;
- char *whss_n;
+ protobuf_c_boolean has_table_length;
+ uint32_t table_length;
+ protobuf_c_boolean has_table_version;
+ uint32_t table_version;
+ char *whs_sn;
+ char *pcb_sn;
+ char *whs_part_number;
+ char *pcb_part_number;
+ protobuf_c_boolean has_runninghours;
+ uint32_t runninghours;
+ protobuf_c_boolean has_sw_reserve;
+ uint32_t sw_reserve;
+ char *production_test_date;
+ char *testpassfail;
+ protobuf_c_boolean has_ats_location;
+ uint32_t ats_location;
+ protobuf_c_boolean has_orifice_waste_level_v0_ml;
+ double orifice_waste_level_v0_ml;
+ protobuf_c_boolean has_flow_calc_coefficient_c;
+ double flow_calc_coefficient_c;
protobuf_c_boolean has_orifice1flow;
double orifice1flow;
protobuf_c_boolean has_orifice1slope;
double orifice1slope;
+ protobuf_c_boolean has_orifice1maxpressure;
+ double orifice1maxpressure;
+ protobuf_c_boolean has_orifice1calibrationfactor;
+ double orifice1calibrationfactor;
protobuf_c_boolean has_orifice2flow;
double orifice2flow;
protobuf_c_boolean has_orifice2slope;
double orifice2slope;
+ protobuf_c_boolean has_orifice2maxpressure;
+ double orifice2maxpressure;
+ protobuf_c_boolean has_orifice2calibrationfactor;
+ double orifice2calibrationfactor;
protobuf_c_boolean has_orifice3flow;
double orifice3flow;
protobuf_c_boolean has_orifice3slope;
double orifice3slope;
+ protobuf_c_boolean has_orifice3maxpressure;
+ double orifice3maxpressure;
+ protobuf_c_boolean has_orifice3calibrationfactor;
+ double orifice3calibrationfactor;
protobuf_c_boolean has_orificevalveflow;
double orificevalveflow;
protobuf_c_boolean has_orificevalveslope;
double orificevalveslope;
+ protobuf_c_boolean has_orificevalvemaxpressure;
+ double orificevalvemaxpressure;
+ protobuf_c_boolean has_orificevalvecalibrationfactor;
+ double orificevalvecalibrationfactor;
+ protobuf_c_boolean has_fans_1_4_pwm_min_pct;
+ double fans_1_4_pwm_min_pct;
+ protobuf_c_boolean has_fans_1_4_rpm_pwm_min;
+ double fans_1_4_rpm_pwm_min;
+ protobuf_c_boolean has_fans_1_4_pwm_max_pct;
+ double fans_1_4_pwm_max_pct;
+ protobuf_c_boolean has_fans_1_4_rpm_pwm_max;
+ double fans_1_4_rpm_pwm_max;
+ protobuf_c_boolean has_fans_1_4_nom_pwm_pct;
+ double fans_1_4_nom_pwm_pct;
+ protobuf_c_boolean has_fans_1_4_nom_rpm;
+ double fans_1_4_nom_rpm;
+ protobuf_c_boolean has_fans_1_4_rpm_limit_pct_below_nom;
+ double fans_1_4_rpm_limit_pct_below_nom;
+ protobuf_c_boolean has_fans_1_4_pulse_per_revolution;
+ double fans_1_4_pulse_per_revolution;
+ protobuf_c_boolean has_fans_1_4_spare1;
+ double fans_1_4_spare1;
+ protobuf_c_boolean has_fans_1_4_spare2;
+ double fans_1_4_spare2;
+ protobuf_c_boolean has_fans_5_6_nom_rpm;
+ double fans_5_6_nom_rpm;
+ protobuf_c_boolean has_fans_5_6_rpm_limit_pct_below_nom;
+ double fans_5_6_rpm_limit_pct_below_nom;
+ protobuf_c_boolean has_fans_5_6_pulse_per_revolution;
+ double fans_5_6_pulse_per_revolution;
+ protobuf_c_boolean has_fans_5_6_spare1;
+ double fans_5_6_spare1;
+ protobuf_c_boolean has_fans_5_6_spare2;
+ double fans_5_6_spare2;
+ protobuf_c_boolean has_blower_p_gain;
+ double blower_p_gain;
+ protobuf_c_boolean has_blower_cfmrpm_min;
+ double blower_cfmrpm_min;
+ protobuf_c_boolean has_blower_rpm_cfm_max;
+ double blower_rpm_cfm_max;
+ protobuf_c_boolean has_blower_calibration_factor;
+ double blower_calibration_factor;
+ protobuf_c_boolean has_blower_spare1;
+ double blower_spare1;
+ protobuf_c_boolean has_blower_spare2;
+ double blower_spare2;
+ protobuf_c_boolean has_voc_limit;
+ double voc_limit;
+ protobuf_c_boolean has_voc_spare1;
+ double voc_spare1;
+ protobuf_c_boolean has_voc_spare2;
+ double voc_spare2;
+ protobuf_c_boolean has_controller_comm_type;
+ double controller_comm_type;
+ protobuf_c_boolean has_controller_type;
+ double controller_type;
+ protobuf_c_boolean has_sensor_type;
+ double sensor_type;
+ protobuf_c_boolean has_cooler_c_f;
+ double cooler_c_f;
+ protobuf_c_boolean has_cooler_sv;
+ double cooler_sv;
+ protobuf_c_boolean has_cooler_p;
+ double cooler_p;
+ protobuf_c_boolean has_cooler_i;
+ double cooler_i;
+ protobuf_c_boolean has_cooler_d;
+ double cooler_d;
+ protobuf_c_boolean has_warning_configuration_par1;
+ double warning_configuration_par1;
+ protobuf_c_boolean has_warning_configuration_par2;
+ double warning_configuration_par2;
+ protobuf_c_boolean has_warning_configuration_par3;
+ double warning_configuration_par3;
+ protobuf_c_boolean has_warning_configuration_par4;
+ double warning_configuration_par4;
+ protobuf_c_boolean has_warning_configuration_par5;
+ double warning_configuration_par5;
+ protobuf_c_boolean has_warning_configuration_par6;
+ double warning_configuration_par6;
+ protobuf_c_boolean has_warning_threshold;
+ double warning_threshold;
+ protobuf_c_boolean has_controller_spare1;
+ double controller_spare1;
+ protobuf_c_boolean has_controller_spare2;
+ double controller_spare2;
+ protobuf_c_boolean has_controller_spare3;
+ double controller_spare3;
+ protobuf_c_boolean has_controller_spare4;
+ double controller_spare4;
+ protobuf_c_boolean has_controller_spare5;
+ double controller_spare5;
+ protobuf_c_boolean has_test_date;
+ double test_date;
+ char *test;
+ protobuf_c_boolean has_waste_pump_flow_volume_per_sec;
+ double waste_pump_flow_volume_per_sec;
+ protobuf_c_boolean has_waste_pump_flow_v_per_sec_limit;
+ double waste_pump_flow_v_per_sec_limit;
+ protobuf_c_boolean has_filter_max_life_span;
+ double filter_max_life_span;
+ protobuf_c_boolean has_filter_usage_hours;
+ double filter_usage_hours;
char *vocinstallationdate;
char *filterinstallationdate;
char *productiondate;
@@ -60,7 +187,7 @@ struct _StubWhsEEpromData
};
#define STUB_WHS_EEPROM_DATA__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&stub_whs_eeprom_data__descriptor) \
- , 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, 0, 0 }
+ , 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, 0, 0 }
/* StubWhsEEpromData methods */
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c
index 78dc866da..27e2dd038 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c
@@ -682,8 +682,10 @@ bool waste_seq_cont_stop(void)
Report("------------ stop waste_seq_step1_cont -----------------", __FILE__, __LINE__, WasteControlId, RpMessage, 0, 0);
Trigger_SetWHS_VOC_Valve(CLOSE);
- RemoveControlCallback(WasteControlId, Trigger_ReadWHS_WasteContinouos );
- WasteControlId = 0xFF;
+ if (RemoveControlCallback(WasteControlId, Trigger_ReadWHS_WasteContinouos )==OK)
+ WasteControlId = 0xFF;
+ //else
+ // Report("Remove control callback failed",__FILE__,__LINE__,(int)WasteControlId,RpWarning,(int)waste_seq_step2,0);
return OK;
}
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/EEPROM/WHS_EEPROM.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/EEPROM/WHS_EEPROM.c
index 40d987039..0f5c0074d 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/EEPROM/WHS_EEPROM.c
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/EEPROM/WHS_EEPROM.c
@@ -290,10 +290,10 @@ uint32_t Get_EEPROM_DATA_From_WHS(StubWhsEEpromData *Whseeprom)
{
Whseeprom->has_header = true;
Whseeprom->header = WHS_Eeprom.bytes.Header;
- Whseeprom->has_tablelength = true;
- Whseeprom->tablelength = WHS_Eeprom.bytes.Table_Length;
- Whseeprom->has_tableversion = true;
- Whseeprom->tableversion = WHS_Eeprom.bytes.Table_version;
+ Whseeprom->has_table_length = true;
+ Whseeprom->table_length = WHS_Eeprom.bytes.Table_Length;
+ Whseeprom->has_table_version = true;
+ Whseeprom->table_version = WHS_Eeprom.bytes.Table_version;
Whseeprom->orifice1flow = WHS_Eeprom.bytes.Orifice_Waste_Level_V0_ml;
Whseeprom->has_orifice1flow = true;
/*Whseeprom->Whsp_n = my_malloc(sizeof(WHS_Eeprom.bytes.Whs_Part_Number));
@@ -369,8 +369,8 @@ uint32_t Prepare_WHS_DATA_For_Burning(StubWhsEEpromData *Whseeprom)
uint32_t status = OK;
WHS_Eeprom.bytes.Header = Whseeprom->header;
- WHS_Eeprom.bytes.Table_Length = Whseeprom->tablelength;
- WHS_Eeprom.bytes.Table_version = Whseeprom->tableversion;
+ WHS_Eeprom.bytes.Table_Length = Whseeprom->table_length;
+ WHS_Eeprom.bytes.Table_version = Whseeprom->table_version;
WHS_Eeprom.bytes.Orifice_Waste_Level_V0_ml = Whseeprom->orifice1flow;
/* WHS_Eeprom.bytes.Maximal_Pressure = Whseeprom->maximalpressure;
WHS_Eeprom.bytes.Minimal_MV = Whseeprom->minimalmv;
diff --git a/Software/Embedded_SW/Embedded/Drivers/USB_Communication/USBCDCD.c b/Software/Embedded_SW/Embedded/Drivers/USB_Communication/USBCDCD.c
index 4fe623e5a..8b4445146 100644
--- a/Software/Embedded_SW/Embedded/Drivers/USB_Communication/USBCDCD.c
+++ b/Software/Embedded_SW/Embedded/Drivers/USB_Communication/USBCDCD.c
@@ -990,13 +990,20 @@ unsigned int USBCDCD_sendData(const unsigned char *_pBuff,
unsigned int _length,
unsigned int _timeout)
{
+ int len = 0;
uint8_t size[4];
size[3] = (_length>>24) & 0xFF;
size[2] = (_length>>16) & 0xFF;
size[1] = (_length>>8) & 0xFF;
size[0] = _length & 0xFF;
- USBBufferWrite((tUSBBuffer *)&txBuffer, size, 4);
+ len = USBBufferWrite((tUSBBuffer *)&txBuffer, size, 4);
+ /*if (len == 0)
+ {
+ USBRingBufFlush(&(txBuffer.sPrivateData.sRingBuf));
+ len = USBBufferWrite((tUSBBuffer *)&txBuffer, size, 4);
+ }*/
+
return USBBufferWrite((tUSBBuffer *)&txBuffer, (uint8_t*)_pBuff, _length);
}
diff --git a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h
index d0505e650..3ad399159 100644
--- a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h
+++ b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h
@@ -41,6 +41,7 @@ typedef enum {
EEPROM_WASTE_TANK_ZERO_VALUE,
EEPROM_PULLER_TENSION_POSITION,
EEPROM_WINDER_TENSION_POSITION,
+ EEPROM_INIT_FAILURE_COUNTER,
MAX_EEPROM_STORAGE
}EEPROM_STORAGE_USAGE_ENUM;
#define MAX_SERIAL_NUM_LEN 5 //5*4 bytes
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
index e2e006ba6..d334c9001 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
@@ -779,10 +779,6 @@ uint32_t MillisecLowLoop(uint32_t tick)
midtankDisplay = 1-midtankDisplay;
/*if (WHS_Type == WHS_TYPE_UNKNOWN)
Gas_PPM_Info = Calculate_Gas_Power_Consumption();*/
- if (WHS_Type == WHS_TYPE_NEW)
- {
- waste_seq_step1();// include 1Sec delay <- to open !!!!
- }
// ReportWithPackageFilter(ThreadFilter,"waste tank calculate level",__FILE__,__LINE__,(int)(GetWHSWasteTankLevelMiliLiter()*1000),RpWarning,(int) msec_millisecondCounter,0);
//Trigger_WHS_MAX11614_Read_allADC();
#ifdef CONTROL_DEBUG
@@ -799,6 +795,10 @@ uint32_t MillisecLowLoop(uint32_t tick)
PumpCounter = 0;
}
MidTankReading();
+ if (WHS_Type == WHS_TYPE_NEW)
+ {
+ waste_seq_step1();// include 1Sec delay <- to open !!!!
+ }
}
//ROM_IntMasterEnable();
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
index 71475ca41..3f9811636 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
@@ -47,6 +47,7 @@
#include <PMR/debugging/DebugLogCategory.pb-c.h>
#include "StateMachines/Printing/PrintingSTM.h"
+#include "StateMachines/Initialization/InitSequence.h"
#include <drivers/FPGA/FPGA_Comm.h>
@@ -129,7 +130,7 @@ DoubleArray DiagnosticsMidTankInkLevel[MAX_SYSTEM_DISPENSERS];
HeaterState **heatersstates;
HeaterState HeaterInfo[HEATER_TYPE_MAX_HEATERS];
-#define NUM_OF_INTERFACE_IOS 23
+#define NUM_OF_INTERFACE_IOS 26
DigitalInterfaceState **digitalinterfacestates;
DigitalInterfaceState DigitalOutputState[NUM_OF_INTERFACE_IOS];
/*double dispenser1motorfrequency[DIAGNOSTICS_LIMIT+1];
@@ -339,6 +340,15 @@ uint32_t DiagnosticsLoadDigitalValues(void)
DigitalOutputState[index].interfaceio = INTERFACE_IOS__GPO_TFEED_BREAK_1; /*Secondary Pump Active*/
DigitalOutputState[index++].value = SecondaryPumpActive;
+ DigitalOutputState[index].interfaceio = INTERFACE_IOS__CART1; /*Secondary Pump Active*/
+ DigitalOutputState[index++].value = IFS_CartridgeLowerPresent();
+
+ DigitalOutputState[index].interfaceio = INTERFACE_IOS__CART2; /*Secondary Pump Active*/
+ DigitalOutputState[index++].value = WHS_WasteCartridgeMiddlePresent();
+
+ DigitalOutputState[index].interfaceio = INTERFACE_IOS__CART3; /*Secondary Pump Active*/
+ DigitalOutputState[index++].value = WHS_WasteCartridgeLowerPresent();
+
return index;
}
void DiagnosticLoadTemperature(int HeaterId, int temperature)
@@ -724,8 +734,18 @@ void DiagnosticOneSecCollection(void)
tempFlow = HeadFlowMeter;
}
WasteLevel = GetWHSWasteTankLevelMiliLiter();
+ static double InitCounter = 0;
+ if (GetMachineState()<MACHINE_STATE_NO_PROCESS_PARAMS)
+ {
+ InitCounter+=1.0;
+ DiagnosticsMonitor.chillertemperature = &InitCounter;
+
+ }
+ else
+ {
+ DiagnosticsMonitor.chillertemperature = &WasteLevel;
+ }
DiagnosticsMonitor.n_chillertemperature = 1;
- DiagnosticsMonitor.chillertemperature = &WasteLevel;
DiagnosticsMonitor.n_wastelevel = 1;
DiagnosticsMonitor.wastelevel = &WasteLevel;
}
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
index 6782a8ecb..49058c359 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
@@ -150,7 +150,7 @@ uint32_t MotorHomingRequestFunc(MessageContainer* requestContainer)
direction = DRIER_LID_OPEN;
}
Report("MotorHomingRequestFunc Dryer lid open",__FILE__,MotorDriverResponse[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID].DriverType,DRIER_LID_OPEN,RpMessage,GPI_LS_DRYER_LID_OPEN,0);
- MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID, direction, GPI_LS_DRYER_LID_OPEN, MotorHomingRequestCallback,4000);
+ MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID, direction, GPI_LS_DRYER_LID_OPEN, MotorHomingRequestCallback,10000);
status = OK;
}
else
@@ -198,7 +198,7 @@ uint32_t MotorHomingRequestFunc(MessageContainer* requestContainer)
direction = DRIER_LID_CLOSE;
}
Report("MotorHomingRequestFunc Dryer lid close",__FILE__,MotorDriverResponse[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID].DriverType,DRIER_LID_CLOSE,RpMessage,GPI_LS_DRYER_LID_CLOSED,0);
- MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID, direction, GPI_LS_DRYER_LID_CLOSED, MotorHomingRequestCallback,4000);
+ MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID, direction, GPI_LS_DRYER_LID_CLOSED, MotorHomingRequestCallback,10000);
status = OK;
}
else
diff --git a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
index 146c62bb6..28ad81a6c 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
@@ -56,6 +56,16 @@ int MachineUpdateResponseFunc(void)
MachineStatus.state = StoredMachineStatus;
MachineStatus.n_idspackslevels = 0;
MachineStatus.idspackslevels = (IDSPackLevel**)my_malloc(sizeof(IDSPackLevel *)*8);
+ MachineStatus.has_spoolstate = true;
+ if (FPGA_Read_limit_Switches(GPI_SW_SPOOL_EXISTS)==LIMIT)
+ {
+ MachineStatus.spoolstate = SPOOL_STATE__Absent;
+ }
+ else
+ {
+ MachineStatus.spoolstate = SPOOL_STATE__Present;
+
+ }
if (MachineStatus.idspackslevels)
{
for (i = 0; i<MAX_SYSTEM_DISPENSERS;i++)
diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
index 6c7bb087f..5af90c3d1 100644
--- a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
+++ b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
@@ -30,6 +30,11 @@ bool IFS_TimeOutAlarm(bool status);
bool ColorMatch();
bool MidTankValvesAction(bool action);
+bool IFS_CartridgeLowerPresent()
+{
+ return IFS_info.IFS_Ink_precense_sensor;
+}
+
bool IFS_MidTankFilling(void)
{
return (IFS_info.Ink.time_out > 0);
@@ -60,7 +65,7 @@ void IFS_Init(void)
* @return bool ret OK = 0 , CartridgeFinished = 1
*/
#define CARTRIDGE_EMPTY_QUANTITY_LIMIT 10
-#define CARTRIDGE_EMPTY_CALCULATION_TIME 6
+#define CARTRIDGE_EMPTY_CALCULATION_TIME 12
bool DetectIfCartridgeFinished(int int_MidTank_Pressure_1000)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h
index 5304edd93..e89efdb13 100644
--- a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h
+++ b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h
@@ -55,6 +55,8 @@ void ResponseDemo(int MidtankId);
bool IFS_MidTankFilling(void);
MidTank_t IFS_MidTankIsActive(void);
+bool IFS_CartridgeLowerPresent();
+
bool CartridgeValidationResponseFunc(MessageContainer* requestContainer);
uint32_t MidTankReading(void);
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
index 19392c754..2ad58ea0a 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
@@ -108,7 +108,7 @@
float numberOfSteps = 0;
float numberOfCycles = 0;
double DrierPrevLocation = 0;
- FPGA_GPI_ENUM screw[2] = {GPI_LS_SCREW_LEFT,GPI_LS_SCREW_RIGHT};
+ FPGA_GPI_ENUM screw[2] = {GPI_LS_SCREW_RIGHT,GPI_LS_SCREW_LEFT};
int Screw_Dir = false;
bool InitCalled = false;
uint32_t LoadArmRounds;
@@ -326,10 +326,19 @@
MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_DH_LID,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DH_LID].directionthreadwize, 200, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_DH_LID], Thread_Load_HomingCallback,10000);
CallbackCounter++;
//MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID].directionthreadwize, 200, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID], Thread_Load_HomingCallback,10000);
- MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID, 0, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID], Thread_Load_HomingCallback,10000);
+ int direction;
+ if (MotorDriverResponse[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID].DriverType == CombinrdMotDriver)//reverse direction for powerstep
+ {
+ direction = DRIER_LID_CLOSE;
+ }
+ else
+ {
+ direction = DRIER_LID_OPEN;
+ }
+ MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID, direction, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID], Thread_Load_HomingCallback,10000);
Report("Thread_Load_Lift_actuators",__FILE__,__LINE__,LOW,RpMessage,false,0);
- Trigger_Head_Actuators_Control(ACTOT, LOW,false);
- Trigger_Head_Actuators_Control(ACTIN, LOW,false);
+ Trigger_Head_Actuators_Control(ACTOT, LOW,true);
+ Trigger_Head_Actuators_Control(ACTIN, LOW,true);
return OK;
}
uint32_t Thread_Load_Lift_Dancers(void)
@@ -450,10 +459,19 @@
MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_DH_LID,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DH_LID].directionthreadwize, 200, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_DH_LID], Thread_Load_HomingCallback,10000);
CallbackCounter++;
// MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID].directionthreadwize, 200, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID], Thread_Load_HomingCallback,10000);
- MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID, 2, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID], Thread_Load_HomingCallback,10000);
+ int direction;
+ if (MotorDriverResponse[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID].DriverType == CombinrdMotDriver)//reverse direction for powerstep
+ {
+ direction = DRIER_LID_OPEN;
+ }
+ else
+ {
+ direction = DRIER_LID_CLOSE;
+ }
+ MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID, direction, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID], Thread_Load_HomingCallback,10000);
Report("Thread_Load_Close_actuators",__FILE__,__LINE__,LOW,RpMessage,true,0);
- Trigger_Head_Actuators_Control(ACTOT, LOW,true);
- Trigger_Head_Actuators_Control(ACTIN, LOW,true);
+ Trigger_Head_Actuators_Control(ACTOT, LOW,false);
+ Trigger_Head_Actuators_Control(ACTIN, LOW,false);
return OK;
}
uint32_t Thread_Load_Resume_Heating(void)
@@ -575,7 +593,7 @@
}
else
{
- MotorMovetoEncoderPosition(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM,Thread_Load_Dryer_MovetoEncoderPosition_Callback,10000);
+ MotorMovetoEncoderPosition(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM,Thread_Load_Dryer_MovetoEncoderPosition_Callback,30000);
MCU_E2PromProgram(EEPROM_STORAGE_DRYER_CYCLES,numberOfCycles);
Report("Store Number of cycles in drier",__FILE__,__LINE__,numberOfCycles,RpMessage,LoadArmRounds,0);
}
@@ -652,7 +670,8 @@
MotorControlConfig[FEEDER_MOTOR].m_SetParam = 0;//need to update SetParams on presegment stage
MotorSetDirection(HARDWARE_MOTOR_TYPE__MOTO_RDRIVING,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDRIVING].directionthreadwize);
- MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM, MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].pulseperround/4*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].pulleyradius);
+ MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM, MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].pulseperround/6*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].pulleyradius);
+ //6 seconds per round
LoadingControlId = AddControlCallback(NULL,ThreadLoadControlCBFunction, eOneMillisecond,Control_Read_Dancer_Position,(IfTypeThread*0x100+FEEDER_MOTOR),FEEDER_DANCER,FEEDER_MOTOR);
Report("AddControlCallback feeder",__FILE__,__LINE__,LoadingControlId,RpMessage,IfTypeThread*0x100+FEEDER_MOTOR,0);
@@ -670,7 +689,7 @@
CallbackCounter++;
Report("Thread_Load_Dryer_Loading",__FILE__,__LINE__,LoadStages,RpMessage,CallbackCounter,0);
MotorMoveWithCallback (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM, MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].directionthreadwize,
- numberOfSteps-400, Thread_Load_Dryer_Loading_Callback, 10000);
+ numberOfSteps-800, Thread_Load_Dryer_Loading_Callback, 10000);
return OK;
}
uint32_t Thread_Load_Jog_ThreadStop(uint32_t index, uint32_t ReadValue)
@@ -767,11 +786,11 @@
if (numberOfCycles<LoadArmRounds)
{
MotorMoveWithCallback (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM, 1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].directionthreadwize,
- numberOfSteps, Thread_Load_Dryer_UnLoading_Callback, 30000);
+ numberOfSteps, Thread_Load_Dryer_UnLoading_Callback, 10000);
}
else //done enough cycles, go to the center point
{
- MotorMovetoEncoderPosition(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM,Thread_Load_Set_Load_Arm_To_Stopper_Callback,10000);
+ MotorMovetoEncoderPosition(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM,Thread_Load_Set_Load_Arm_To_Stopper_Callback,30000);
MCU_E2PromProgram(EEPROM_STORAGE_DRYER_CYCLES,LoadArmRounds-numberOfCycles);
Report("Store Number of cycles in drier",__FILE__,__LINE__,numberOfCycles,RpMessage,LoadArmRounds,0);
}
@@ -890,15 +909,19 @@
else
{
MCU_E2PromRead(EEPROM_STORAGE_DRYER_CYCLES,&LoadArmRounds);
+ if (LoadArmRounds == 0) //prev trial stopped
+ {
+ LoadArmRounds = (int)dryerbufferlength;
+ }
}
MCU_E2PromRead(EEPROM_STORAGE_DRYER_CENTER,&temp);
DrierPrevLocation = temp;
Report("Thread_Load_Set_Load_Arm_To_Start_Position",__FILE__,UnloadingStart,DrierPrevLocation,RpMessage, LoadArmRounds,0);
- MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM, MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].pulseperround/4*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].pulleyradius);
+ MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM, MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].pulseperround/6*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].pulleyradius);
// status |= MotorMoveToStopper(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM, (1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].directionthreadwize),
// MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].pulseperround/4, Thread_Load_Set_Load_Arm_To_Stopper_Callback,0,1000);
MotorMoveWithCallback (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM, 1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].directionthreadwize,
- numberOfSteps-400, Thread_Load_Dryer_UnLoading_Callback, 30000);
+ numberOfSteps-800, Thread_Load_Dryer_UnLoading_Callback, 10000);
Screw_Dir = 1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].directionthreadwize;
@@ -1204,15 +1227,15 @@ bool ThreadLoaded(void)
ReadValue = Control_Read_Dancer_Position(FEEDER_DANCER,0);
FeederValue = ReadValue - DancersCfg[FEEDER_DANCER].zeropoint;
- Report("Feeder out",__FILE__,FeederValue,ReadValue,RpWarning,(int)DancersCfg[FEEDER_DANCER].zeropoint,0);
+ Report("Feeder out",__FILE__,abs(FeederValue),ReadValue,RpWarning,(int)DancersCfg[FEEDER_DANCER].zeropoint,0);
ReadValue = Control_Read_Dancer_Position(WINDER_DANCER,0);
WinderValue = ReadValue - DancersCfg[WINDER_DANCER].zeropoint;
- Report("Winder out",__FILE__,WinderValue,ReadValue,RpWarning,(int)DancersCfg[WINDER_DANCER].zeropoint,0);
+ Report("Winder out",__FILE__,abs(WinderValue),ReadValue,RpWarning,(int)DancersCfg[WINDER_DANCER].zeropoint,0);
ReadValue = Control_Read_Dancer_Position(POOLER_DANCER,0);
PoolerValue = ReadValue - DancersCfg[POOLER_DANCER].zeropoint;
//pooler dancer is right sided: data is opposite
PoolerValue = (-1*PoolerValue);
- Report("Puller out",__FILE__,PoolerValue,ReadValue,RpWarning,(int)DancersCfg[POOLER_DANCER].zeropoint,0);
+ Report("Puller out",__FILE__,abs(PoolerValue),ReadValue,RpWarning,(int)DancersCfg[POOLER_DANCER].zeropoint,0);
if (((PoolerValue)<(-1200))&&((WinderValue)<(-1200))&&((FeederValue)<(-1200)))
{
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
index 41ef9e480..9ee2e1f37 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
@@ -149,9 +149,12 @@ uint32_t Winder_Prepare(void *JobDetails)
if (FPGA_Read_limit_Switches(GPI_SW_SPOOL_EXISTS)==LIMIT)
{
REPORT_MSG(LIMIT, "No cone in winder");
- //PrepareReady(Module_Winder,ModuleFail);
- //AlarmHandlingSetAlarm(EVENT_TYPE__WINDER_CONE_DOES_NOT_EXIST,true);
- //return ERROR;
+ if (Is_PP_Machine())
+ {
+ PrepareReady(Module_Winder,ModuleFail);
+ AlarmHandlingSetAlarm(EVENT_TYPE__WINDER_CONE_DOES_NOT_EXIST,true);
+ return ERROR;
+ }
}
#ifdef READ_SCREW_ENCODER
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
index f011e8a1f..906a0d458 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
@@ -458,10 +458,10 @@ U8 CartridgeWasteFilling(bool status)
}
/* ------read waste tank sensors ----------- */
-#define WASTE_CARTRIDGE_SIZE 1.5
-#define WASTE_LEVEL_OVERFLOW 4.0
-#define WASTE_LEVEL_FULL 3.5
-#define WASTE_LEVEL_EMPTY 2.10
+#define WASTE_CARTRIDGE_SIZE 1500
+#define WASTE_LEVEL_OVERFLOW 4000
+#define WASTE_LEVEL_FULL 3500
+#define WASTE_LEVEL_EMPTY 2100
double WasteLevelOverflow = WASTE_LEVEL_OVERFLOW;
double WasteLevelFull = WASTE_LEVEL_FULL;
double WasteLevelEmpty = WASTE_LEVEL_EMPTY;
@@ -493,7 +493,7 @@ bool RdWasteTankEmptySensor()
bool RdWasteTankFullSensor()
{
double WasteLevel = 0.0;
- bool ret = notOK;
+ bool ret = SENSORnotFULL;
//WHS_Read_GPI_Registers();
//WHS_info.WHS_sensors.waste_tank_full_sensor = WHS_GPI_WCONTAINER_FULL();
//ret = WHS_info.WHS_sensors.waste_tank_full_sensor;
@@ -504,8 +504,8 @@ bool RdWasteTankFullSensor()
else //new WHS
{
WasteLevel = GetWHSWasteTankLevelMiliLiter();
- if (WasteLevel < WasteLevelFull)
- ret = OK;
+ if (WasteLevel >= WasteLevelFull)
+ ret = SENSORFULL;
}
return ret;
}
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c
index 3511338e4..d8367316b 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c
@@ -100,14 +100,29 @@ void StopInitSequence(void)
uint32_t InitSequenceCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag)
{
MACHINE_STATE_STAGES_ENUM status;
+ int InitFailures = 0;
if (SafeRemoveControlCallback(HWControlId, InitSequenceCallBackFunction )==OK)
HWControlId = 0xFF;
else
Report("Remove control callback failed",__FILE__,__LINE__,(int)HWControlId,RpWarning,(int)InitSequenceCallBackFunction,0);
+ MCU_E2PromRead(EEPROM_INIT_FAILURE_COUNTER,&InitFailures);
+ if (InitFailures > 100)
+ {
+ InitFailures = 0;
+ MCU_E2PromProgram(EEPROM_INIT_FAILURE_COUNTER,0);
+ }
+ if (InitFailures > 3)
+ {
+ Report("HWConfigurationInit repeated failure",__FILE__,__LINE__,(int)InitFailures,RpWarning,(int)EEPROM_INIT_FAILURE_COUNTER,0);
+ SetMachineState(status);
+ AlarmHandlingSetAlarm (EVENT_TYPE__MACHINE_STATE_HW_CONFIG_FAILED,ON);
+ SetMachineStatus(MACHINE_STATE__Error);
+ return ERROR;
+ }
status = (MACHINE_STATE_STAGES_ENUM)HWConfigurationInit();
if (status == OK)
{
- ActivateHeadMagnet();
+ //ActivateHeadMagnet();
InitStages++;
//InitSequenceStateMachine(InitStages);
}
@@ -158,6 +173,7 @@ void InitSequenceBuiltInTestCallBack(uint32_t IfIndex, uint32_t BusyFlag)
InitStages++;
//InitSequenceStateMachine(InitStages);
AlarmHandlingSetAlarm(EVENT_TYPE__POWER_UP_BIT_FAILURE,false);
+ MCU_E2PromProgram(EEPROM_INIT_FAILURE_COUNTER,0);
}
else
{
@@ -227,6 +243,8 @@ uint32_t InitSequenceBlowerCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag)
WHS_Set_SetPoint_Q_value(headairflow/2);
AlarmHandlingSetAlarm (EVENT_TYPE__MACHINE_STATE_INITIAL_BLOWER_FAILED,OFF); //handle alarm detection and operation
+ waste_seq_step1();// include 1Sec delay <- to open !!!!
+
Safety_Init();
InitStages++;
//InitSequenceStateMachine(InitStages);
@@ -422,6 +440,13 @@ uint32_t InitSequenceInitialBlowerActivation(void)
ReportWithPackageFilter(InitFilter,"store initial orifice 3 value", __FILE__,EEPROM_ORIFICE3_ZERO_VALUE,total3, RpMessage, ZeroValue, 0);
WHS_MAX11614_Load_OrificeZeroValue(total1,total3);
}
+ else
+ {
+ MCU_E2PromRead(EEPROM_ORIFICE1_ZERO_VALUE,&total1);
+ MCU_E2PromRead(EEPROM_ORIFICE3_ZERO_VALUE,&total3);
+ ReportWithPackageFilter(InitFilter,"load initial values from EEPROM", __FILE__,__LINE__,total3, RpMessage, total1, 0);
+ WHS_MAX11614_Load_OrificeZeroValue(total1,total3);
+ }
}
Voc_Sensor_Zero_Calibration();