From 54ac8e72cb5f1b0989429f5b9f3973dca06f7e43 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Sun, 2 Sep 2018 15:18:09 +0300 Subject: some de --- Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c | 2 +- .../Embedded_SW/Embedded/Communication/CommunicationTask.c | 2 +- Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c | 5 +++-- Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c | 2 +- Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c | 11 +++++++---- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c index 10b496573..819abbdbb 100644 --- a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c +++ b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c @@ -20,7 +20,7 @@ typedef struct } TangoVersion_t; -TangoVersion_t _gTangoVersion = {001,000,000,001}; +TangoVersion_t _gTangoVersion = {001,000,002,002}; #define BUILD_DATE __DATE__ char Dat[50] = BUILD_DATE; char _gTangoName [MAX_STRING_LEN] = "Tango01 ";//d diff --git a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c index b0b5115a2..40a4c73fe 100644 --- a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c +++ b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c @@ -66,7 +66,7 @@ uint32_t initArray(size_t initialSize) else { SerialBufferUsed[i] = true; - inBuffer[i].buffer = CommRxBuffer; + inBuffer[i].buffer = &CommShortRxBuffer[i]; inBuffer[i].used = 0; inBuffer[i].size = initialSize; return i; diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index c40d018c3..924bd9e86 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -444,7 +444,8 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) } if (HeaterCmd[index].targettemperatue == 0) { - LOG_ERROR (0, "unconfigured"); + DeActivateHeater(index); + //LOG_ERROR (0, "unconfigured"); return ERROR; } // check if the read value is within the proportional band @@ -523,7 +524,7 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) if (HeaterCmd[index].targettemperatue == 0) { DeActivateHeater(index); - LOG_ERROR (index, "unconfigured"); + //LOG_ERROR (index, "unconfigured"); return ERROR; } /* diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c index bb552211c..ecb2d5396 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c @@ -284,7 +284,7 @@ uint32_t IDSPreSegmentState(void *JobDetails, int SegmentId) DispenserSegmentReady[DispenserId] = false; Control3WayValvesWithCallback (DispenserId, Dispenser_Mixer, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer MotorSetSpeed(HW_Motor_Id, segmentfirst_speed); - usnprintf(Message, 80, "Dispenser %d nl/sec %f nl/pulse %f speed %d",Dispenser_i,JobTicket->segments[CurrentSegment]->brushstops[JobBrushStopId]->dispensers[Dispenser_i]->nanolitterpersecond, + usnprintf(Message, 80, "Dispenser %d nl/sec %d nl/pulse %d speed %d",Dispenser_i,JobTicket->segments[CurrentSegment]->brushstops[JobBrushStopId]->dispensers[Dispenser_i]->nanolitterpersecond, JobTicket->segments[CurrentSegment]->brushstops[JobBrushStopId]->dispensers[Dispenser_i]->nanoliterperpulse,segmentfirst_speed); //LOG_ERROR(segmentfirst_speed,Message); //Report(Message,__FILE__,__LINE__,Dispenser_i,RpWarning,segmentfirst_speed,0); diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c index 7a3771de9..f1e2629aa 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c @@ -407,16 +407,19 @@ void SendJobProgress(double ProcessedLength, int SegmentId, bool done, char *Mes uint8_t* container_buffer; // - strcpy (infomsg,Message); int len; static msdid = 0; - int length = (int)ProcessedLength; - len = usnprintf(logmsg, 254, "MSG: Job Progress Length %f, Seg %d Done %d ",ProcessedLength, SegmentId, done); + int length = (int)(ProcessedLength*100); + len = usnprintf(logmsg, 254, "MSG: Job Progress Length %d, Seg %d Done %d ",length, SegmentId, done); //REPORT_MSG(msdid++,logmsg); Report(logmsg,__FILE__,__LINE__,SegmentId,RpWarning,SegmentId, done); - Report(infomsg,__FILE__,__LINE__,55,RpWarning,33, 44); + if (Message) + { + strcpy (infomsg,Message); + Report(infomsg,__FILE__,__LINE__,55,RpWarning,33, 44); + } if (JobToken[0] == 0) return; -- cgit v1.3.1 From 445138f59ed98da475d4a15a0aeb01a21c22a7d5 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Sun, 2 Sep 2018 16:56:18 +0300 Subject: new device info, digital output removed, new PMR --- .../Embedded/Communication/Connection.c | 30 + .../PMR/Connection/DeviceInformation.pb-c.c | 71 +- .../PMR/Connection/DeviceInformation.pb-c.h | 7 +- .../PMR/Diagnostics/DigitalInterfaceState.pb-c.c | 105 +++ .../PMR/Diagnostics/DigitalInterfaceState.pb-c.h | 75 +++ .../PMR/Diagnostics/InterfaceIOs.pb-c.c | 727 +++++++++++++++++++++ .../PMR/Diagnostics/InterfaceIOs.pb-c.h | 388 +++++++++++ .../PMR/Diagnostics/SetDigitalOutRequest.pb-c.c | 12 +- .../PMR/Diagnostics/SetDigitalOutRequest.pb-c.h | 7 +- .../Diagnostics/StartDiagnosticsResponse.pb-c.c | 10 +- .../Diagnostics/StartDiagnosticsResponse.pb-c.h | 6 +- .../Modules/Diagnostics/DiagnosticActions.c | 4 +- .../Embedded/Modules/Diagnostics/Diagnostics.c | 2 +- .../Modules/Diagnostics/DiagnosticsHoming.c | 2 +- .../Embedded_SW/Embedded/Modules/IDS/IDS_print.c | 3 +- .../Modules/Stubs_Handler/Stub_HW_Version.c | 6 +- .../Modules/Stubs_Handler/Stub_HW_Version.h | 1 + 17 files changed, 1426 insertions(+), 30 deletions(-) create mode 100644 Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DigitalInterfaceState.pb-c.c create mode 100644 Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DigitalInterfaceState.pb-c.h create mode 100644 Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.c create mode 100644 Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.h diff --git a/Software/Embedded_SW/Embedded/Communication/Connection.c b/Software/Embedded_SW/Embedded/Communication/Connection.c index 579b429ee..0b539b276 100644 --- a/Software/Embedded_SW/Embedded/Communication/Connection.c +++ b/Software/Embedded_SW/Embedded/Communication/Connection.c @@ -18,12 +18,14 @@ #include "Common/SW_Info/SW_Info.h" #include "Common/report/report.h" #include +#include "drivers/FPGA/FPGA.h" #include "StateMachines/Printing/PrintingSTM.h" #include "Modules/heaters/heaters_ex.h" #include "modules/Diagnostics/Diagnostics.h" #include "Modules/AlarmHandling/AlarmHandling.h" +#include "Modules/Stubs_Handler/Stub_HW_Version.h" void ConnectionRequest(MessageContainer* requestContainer) @@ -34,7 +36,17 @@ void ConnectionRequest(MessageContainer* requestContainer) DeviceInformation DevInfo = DEVICE_INFORMATION__INIT; ConnectResponse response = CONNECT_RESPONSE__INIT; + unsigned char Major = 0; + unsigned char Year = 0 ; + unsigned char Month = 0; + unsigned char Day = 0; + char Version[20] = {0}; + char FPGA1Version[20] = {0}; + char FPGA2Version[20] = {0}; + char FPGA3Version[20] = {0}; + char BoardVersion[20] = {0}; + char AssyVersion[20] = {0}; response.deviceinformation = &DevInfo; /* extern TangoVersion_t _gTangoVersion; @@ -46,6 +58,24 @@ void ConnectionRequest(MessageContainer* requestContainer) usnprintf(Version, 20, "%d.%d.%d.%d",_gTangoVersion.m_major,_gTangoVersion.m_minor,_gTangoVersion.m_patch,_gTangoVersion.m_build); DevInfo.version = Version; + FPGA_ReadVersion(0, &Major, &Year, &Month, &Day); + usnprintf(FPGA1Version, 20, "%d.%d.%d.%d",Major,Year, Month, Day); + DevInfo.fpga1version = FPGA1Version; + + FPGA_ReadVersion(1, &Major, &Year, &Month, &Day); + usnprintf(FPGA2Version, 20, "%d.%d.%d.%d",Major,Year, Month, Day); + DevInfo.fpga2version = FPGA1Version; + + FPGA_ReadVersion(2, &Major, &Year, &Month, &Day); + usnprintf(FPGA3Version, 20, "%d.%d.%d.%d",Major,Year, Month, Day); + DevInfo.fpga3version = FPGA1Version; + + Read_HW_Version(BoardVersion, AssyVersion); + + DevInfo.boardrevision = BoardVersion; + DevInfo.assemblyversion = AssyVersion; + + responseContainer = createContainer(MESSAGE_TYPE__ConnectResponse, requestContainer->token, true, &response, &connect_response__pack, &connect_response__get_packed_size); //------------------------------------------------------------------------------------------- diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Connection/DeviceInformation.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Connection/DeviceInformation.pb-c.c index 2ecae726e..5b2ee44ac 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Connection/DeviceInformation.pb-c.c +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Connection/DeviceInformation.pb-c.c @@ -52,7 +52,7 @@ void device_information__free_unpacked assert(message->base.descriptor == &device_information__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -static const ProtobufCFieldDescriptor device_information__field_descriptors[3] = +static const ProtobufCFieldDescriptor device_information__field_descriptors[8] = { { "Name", @@ -90,16 +90,81 @@ static const ProtobufCFieldDescriptor device_information__field_descriptors[3] = 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "BoardRevision", + 4, + PROTOBUF_C_LABEL_OPTIONAL, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(DeviceInformation, boardrevision), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "AssemblyVersion", + 5, + PROTOBUF_C_LABEL_OPTIONAL, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(DeviceInformation, assemblyversion), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "FPGA1Version", + 6, + PROTOBUF_C_LABEL_OPTIONAL, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(DeviceInformation, fpga1version), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "FPGA2Version", + 7, + PROTOBUF_C_LABEL_OPTIONAL, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(DeviceInformation, fpga2version), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "FPGA3Version", + 8, + PROTOBUF_C_LABEL_OPTIONAL, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(DeviceInformation, fpga3version), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; static const unsigned device_information__field_indices_by_name[] = { + 4, /* field[4] = AssemblyVersion */ + 3, /* field[3] = BoardRevision */ 2, /* field[2] = BuildDate */ + 5, /* field[5] = FPGA1Version */ + 6, /* field[6] = FPGA2Version */ + 7, /* field[7] = FPGA3Version */ 0, /* field[0] = Name */ 1, /* field[1] = Version */ }; static const ProtobufCIntRange device_information__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 8 } }; const ProtobufCMessageDescriptor device_information__descriptor = { @@ -109,7 +174,7 @@ const ProtobufCMessageDescriptor device_information__descriptor = "DeviceInformation", "", sizeof(DeviceInformation), - 3, + 8, device_information__field_descriptors, device_information__field_indices_by_name, 1, device_information__number_ranges, diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Connection/DeviceInformation.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Connection/DeviceInformation.pb-c.h index 521c77424..6e31d30d0 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Connection/DeviceInformation.pb-c.h +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Connection/DeviceInformation.pb-c.h @@ -29,10 +29,15 @@ struct _DeviceInformation char *name; char *version; char *builddate; + char *boardrevision; + char *assemblyversion; + char *fpga1version; + char *fpga2version; + char *fpga3version; }; #define DEVICE_INFORMATION__INIT \ { PROTOBUF_C_MESSAGE_INIT (&device_information__descriptor) \ - , NULL, NULL, NULL } + , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL } /* DeviceInformation methods */ diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DigitalInterfaceState.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DigitalInterfaceState.pb-c.c new file mode 100644 index 000000000..6e7a7e462 --- /dev/null +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DigitalInterfaceState.pb-c.c @@ -0,0 +1,105 @@ +/* Generated by the protocol buffer compiler. DO NOT EDIT! */ +/* Generated from: DigitalInterfaceState.proto */ + +/* Do not generate deprecated warnings for self */ +#ifndef PROTOBUF_C__NO_DEPRECATED +#define PROTOBUF_C__NO_DEPRECATED +#endif + +#include "DigitalInterfaceState.pb-c.h" +void digital_interface_state__init + (DigitalInterfaceState *message) +{ + static const DigitalInterfaceState init_value = DIGITAL_INTERFACE_STATE__INIT; + *message = init_value; +} +size_t digital_interface_state__get_packed_size + (const DigitalInterfaceState *message) +{ + assert(message->base.descriptor == &digital_interface_state__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t digital_interface_state__pack + (const DigitalInterfaceState *message, + uint8_t *out) +{ + assert(message->base.descriptor == &digital_interface_state__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t digital_interface_state__pack_to_buffer + (const DigitalInterfaceState *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &digital_interface_state__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +DigitalInterfaceState * + digital_interface_state__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (DigitalInterfaceState *) + protobuf_c_message_unpack (&digital_interface_state__descriptor, + allocator, len, data); +} +void digital_interface_state__free_unpacked + (DigitalInterfaceState *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &digital_interface_state__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +static const ProtobufCFieldDescriptor digital_interface_state__field_descriptors[2] = +{ + { + "InterfaceIO", + 1, + PROTOBUF_C_LABEL_OPTIONAL, + PROTOBUF_C_TYPE_ENUM, + offsetof(DigitalInterfaceState, has_interfaceio), + offsetof(DigitalInterfaceState, interfaceio), + &interface_ios__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "Value", + 2, + PROTOBUF_C_LABEL_OPTIONAL, + PROTOBUF_C_TYPE_BOOL, + offsetof(DigitalInterfaceState, has_value), + offsetof(DigitalInterfaceState, value), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned digital_interface_state__field_indices_by_name[] = { + 0, /* field[0] = InterfaceIO */ + 1, /* field[1] = Value */ +}; +static const ProtobufCIntRange digital_interface_state__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor digital_interface_state__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "DigitalInterfaceState", + "DigitalInterfaceState", + "DigitalInterfaceState", + "", + sizeof(DigitalInterfaceState), + 2, + digital_interface_state__field_descriptors, + digital_interface_state__field_indices_by_name, + 1, digital_interface_state__number_ranges, + (ProtobufCMessageInit) digital_interface_state__init, + NULL,NULL,NULL /* reserved[123] */ +}; diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DigitalInterfaceState.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DigitalInterfaceState.pb-c.h new file mode 100644 index 000000000..cfdd5d42f --- /dev/null +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DigitalInterfaceState.pb-c.h @@ -0,0 +1,75 @@ +/* Generated by the protocol buffer compiler. DO NOT EDIT! */ +/* Generated from: DigitalInterfaceState.proto */ + +#ifndef PROTOBUF_C_DigitalInterfaceState_2eproto__INCLUDED +#define PROTOBUF_C_DigitalInterfaceState_2eproto__INCLUDED + +#include + +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 + +#include "InterfaceIOs.pb-c.h" + +typedef struct _DigitalInterfaceState DigitalInterfaceState; + + +/* --- enums --- */ + + +/* --- messages --- */ + +struct _DigitalInterfaceState +{ + ProtobufCMessage base; + protobuf_c_boolean has_interfaceio; + InterfaceIOs interfaceio; + protobuf_c_boolean has_value; + protobuf_c_boolean value; +}; +#define DIGITAL_INTERFACE_STATE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&digital_interface_state__descriptor) \ + , 0, INTERFACE_IOS__ANALOG_MIXCHIP_TEMP, 0, 0 } + + +/* DigitalInterfaceState methods */ +void digital_interface_state__init + (DigitalInterfaceState *message); +size_t digital_interface_state__get_packed_size + (const DigitalInterfaceState *message); +size_t digital_interface_state__pack + (const DigitalInterfaceState *message, + uint8_t *out); +size_t digital_interface_state__pack_to_buffer + (const DigitalInterfaceState *message, + ProtobufCBuffer *buffer); +DigitalInterfaceState * + digital_interface_state__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void digital_interface_state__free_unpacked + (DigitalInterfaceState *message, + ProtobufCAllocator *allocator); +/* --- per-message closures --- */ + +typedef void (*DigitalInterfaceState_Closure) + (const DigitalInterfaceState *message, + void *closure_data); + +/* --- services --- */ + + +/* --- descriptors --- */ + +extern const ProtobufCMessageDescriptor digital_interface_state__descriptor; + +PROTOBUF_C__END_DECLS + + +#endif /* PROTOBUF_C_DigitalInterfaceState_2eproto__INCLUDED */ 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 new file mode 100644 index 000000000..e71fd9af5 --- /dev/null +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.c @@ -0,0 +1,727 @@ +/* Generated by the protocol buffer compiler. DO NOT EDIT! */ +/* Generated from: InterfaceIOs.proto */ + +/* Do not generate deprecated warnings for self */ +#ifndef PROTOBUF_C__NO_DEPRECATED +#define PROTOBUF_C__NO_DEPRECATED +#endif + +#include "InterfaceIOs.pb-c.h" +static const ProtobufCEnumValue interface_ios__enum_values_by_number[347] = +{ + { "ANALOG_MIXCHIP_TEMP", "INTERFACE_IOS__ANALOG_MIXCHIP_TEMP", 0 }, + { "AN_DYEINGH_CURSEN_1", "INTERFACE_IOS__AN_DYEINGH_CURSEN_1", 1 }, + { "AN_DYEINGH_CURSEN_2", "INTERFACE_IOS__AN_DYEINGH_CURSEN_2", 2 }, + { "AN_DYEINGH_CURSEN_3", "INTERFACE_IOS__AN_DYEINGH_CURSEN_3", 3 }, + { "AN_DYEINGH_CURSEN_4", "INTERFACE_IOS__AN_DYEINGH_CURSEN_4", 4 }, + { "AN_DYEINGH_CURSEN_5", "INTERFACE_IOS__AN_DYEINGH_CURSEN_5", 5 }, + { "ANALOG_DYEINGH_TEMP1", "INTERFACE_IOS__ANALOG_DYEINGH_TEMP1", 6 }, + { "ANALOG_DYEINGH_TEMP2", "INTERFACE_IOS__ANALOG_DYEINGH_TEMP2", 7 }, + { "ANALOG_DYEINGH_TEMP3", "INTERFACE_IOS__ANALOG_DYEINGH_TEMP3", 8 }, + { "ANALOG_DYEINGH_TEMP4", "INTERFACE_IOS__ANALOG_DYEINGH_TEMP4", 9 }, + { "ANALOG_DYEINGH_TEMP5", "INTERFACE_IOS__ANALOG_DYEINGH_TEMP5", 10 }, + { "LS_DH_CLEAN_DOWN", "INTERFACE_IOS__LS_DH_CLEAN_DOWN", 11 }, + { "LS_DH_CLEAN_LEFT", "INTERFACE_IOS__LS_DH_CLEAN_LEFT", 12 }, + { "LS_DH_CLEAN_RIGHT", "INTERFACE_IOS__LS_DH_CLEAN_RIGHT", 13 }, + { "LS_DH_CLEAN_UP", "INTERFACE_IOS__LS_DH_CLEAN_UP", 14 }, + { "LS_DH_LID_CLEANING", "INTERFACE_IOS__LS_DH_LID_CLEANING", 15 }, + { "LS_DH_LID_CLOSED", "INTERFACE_IOS__LS_DH_LID_CLOSED", 16 }, + { "LS_DH_LID_OPEN", "INTERFACE_IOS__LS_DH_LID_OPEN", 17 }, + { "LS_DH_SPARE1", "INTERFACE_IOS__LS_DH_SPARE1", 18 }, + { "GPO_MIXCHIP_SSR4_CTRL", "INTERFACE_IOS__GPO_MIXCHIP_SSR4_CTRL", 19 }, + { "GPO_DYEINGH_SSR5_CTRL", "INTERFACE_IOS__GPO_DYEINGH_SSR5_CTRL", 20 }, + { "GPO_DYEINGH_SSR6_CTRL", "INTERFACE_IOS__GPO_DYEINGH_SSR6_CTRL", 21 }, + { "GPO_DYEINGH_SSR7_CTRL", "INTERFACE_IOS__GPO_DYEINGH_SSR7_CTRL", 22 }, + { "GPO_DYEINGH_SSR8_CTRL", "INTERFACE_IOS__GPO_DYEINGH_SSR8_CTRL", 23 }, + { "DH2", "INTERFACE_IOS__DH2", 24 }, + { "DH1", "INTERFACE_IOS__DH1", 25 }, + { "MOTO_DH_CLEANHEAD", "INTERFACE_IOS__MOTO_DH_CLEANHEAD", 26 }, + { "MOTO_DH_CLEANMECH", "INTERFACE_IOS__MOTO_DH_CLEANMECH", 27 }, + { "MOTO_DH_LID", "INTERFACE_IOS__MOTO_DH_LID", 28 }, + { "AN_DRYER_CURSEN1", "INTERFACE_IOS__AN_DRYER_CURSEN1", 29 }, + { "AN_DRYER_CURSEN2", "INTERFACE_IOS__AN_DRYER_CURSEN2", 30 }, + { "AN_DRYER_CURSEN3", "INTERFACE_IOS__AN_DRYER_CURSEN3", 31 }, + { "ANALOG_DRYER_TEMP1", "INTERFACE_IOS__ANALOG_DRYER_TEMP1", 32 }, + { "ANALOG_DRYER_TEMP2", "INTERFACE_IOS__ANALOG_DRYER_TEMP2", 33 }, + { "ANALOG_DRYER_TEMP3", "INTERFACE_IOS__ANALOG_DRYER_TEMP3", 34 }, + { "LS_DRYER_LID_CLOSED", "INTERFACE_IOS__LS_DRYER_LID_CLOSED", 35 }, + { "LS_DRYER_LID_OPEN", "INTERFACE_IOS__LS_DRYER_LID_OPEN", 36 }, + { "LS_DRYER_SPARE1", "INTERFACE_IOS__LS_DRYER_SPARE1", 37 }, + { "LS_DRYER_SPARE2", "INTERFACE_IOS__LS_DRYER_SPARE2", 38 }, + { "LS_DRYER_SPARE3", "INTERFACE_IOS__LS_DRYER_SPARE3", 39 }, + { "LS_DRYER_SPARE4", "INTERFACE_IOS__LS_DRYER_SPARE4", 40 }, + { "LS_LOADARM_LEFT", "INTERFACE_IOS__LS_LOADARM_LEFT", 41 }, + { "LS_LOADARM_RIGHT", "INTERFACE_IOS__LS_LOADARM_RIGHT", 42 }, + { "GPO_DRYER_SSR1_CTRL", "INTERFACE_IOS__GPO_DRYER_SSR1_CTRL", 43 }, + { "GPO_DRYER_SSR2_CTRL", "INTERFACE_IOS__GPO_DRYER_SSR2_CTRL", 44 }, + { "GPO_DRYER_SSR3_CTRL", "INTERFACE_IOS__GPO_DRYER_SSR3_CTRL", 45 }, + { "DRYER2", "INTERFACE_IOS__DRYER2", 46 }, + { "DRYER1", "INTERFACE_IOS__DRYER1", 47 }, + { "MOTO_DRYER_DRIVING", "INTERFACE_IOS__MOTO_DRYER_DRIVING", 48 }, + { "MOTO_DRYER_LID", "INTERFACE_IOS__MOTO_DRYER_LID", 49 }, + { "MOTO_DRYER_LOADARM", "INTERFACE_IOS__MOTO_DRYER_LOADARM", 50 }, + { "DRYER_LOADARM_ROTENC", "INTERFACE_IOS__DRYER_LOADARM_ROTENC", 51 }, + { "GPI_PS1_DC_OK", "INTERFACE_IOS__GPI_PS1_DC_OK", 52 }, + { "GPO_PDOWN_RL1_CTRL", "INTERFACE_IOS__GPO_PDOWN_RL1_CTRL", 53 }, + { "GPO_SPARE_SSR12_CTRL", "INTERFACE_IOS__GPO_SPARE_SSR12_CTRL", 54 }, + { "GPO_SPARE_SSR13_CTRL", "INTERFACE_IOS__GPO_SPARE_SSR13_CTRL", 55 }, + { "ELECTRICALENC", "INTERFACE_IOS__ELECTRICALENC", 56 }, + { "USERPANEL", "INTERFACE_IOS__USERPANEL", 57 }, + { "GPI_EXTWINDER_1", "INTERFACE_IOS__GPI_EXTWINDER_1", 58 }, + { "GPI_EXTWINDER_2", "INTERFACE_IOS__GPI_EXTWINDER_2", 59 }, + { "GPI_EXTWINDER_3", "INTERFACE_IOS__GPI_EXTWINDER_3", 60 }, + { "GPO_EXTWINDER_1", "INTERFACE_IOS__GPO_EXTWINDER_1", 61 }, + { "GPO_EXTWINDER_2", "INTERFACE_IOS__GPO_EXTWINDER_2", 62 }, + { "GPO_EXTWINDER_3", "INTERFACE_IOS__GPO_EXTWINDER_3", 63 }, + { "GPO_EXTWINDER_SSR11_CTRL", "INTERFACE_IOS__GPO_EXTWINDER_SSR11_CTRL", 64 }, + { "EXTWINDER_CTRL", "INTERFACE_IOS__EXTWINDER_CTRL", 65 }, + { "EXTWINDINGUNIT", "INTERFACE_IOS__EXTWINDINGUNIT", 66 }, + { "AN_IDS_PRESSENS_1", "INTERFACE_IOS__AN_IDS_PRESSENS_1", 67 }, + { "AN_IDS_PRESSENS_2", "INTERFACE_IOS__AN_IDS_PRESSENS_2", 68 }, + { "AN_IDS_PRESSENS_3", "INTERFACE_IOS__AN_IDS_PRESSENS_3", 69 }, + { "AN_IDS_PRESSENS_4", "INTERFACE_IOS__AN_IDS_PRESSENS_4", 70 }, + { "AN_IDS_PRESSENS_5", "INTERFACE_IOS__AN_IDS_PRESSENS_5", 71 }, + { "AN_IDS_PRESSENS_6", "INTERFACE_IOS__AN_IDS_PRESSENS_6", 72 }, + { "AN_IDS_PRESSENS_7", "INTERFACE_IOS__AN_IDS_PRESSENS_7", 73 }, + { "AN_IDS_PRESSENS_8", "INTERFACE_IOS__AN_IDS_PRESSENS_8", 74 }, + { "AN_MIDTANK_PRESSENS1", "INTERFACE_IOS__AN_MIDTANK_PRESSENS1", 75 }, + { "AN_MIDTANK_PRESSENS2", "INTERFACE_IOS__AN_MIDTANK_PRESSENS2", 76 }, + { "AN_MIDTANK_PRESSENS3", "INTERFACE_IOS__AN_MIDTANK_PRESSENS3", 77 }, + { "AN_MIDTANK_PRESSENS4", "INTERFACE_IOS__AN_MIDTANK_PRESSENS4", 78 }, + { "AN_MIDTANK_PRESSENS5", "INTERFACE_IOS__AN_MIDTANK_PRESSENS5", 79 }, + { "AN_MIDTANK_PRESSENS6", "INTERFACE_IOS__AN_MIDTANK_PRESSENS6", 80 }, + { "AN_MIDTANK_PRESSENS7", "INTERFACE_IOS__AN_MIDTANK_PRESSENS7", 81 }, + { "AN_MIXCHIP_CURSENn", "INTERFACE_IOS__AN_MIXCHIP_CURSENn", 82 }, + { "LS_DISPENSER_25_1", "INTERFACE_IOS__LS_DISPENSER_25_1", 83 }, + { "LS_DISPENSER_25_2", "INTERFACE_IOS__LS_DISPENSER_25_2", 84 }, + { "LS_DISPENSER_25_3", "INTERFACE_IOS__LS_DISPENSER_25_3", 85 }, + { "LS_DISPENSER_25_4", "INTERFACE_IOS__LS_DISPENSER_25_4", 86 }, + { "LS_DISPENSER_25_5", "INTERFACE_IOS__LS_DISPENSER_25_5", 87 }, + { "LS_DISPENSER_25_6", "INTERFACE_IOS__LS_DISPENSER_25_6", 88 }, + { "LS_DISPENSER_25_7", "INTERFACE_IOS__LS_DISPENSER_25_7", 89 }, + { "LS_DISPENSER_25_8", "INTERFACE_IOS__LS_DISPENSER_25_8", 90 }, + { "LS_DISPENSER_50_1", "INTERFACE_IOS__LS_DISPENSER_50_1", 91 }, + { "LS_DISPENSER_50_2", "INTERFACE_IOS__LS_DISPENSER_50_2", 92 }, + { "LS_DISPENSER_50_3", "INTERFACE_IOS__LS_DISPENSER_50_3", 93 }, + { "LS_DISPENSER_50_4", "INTERFACE_IOS__LS_DISPENSER_50_4", 94 }, + { "LS_DISPENSER_50_5", "INTERFACE_IOS__LS_DISPENSER_50_5", 95 }, + { "LS_DISPENSER_50_6", "INTERFACE_IOS__LS_DISPENSER_50_6", 96 }, + { "LS_DISPENSER_50_7", "INTERFACE_IOS__LS_DISPENSER_50_7", 97 }, + { "LS_DISPENSER_50_8", "INTERFACE_IOS__LS_DISPENSER_50_8", 98 }, + { "LS_DISPENSER_75_1", "INTERFACE_IOS__LS_DISPENSER_75_1", 99 }, + { "LS_DISPENSER_75_2", "INTERFACE_IOS__LS_DISPENSER_75_2", 100 }, + { "LS_DISPENSER_75_3", "INTERFACE_IOS__LS_DISPENSER_75_3", 101 }, + { "LS_DISPENSER_75_4", "INTERFACE_IOS__LS_DISPENSER_75_4", 102 }, + { "LS_DISPENSER_75_5", "INTERFACE_IOS__LS_DISPENSER_75_5", 103 }, + { "LS_DISPENSER_75_6", "INTERFACE_IOS__LS_DISPENSER_75_6", 104 }, + { "LS_DISPENSER_75_7", "INTERFACE_IOS__LS_DISPENSER_75_7", 105 }, + { "LS_DISPENSER_75_8", "INTERFACE_IOS__LS_DISPENSER_75_8", 106 }, + { "LS_DISPENSER_DOWN_1", "INTERFACE_IOS__LS_DISPENSER_DOWN_1", 107 }, + { "LS_DISPENSER_DOWN_2", "INTERFACE_IOS__LS_DISPENSER_DOWN_2", 108 }, + { "LS_DISPENSER_DOWN_3", "INTERFACE_IOS__LS_DISPENSER_DOWN_3", 109 }, + { "LS_DISPENSER_DOWN_4", "INTERFACE_IOS__LS_DISPENSER_DOWN_4", 110 }, + { "LS_DISPENSER_DOWN_5", "INTERFACE_IOS__LS_DISPENSER_DOWN_5", 111 }, + { "LS_DISPENSER_DOWN_6", "INTERFACE_IOS__LS_DISPENSER_DOWN_6", 112 }, + { "LS_DISPENSER_DOWN_7", "INTERFACE_IOS__LS_DISPENSER_DOWN_7", 113 }, + { "LS_DISPENSER_DOWN_8", "INTERFACE_IOS__LS_DISPENSER_DOWN_8", 114 }, + { "LS_DISPENSER_SPARE_1", "INTERFACE_IOS__LS_DISPENSER_SPARE_1", 115 }, + { "LS_DISPENSER_SPARE_2", "INTERFACE_IOS__LS_DISPENSER_SPARE_2", 116 }, + { "LS_DISPENSER_SPARE_3", "INTERFACE_IOS__LS_DISPENSER_SPARE_3", 117 }, + { "LS_DISPENSER_SPARE_4", "INTERFACE_IOS__LS_DISPENSER_SPARE_4", 118 }, + { "LS_DISPENSER_SPARE_5", "INTERFACE_IOS__LS_DISPENSER_SPARE_5", 119 }, + { "LS_DISPENSER_SPARE_6", "INTERFACE_IOS__LS_DISPENSER_SPARE_6", 120 }, + { "LS_DISPENSER_SPARE_7", "INTERFACE_IOS__LS_DISPENSER_SPARE_7", 121 }, + { "LS_DISPENSER_SPARE_8", "INTERFACE_IOS__LS_DISPENSER_SPARE_8", 122 }, + { "LS_DISPENSER_UP_1", "INTERFACE_IOS__LS_DISPENSER_UP_1", 123 }, + { "LS_DISPENSER_UP_2", "INTERFACE_IOS__LS_DISPENSER_UP_2", 124 }, + { "LS_DISPENSER_UP_3", "INTERFACE_IOS__LS_DISPENSER_UP_3", 125 }, + { "LS_DISPENSER_UP_4", "INTERFACE_IOS__LS_DISPENSER_UP_4", 126 }, + { "LS_DISPENSER_UP_5", "INTERFACE_IOS__LS_DISPENSER_UP_5", 127 }, + { "LS_DISPENSER_UP_6", "INTERFACE_IOS__LS_DISPENSER_UP_6", 128 }, + { "LS_DISPENSER_UP_7", "INTERFACE_IOS__LS_DISPENSER_UP_7", 129 }, + { "LS_DISPENSER_UP_8", "INTERFACE_IOS__LS_DISPENSER_UP_8", 130 }, + { "MIDTANK1_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK1_LVL1_FLOAT", 131 }, + { "MIDTANK1_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK1_LVL2_FLOAT", 132 }, + { "MIDTANK1_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK1_LVL3_FLOAT", 133 }, + { "MIDTANK1_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK1_LVL4_FLOAT", 134 }, + { "MIDTANK2_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK2_LVL1_FLOAT", 135 }, + { "MIDTANK2_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK2_LVL2_FLOAT", 136 }, + { "MIDTANK2_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK2_LVL3_FLOAT", 137 }, + { "MIDTANK2_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK2_LVL4_FLOAT", 138 }, + { "MIDTANK3_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK3_LVL1_FLOAT", 139 }, + { "MIDTANK3_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK3_LVL2_FLOAT", 140 }, + { "MIDTANK3_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK3_LVL3_FLOAT", 141 }, + { "MIDTANK3_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK3_LVL4_FLOAT", 142 }, + { "MIDTANK4_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK4_LVL1_FLOAT", 143 }, + { "MIDTANK4_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK4_LVL2_FLOAT", 144 }, + { "MIDTANK4_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK4_LVL3_FLOAT", 145 }, + { "MIDTANK4_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK4_LVL4_FLOAT", 146 }, + { "MIDTANK5_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK5_LVL1_FLOAT", 147 }, + { "MIDTANK5_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK5_LVL2_FLOAT", 148 }, + { "MIDTANK5_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK5_LVL3_FLOAT", 149 }, + { "MIDTANK5_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK5_LVL4_FLOAT", 150 }, + { "MIDTANK6_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK6_LVL1_FLOAT", 151 }, + { "MIDTANK6_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK6_LVL2_FLOAT", 152 }, + { "MIDTANK6_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK6_LVL3_FLOAT", 153 }, + { "MIDTANK6_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK6_LVL4_FLOAT", 154 }, + { "MIDTANK7_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK7_LVL1_FLOAT", 155 }, + { "MIDTANK7_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK7_LVL2_FLOAT", 156 }, + { "MIDTANK7_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK7_LVL3_FLOAT", 157 }, + { "MIDTANK7_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK7_LVL4_FLOAT", 158 }, + { "MIDTANK8_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK8_LVL1_FLOAT", 159 }, + { "MIDTANK8_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK8_LVL2_FLOAT", 160 }, + { "MIDTANK8_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK8_LVL3_FLOAT", 161 }, + { "MIDTANK8_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK8_LVL4_FLOAT", 162 }, + { "GPO_DILUTORPUMP_SSR10_CTRL", "INTERFACE_IOS__GPO_DILUTORPUMP_SSR10_CTRL", 163 }, + { "GPO_WASTECH_PUMP2", "INTERFACE_IOS__GPO_WASTECH_PUMP2", 164 }, + { "Midtank1Air", "INTERFACE_IOS__Midtank1Air", 165 }, + { "Midtank2Air", "INTERFACE_IOS__Midtank2Air", 166 }, + { "Midtank3Air", "INTERFACE_IOS__Midtank3Air", 167 }, + { "Midtank4Air", "INTERFACE_IOS__Midtank4Air", 168 }, + { "Midtank5Air", "INTERFACE_IOS__Midtank5Air", 169 }, + { "Midtank6Air", "INTERFACE_IOS__Midtank6Air", 170 }, + { "Midtank7Air", "INTERFACE_IOS__Midtank7Air", 171 }, + { "Midtank8Air", "INTERFACE_IOS__Midtank8Air", 172 }, + { "Midtank1Cartridge", "INTERFACE_IOS__Midtank1Cartridge", 173 }, + { "Midtank2Cartridge", "INTERFACE_IOS__Midtank2Cartridge", 174 }, + { "Midtank3Cartridge", "INTERFACE_IOS__Midtank3Cartridge", 175 }, + { "Midtank4Cartridge", "INTERFACE_IOS__Midtank4Cartridge", 176 }, + { "Midtank5Cartridge", "INTERFACE_IOS__Midtank5Cartridge", 177 }, + { "Midtank6Cartridge", "INTERFACE_IOS__Midtank6Cartridge", 178 }, + { "Midtank7Cartridge", "INTERFACE_IOS__Midtank7Cartridge", 179 }, + { "Midtank8Cartridge", "INTERFACE_IOS__Midtank8Cartridge", 180 }, + { "MOTO_DISPENSER_1", "INTERFACE_IOS__MOTO_DISPENSER_1", 181 }, + { "MOTO_DISPENSER_2", "INTERFACE_IOS__MOTO_DISPENSER_2", 182 }, + { "MOTO_DISPENSER_3", "INTERFACE_IOS__MOTO_DISPENSER_3", 183 }, + { "MOTO_DISPENSER_4", "INTERFACE_IOS__MOTO_DISPENSER_4", 184 }, + { "MOTO_DISPENSER_5", "INTERFACE_IOS__MOTO_DISPENSER_5", 185 }, + { "MOTO_DISPENSER_6", "INTERFACE_IOS__MOTO_DISPENSER_6", 186 }, + { "MOTO_DISPENSER_7", "INTERFACE_IOS__MOTO_DISPENSER_7", 187 }, + { "MOTO_DISPENSER_8", "INTERFACE_IOS__MOTO_DISPENSER_8", 188 }, + { "DISPENSER_ROTENC1", "INTERFACE_IOS__DISPENSER_ROTENC1", 189 }, + { "DISPENSER_ROTENC2", "INTERFACE_IOS__DISPENSER_ROTENC2", 190 }, + { "DISPENSER_ROTENC3", "INTERFACE_IOS__DISPENSER_ROTENC3", 191 }, + { "DISPENSER_ROTENC4", "INTERFACE_IOS__DISPENSER_ROTENC4", 192 }, + { "DISPENSER_ROTENC5", "INTERFACE_IOS__DISPENSER_ROTENC5", 193 }, + { "DISPENSER_ROTENC6", "INTERFACE_IOS__DISPENSER_ROTENC6", 194 }, + { "DISPENSER_ROTENC7", "INTERFACE_IOS__DISPENSER_ROTENC7", 195 }, + { "DISPENSER_ROTENC8", "INTERFACE_IOS__DISPENSER_ROTENC8", 196 }, + { "DISPENSER_VALVE_1", "INTERFACE_IOS__DISPENSER_VALVE_1", 197 }, + { "DISPENSER_VALVE_2", "INTERFACE_IOS__DISPENSER_VALVE_2", 198 }, + { "DISPENSER_VALVE_3", "INTERFACE_IOS__DISPENSER_VALVE_3", 199 }, + { "DISPENSER_VALVE_4", "INTERFACE_IOS__DISPENSER_VALVE_4", 200 }, + { "DISPENSER_VALVE_5", "INTERFACE_IOS__DISPENSER_VALVE_5", 201 }, + { "DISPENSER_VALVE_6", "INTERFACE_IOS__DISPENSER_VALVE_6", 202 }, + { "DISPENSER_VALVE_7", "INTERFACE_IOS__DISPENSER_VALVE_7", 203 }, + { "DISPENSER_1", "INTERFACE_IOS__DISPENSER_1", 204 }, + { "DISPENSER_3", "INTERFACE_IOS__DISPENSER_3", 205 }, + { "DISPENSER_5", "INTERFACE_IOS__DISPENSER_5", 206 }, + { "DISPENSER_7", "INTERFACE_IOS__DISPENSER_7", 207 }, + { "MIDTANK3_1", "INTERFACE_IOS__MIDTANK3_1", 208 }, + { "DISPENSER_2", "INTERFACE_IOS__DISPENSER_2", 209 }, + { "DISPENSER_4", "INTERFACE_IOS__DISPENSER_4", 210 }, + { "DISPENSER_6", "INTERFACE_IOS__DISPENSER_6", 211 }, + { "DISPENSER_8", "INTERFACE_IOS__DISPENSER_8", 212 }, + { "MIDTANK3_2", "INTERFACE_IOS__MIDTANK3_2", 213 }, + { "CART3", "INTERFACE_IOS__CART3", 214 }, + { "CART1", "INTERFACE_IOS__CART1", 215 }, + { "CART2", "INTERFACE_IOS__CART2", 216 }, + { "CART4", "INTERFACE_IOS__CART4", 217 }, + { "CART7", "INTERFACE_IOS__CART7", 218 }, + { "CART5", "INTERFACE_IOS__CART5", 219 }, + { "CART6", "INTERFACE_IOS__CART6", 220 }, + { "CART8", "INTERFACE_IOS__CART8", 221 }, + { "LS_SCREW_LEFT", "INTERFACE_IOS__LS_SCREW_LEFT", 222 }, + { "LS_SCREW_RIGHT", "INTERFACE_IOS__LS_SCREW_RIGHT", 223 }, + { "SW_SPARE", "INTERFACE_IOS__SW_SPARE", 224 }, + { "SW_SPOOL_EXISTS", "INTERFACE_IOS__SW_SPOOL_EXISTS", 225 }, + { "MOTO_SCREW", "INTERFACE_IOS__MOTO_SCREW", 226 }, + { "MOTO_WINDER", "INTERFACE_IOS__MOTO_WINDER", 227 }, + { "SCREW_ROTENC", "INTERFACE_IOS__SCREW_ROTENC", 228 }, + { "INTWINDINGUNIT", "INTERFACE_IOS__INTWINDINGUNIT", 229 }, + { "AN5V_LDANCER1", "INTERFACE_IOS__AN5V_LDANCER1", 230 }, + { "AN5V_LDANCER2", "INTERFACE_IOS__AN5V_LDANCER2", 231 }, + { "LS_LDANCER1_DOWN", "INTERFACE_IOS__LS_LDANCER1_DOWN", 232 }, + { "LS_LDANCER1_UP", "INTERFACE_IOS__LS_LDANCER1_UP", 233 }, + { "LS_LDANCER2_DOWN", "INTERFACE_IOS__LS_LDANCER2_DOWN", 234 }, + { "LS_LDANCER2_UP", "INTERFACE_IOS__LS_LDANCER2_UP", 235 }, + { "LS_LLOADMOTOR_DOWN", "INTERFACE_IOS__LS_LLOADMOTOR_DOWN", 236 }, + { "LS_LLOADMOTOR_UP", "INTERFACE_IOS__LS_LLOADMOTOR_UP", 237 }, + { "LS_LPIVOT_DOWN", "INTERFACE_IOS__LS_LPIVOT_DOWN", 238 }, + { "LS_LPIVOT_UP", "INTERFACE_IOS__LS_LPIVOT_UP", 239 }, + { "LS_LSPARE1", "INTERFACE_IOS__LS_LSPARE1", 240 }, + { "LS_LSPARE2", "INTERFACE_IOS__LS_LSPARE2", 241 }, + { "LS_PIVOT_SPARE1", "INTERFACE_IOS__LS_PIVOT_SPARE1", 242 }, + { "LS_PIVOT_SPARE2", "INTERFACE_IOS__LS_PIVOT_SPARE2", 243 }, + { "MOTO_LDANCER1", "INTERFACE_IOS__MOTO_LDANCER1", 244 }, + { "MOTO_LDANCER2", "INTERFACE_IOS__MOTO_LDANCER2", 245 }, + { "MOTO_LDRIVING", "INTERFACE_IOS__MOTO_LDRIVING", 246 }, + { "MOTO_LLOADING", "INTERFACE_IOS__MOTO_LLOADING", 247 }, + { "MOTO_LPIVOT1", "INTERFACE_IOS__MOTO_LPIVOT1", 248 }, + { "LSPARE1_ROTENC", "INTERFACE_IOS__LSPARE1_ROTENC", 249 }, + { "LSPARE2_ROTENC", "INTERFACE_IOS__LSPARE2_ROTENC", 250 }, + { "LDANCER1_ROTENC", "INTERFACE_IOS__LDANCER1_ROTENC", 251 }, + { "LDANCER2_ROTENC", "INTERFACE_IOS__LDANCER2_ROTENC", 252 }, + { "LSPARE_ROTENC", "INTERFACE_IOS__LSPARE_ROTENC", 253 }, + { "LTFEEDUNIT2", "INTERFACE_IOS__LTFEEDUNIT2", 254 }, + { "LTFEEDUNIT1", "INTERFACE_IOS__LTFEEDUNIT1", 255 }, + { "AN_ENCLOSURETEMP1", "INTERFACE_IOS__AN_ENCLOSURETEMP1", 256 }, + { "AN_ENCLOSURETEMP2", "INTERFACE_IOS__AN_ENCLOSURETEMP2", 257 }, + { "AN_ENCLOSURETEMP3", "INTERFACE_IOS__AN_ENCLOSURETEMP3", 258 }, + { "GPI_PANSW1", "INTERFACE_IOS__GPI_PANSW1", 259 }, + { "GPI_PANSW2", "INTERFACE_IOS__GPI_PANSW2", 260 }, + { "GPI_PANSW3", "INTERFACE_IOS__GPI_PANSW3", 261 }, + { "GPI_PANSW4", "INTERFACE_IOS__GPI_PANSW4", 262 }, + { "GPI_PANSW5", "INTERFACE_IOS__GPI_PANSW5", 263 }, + { "GPI_PANSW6", "INTERFACE_IOS__GPI_PANSW6", 264 }, + { "GPI_PWRBUTTON", "INTERFACE_IOS__GPI_PWRBUTTON", 265 }, + { "GPI_TACTSW1", "INTERFACE_IOS__GPI_TACTSW1", 266 }, + { "GPI_TACTSW2", "INTERFACE_IOS__GPI_TACTSW2", 267 }, + { "GPI_TACTSW3", "INTERFACE_IOS__GPI_TACTSW3", 268 }, + { "GPI_TACTSW4", "INTERFACE_IOS__GPI_TACTSW4", 269 }, + { "GPO_BUZZER", "INTERFACE_IOS__GPO_BUZZER", 270 }, + { "GPO_LED1", "INTERFACE_IOS__GPO_LED1", 271 }, + { "GPO_LED2", "INTERFACE_IOS__GPO_LED2", 272 }, + { "GPO_LED3", "INTERFACE_IOS__GPO_LED3", 273 }, + { "GPO_LED4", "INTERFACE_IOS__GPO_LED4", 274 }, + { "FAN_TACHO1", "INTERFACE_IOS__FAN_TACHO1", 275 }, + { "FAN_TACHO2", "INTERFACE_IOS__FAN_TACHO2", 276 }, + { "FAN_TACHO3", "INTERFACE_IOS__FAN_TACHO3", 277 }, + { "FAN1_TACH", "INTERFACE_IOS__FAN1_TACH", 278 }, + { "FAN2_TACH", "INTERFACE_IOS__FAN2_TACH", 279 }, + { "FAN3_TACH", "INTERFACE_IOS__FAN3_TACH", 280 }, + { "FAN4_TACH", "INTERFACE_IOS__FAN4_TACH", 281 }, + { "FAN5_TACH", "INTERFACE_IOS__FAN5_TACH", 282 }, + { "AN5V_RDANCER", "INTERFACE_IOS__AN5V_RDANCER", 283 }, + { "LS_RLOADMOTOR_UP", "INTERFACE_IOS__LS_RLOADMOTOR_UP", 284 }, + { "GPI_TFEED_BREAK_1", "INTERFACE_IOS__GPI_TFEED_BREAK_1", 285 }, + { "GPI_TFEED_BREAK_2", "INTERFACE_IOS__GPI_TFEED_BREAK_2", 286 }, + { "LS_RDANCER_DOWN", "INTERFACE_IOS__LS_RDANCER_DOWN", 287 }, + { "LS_RDANCER_UP", "INTERFACE_IOS__LS_RDANCER_UP", 288 }, + { "RTFEEDUNIT2", "INTERFACE_IOS__RTFEEDUNIT2", 289 }, + { "RTFEEDUNIT1", "INTERFACE_IOS__RTFEEDUNIT1", 290 }, + { "LS_RLOADMOTOR_DOWN", "INTERFACE_IOS__LS_RLOADMOTOR_DOWN", 291 }, + { "LS_RLOADRAM_DOWN", "INTERFACE_IOS__LS_RLOADRAM_DOWN", 292 }, + { "LS_RLOADRAM_UP", "INTERFACE_IOS__LS_RLOADRAM_UP", 293 }, + { "LS_RSPARE1", "INTERFACE_IOS__LS_RSPARE1", 294 }, + { "LS_RSPARE2", "INTERFACE_IOS__LS_RSPARE2", 295 }, + { "GPO_TFEED_BREAK_1", "INTERFACE_IOS__GPO_TFEED_BREAK_1", 296 }, + { "GPO_TFEED_BREAK_2", "INTERFACE_IOS__GPO_TFEED_BREAK_2", 297 }, + { "MOTO_RDANCER", "INTERFACE_IOS__MOTO_RDANCER", 298 }, + { "MOTO_RDRIVING", "INTERFACE_IOS__MOTO_RDRIVING", 299 }, + { "MOTO_RLOADARM", "INTERFACE_IOS__MOTO_RLOADARM", 300 }, + { "MOTO_RLOADING", "INTERFACE_IOS__MOTO_RLOADING", 301 }, + { "RSPARE_ROTENC1", "INTERFACE_IOS__RSPARE_ROTENC1", 302 }, + { "RSPEEDSENS_ROTENC", "INTERFACE_IOS__RSPEEDSENS_ROTENC", 303 }, + { "RDANCER_ROTENC", "INTERFACE_IOS__RDANCER_ROTENC", 304 }, + { "RSPARE_ROTENC2", "INTERFACE_IOS__RSPARE_ROTENC2", 305 }, + { "AN10V_SPARE1", "INTERFACE_IOS__AN10V_SPARE1", 306 }, + { "AN10V_SPARE2", "INTERFACE_IOS__AN10V_SPARE2", 307 }, + { "LS_SPARE1_1", "INTERFACE_IOS__LS_SPARE1_1", 308 }, + { "LS_SPARE1_2", "INTERFACE_IOS__LS_SPARE1_2", 309 }, + { "LS_SPARE1_3", "INTERFACE_IOS__LS_SPARE1_3", 310 }, + { "LS_SPARE1_4", "INTERFACE_IOS__LS_SPARE1_4", 311 }, + { "LS_SPARE2_1", "INTERFACE_IOS__LS_SPARE2_1", 312 }, + { "SPARE2", "INTERFACE_IOS__SPARE2", 313 }, + { "SPARE1", "INTERFACE_IOS__SPARE1", 314 }, + { "LS_SPARE2_2", "INTERFACE_IOS__LS_SPARE2_2", 315 }, + { "LS_SPARE2_3", "INTERFACE_IOS__LS_SPARE2_3", 316 }, + { "LS_SPARE2_4", "INTERFACE_IOS__LS_SPARE2_4", 317 }, + { "GPO_SPARE1_1", "INTERFACE_IOS__GPO_SPARE1_1", 318 }, + { "GPO_SPARE1_2", "INTERFACE_IOS__GPO_SPARE1_2", 319 }, + { "GPO_SPARE2_1", "INTERFACE_IOS__GPO_SPARE2_1", 320 }, + { "GPO_SPARE2_2", "INTERFACE_IOS__GPO_SPARE2_2", 321 }, + { "MOTO_SPARE1_1", "INTERFACE_IOS__MOTO_SPARE1_1", 322 }, + { "MOTO_SPARE1_2", "INTERFACE_IOS__MOTO_SPARE1_2", 323 }, + { "MOTO_SPARE2_1", "INTERFACE_IOS__MOTO_SPARE2_1", 324 }, + { "MOTO_SPARE2_2", "INTERFACE_IOS__MOTO_SPARE2_2", 325 }, + { "SPARE1_ROTENC1", "INTERFACE_IOS__SPARE1_ROTENC1", 326 }, + { "SPARE2_ROTENC2", "INTERFACE_IOS__SPARE2_ROTENC2", 327 }, + { "SPARE1_ROTENC3", "INTERFACE_IOS__SPARE1_ROTENC3", 328 }, + { "SPARE2_ROTENC4", "INTERFACE_IOS__SPARE2_ROTENC4", 329 }, + { "CHILLER_CTRL", "INTERFACE_IOS__CHILLER_CTRL", 330 }, + { "AN_AIRPRESS_1", "INTERFACE_IOS__AN_AIRPRESS_1", 331 }, + { "AN_AIRPRESS_2", "INTERFACE_IOS__AN_AIRPRESS_2", 332 }, + { "AN_VOCSENS", "INTERFACE_IOS__AN_VOCSENS", 333 }, + { "AN_BLOWERCTRL", "INTERFACE_IOS__AN_BLOWERCTRL", 334 }, + { "GPI_AIRFLOW_FLAP", "INTERFACE_IOS__GPI_AIRFLOW_FLAP", 335 }, + { "GPI_BLOWER_TACH", "INTERFACE_IOS__GPI_BLOWER_TACH", 336 }, + { "GPI_CHILLER_FAULT", "INTERFACE_IOS__GPI_CHILLER_FAULT", 337 }, + { "GPI_CHILLER_STAT1", "INTERFACE_IOS__GPI_CHILLER_STAT1", 338 }, + { "WHS_VOCTEMP", "INTERFACE_IOS__WHS_VOCTEMP", 339 }, + { "GPI_SW_FILTER_PRES", "INTERFACE_IOS__GPI_SW_FILTER_PRES", 340 }, + { "GPI_WCONTAINER_FULL", "INTERFACE_IOS__GPI_WCONTAINER_FULL", 341 }, + { "GPI_WCONTAINER_WARN", "INTERFACE_IOS__GPI_WCONTAINER_WARN", 342 }, + { "GPO_BLOWER_PWM", "INTERFACE_IOS__GPO_BLOWER_PWM", 343 }, + { "GPO_CHILLER_SSR9_CTRL", "INTERFACE_IOS__GPO_CHILLER_SSR9_CTRL", 344 }, + { "GPO_WHS_WTANKPUMP2", "INTERFACE_IOS__GPO_WHS_WTANKPUMP2", 345 }, + { "VALVE_WASTE_TANK", "INTERFACE_IOS__VALVE_WASTE_TANK", 346 }, +}; +static const ProtobufCIntRange interface_ios__value_ranges[] = { +{0, 0},{0, 347} +}; +static const ProtobufCEnumValueIndex interface_ios__enum_values_by_name[347] = +{ + { "AN10V_SPARE1", 306 }, + { "AN10V_SPARE2", 307 }, + { "AN5V_LDANCER1", 230 }, + { "AN5V_LDANCER2", 231 }, + { "AN5V_RDANCER", 283 }, + { "ANALOG_DRYER_TEMP1", 32 }, + { "ANALOG_DRYER_TEMP2", 33 }, + { "ANALOG_DRYER_TEMP3", 34 }, + { "ANALOG_DYEINGH_TEMP1", 6 }, + { "ANALOG_DYEINGH_TEMP2", 7 }, + { "ANALOG_DYEINGH_TEMP3", 8 }, + { "ANALOG_DYEINGH_TEMP4", 9 }, + { "ANALOG_DYEINGH_TEMP5", 10 }, + { "ANALOG_MIXCHIP_TEMP", 0 }, + { "AN_AIRPRESS_1", 331 }, + { "AN_AIRPRESS_2", 332 }, + { "AN_BLOWERCTRL", 334 }, + { "AN_DRYER_CURSEN1", 29 }, + { "AN_DRYER_CURSEN2", 30 }, + { "AN_DRYER_CURSEN3", 31 }, + { "AN_DYEINGH_CURSEN_1", 1 }, + { "AN_DYEINGH_CURSEN_2", 2 }, + { "AN_DYEINGH_CURSEN_3", 3 }, + { "AN_DYEINGH_CURSEN_4", 4 }, + { "AN_DYEINGH_CURSEN_5", 5 }, + { "AN_ENCLOSURETEMP1", 256 }, + { "AN_ENCLOSURETEMP2", 257 }, + { "AN_ENCLOSURETEMP3", 258 }, + { "AN_IDS_PRESSENS_1", 67 }, + { "AN_IDS_PRESSENS_2", 68 }, + { "AN_IDS_PRESSENS_3", 69 }, + { "AN_IDS_PRESSENS_4", 70 }, + { "AN_IDS_PRESSENS_5", 71 }, + { "AN_IDS_PRESSENS_6", 72 }, + { "AN_IDS_PRESSENS_7", 73 }, + { "AN_IDS_PRESSENS_8", 74 }, + { "AN_MIDTANK_PRESSENS1", 75 }, + { "AN_MIDTANK_PRESSENS2", 76 }, + { "AN_MIDTANK_PRESSENS3", 77 }, + { "AN_MIDTANK_PRESSENS4", 78 }, + { "AN_MIDTANK_PRESSENS5", 79 }, + { "AN_MIDTANK_PRESSENS6", 80 }, + { "AN_MIDTANK_PRESSENS7", 81 }, + { "AN_MIXCHIP_CURSENn", 82 }, + { "AN_VOCSENS", 333 }, + { "CART1", 215 }, + { "CART2", 216 }, + { "CART3", 214 }, + { "CART4", 217 }, + { "CART5", 219 }, + { "CART6", 220 }, + { "CART7", 218 }, + { "CART8", 221 }, + { "CHILLER_CTRL", 330 }, + { "DH1", 25 }, + { "DH2", 24 }, + { "DISPENSER_1", 204 }, + { "DISPENSER_2", 209 }, + { "DISPENSER_3", 205 }, + { "DISPENSER_4", 210 }, + { "DISPENSER_5", 206 }, + { "DISPENSER_6", 211 }, + { "DISPENSER_7", 207 }, + { "DISPENSER_8", 212 }, + { "DISPENSER_ROTENC1", 189 }, + { "DISPENSER_ROTENC2", 190 }, + { "DISPENSER_ROTENC3", 191 }, + { "DISPENSER_ROTENC4", 192 }, + { "DISPENSER_ROTENC5", 193 }, + { "DISPENSER_ROTENC6", 194 }, + { "DISPENSER_ROTENC7", 195 }, + { "DISPENSER_ROTENC8", 196 }, + { "DISPENSER_VALVE_1", 197 }, + { "DISPENSER_VALVE_2", 198 }, + { "DISPENSER_VALVE_3", 199 }, + { "DISPENSER_VALVE_4", 200 }, + { "DISPENSER_VALVE_5", 201 }, + { "DISPENSER_VALVE_6", 202 }, + { "DISPENSER_VALVE_7", 203 }, + { "DRYER1", 47 }, + { "DRYER2", 46 }, + { "DRYER_LOADARM_ROTENC", 51 }, + { "ELECTRICALENC", 56 }, + { "EXTWINDER_CTRL", 65 }, + { "EXTWINDINGUNIT", 66 }, + { "FAN1_TACH", 278 }, + { "FAN2_TACH", 279 }, + { "FAN3_TACH", 280 }, + { "FAN4_TACH", 281 }, + { "FAN5_TACH", 282 }, + { "FAN_TACHO1", 275 }, + { "FAN_TACHO2", 276 }, + { "FAN_TACHO3", 277 }, + { "GPI_AIRFLOW_FLAP", 335 }, + { "GPI_BLOWER_TACH", 336 }, + { "GPI_CHILLER_FAULT", 337 }, + { "GPI_CHILLER_STAT1", 338 }, + { "GPI_EXTWINDER_1", 58 }, + { "GPI_EXTWINDER_2", 59 }, + { "GPI_EXTWINDER_3", 60 }, + { "GPI_PANSW1", 259 }, + { "GPI_PANSW2", 260 }, + { "GPI_PANSW3", 261 }, + { "GPI_PANSW4", 262 }, + { "GPI_PANSW5", 263 }, + { "GPI_PANSW6", 264 }, + { "GPI_PS1_DC_OK", 52 }, + { "GPI_PWRBUTTON", 265 }, + { "GPI_SW_FILTER_PRES", 340 }, + { "GPI_TACTSW1", 266 }, + { "GPI_TACTSW2", 267 }, + { "GPI_TACTSW3", 268 }, + { "GPI_TACTSW4", 269 }, + { "GPI_TFEED_BREAK_1", 285 }, + { "GPI_TFEED_BREAK_2", 286 }, + { "GPI_WCONTAINER_FULL", 341 }, + { "GPI_WCONTAINER_WARN", 342 }, + { "GPO_BLOWER_PWM", 343 }, + { "GPO_BUZZER", 270 }, + { "GPO_CHILLER_SSR9_CTRL", 344 }, + { "GPO_DILUTORPUMP_SSR10_CTRL", 163 }, + { "GPO_DRYER_SSR1_CTRL", 43 }, + { "GPO_DRYER_SSR2_CTRL", 44 }, + { "GPO_DRYER_SSR3_CTRL", 45 }, + { "GPO_DYEINGH_SSR5_CTRL", 20 }, + { "GPO_DYEINGH_SSR6_CTRL", 21 }, + { "GPO_DYEINGH_SSR7_CTRL", 22 }, + { "GPO_DYEINGH_SSR8_CTRL", 23 }, + { "GPO_EXTWINDER_1", 61 }, + { "GPO_EXTWINDER_2", 62 }, + { "GPO_EXTWINDER_3", 63 }, + { "GPO_EXTWINDER_SSR11_CTRL", 64 }, + { "GPO_LED1", 271 }, + { "GPO_LED2", 272 }, + { "GPO_LED3", 273 }, + { "GPO_LED4", 274 }, + { "GPO_MIXCHIP_SSR4_CTRL", 19 }, + { "GPO_PDOWN_RL1_CTRL", 53 }, + { "GPO_SPARE1_1", 318 }, + { "GPO_SPARE1_2", 319 }, + { "GPO_SPARE2_1", 320 }, + { "GPO_SPARE2_2", 321 }, + { "GPO_SPARE_SSR12_CTRL", 54 }, + { "GPO_SPARE_SSR13_CTRL", 55 }, + { "GPO_TFEED_BREAK_1", 296 }, + { "GPO_TFEED_BREAK_2", 297 }, + { "GPO_WASTECH_PUMP2", 164 }, + { "GPO_WHS_WTANKPUMP2", 345 }, + { "INTWINDINGUNIT", 229 }, + { "LDANCER1_ROTENC", 251 }, + { "LDANCER2_ROTENC", 252 }, + { "LSPARE1_ROTENC", 249 }, + { "LSPARE2_ROTENC", 250 }, + { "LSPARE_ROTENC", 253 }, + { "LS_DH_CLEAN_DOWN", 11 }, + { "LS_DH_CLEAN_LEFT", 12 }, + { "LS_DH_CLEAN_RIGHT", 13 }, + { "LS_DH_CLEAN_UP", 14 }, + { "LS_DH_LID_CLEANING", 15 }, + { "LS_DH_LID_CLOSED", 16 }, + { "LS_DH_LID_OPEN", 17 }, + { "LS_DH_SPARE1", 18 }, + { "LS_DISPENSER_25_1", 83 }, + { "LS_DISPENSER_25_2", 84 }, + { "LS_DISPENSER_25_3", 85 }, + { "LS_DISPENSER_25_4", 86 }, + { "LS_DISPENSER_25_5", 87 }, + { "LS_DISPENSER_25_6", 88 }, + { "LS_DISPENSER_25_7", 89 }, + { "LS_DISPENSER_25_8", 90 }, + { "LS_DISPENSER_50_1", 91 }, + { "LS_DISPENSER_50_2", 92 }, + { "LS_DISPENSER_50_3", 93 }, + { "LS_DISPENSER_50_4", 94 }, + { "LS_DISPENSER_50_5", 95 }, + { "LS_DISPENSER_50_6", 96 }, + { "LS_DISPENSER_50_7", 97 }, + { "LS_DISPENSER_50_8", 98 }, + { "LS_DISPENSER_75_1", 99 }, + { "LS_DISPENSER_75_2", 100 }, + { "LS_DISPENSER_75_3", 101 }, + { "LS_DISPENSER_75_4", 102 }, + { "LS_DISPENSER_75_5", 103 }, + { "LS_DISPENSER_75_6", 104 }, + { "LS_DISPENSER_75_7", 105 }, + { "LS_DISPENSER_75_8", 106 }, + { "LS_DISPENSER_DOWN_1", 107 }, + { "LS_DISPENSER_DOWN_2", 108 }, + { "LS_DISPENSER_DOWN_3", 109 }, + { "LS_DISPENSER_DOWN_4", 110 }, + { "LS_DISPENSER_DOWN_5", 111 }, + { "LS_DISPENSER_DOWN_6", 112 }, + { "LS_DISPENSER_DOWN_7", 113 }, + { "LS_DISPENSER_DOWN_8", 114 }, + { "LS_DISPENSER_SPARE_1", 115 }, + { "LS_DISPENSER_SPARE_2", 116 }, + { "LS_DISPENSER_SPARE_3", 117 }, + { "LS_DISPENSER_SPARE_4", 118 }, + { "LS_DISPENSER_SPARE_5", 119 }, + { "LS_DISPENSER_SPARE_6", 120 }, + { "LS_DISPENSER_SPARE_7", 121 }, + { "LS_DISPENSER_SPARE_8", 122 }, + { "LS_DISPENSER_UP_1", 123 }, + { "LS_DISPENSER_UP_2", 124 }, + { "LS_DISPENSER_UP_3", 125 }, + { "LS_DISPENSER_UP_4", 126 }, + { "LS_DISPENSER_UP_5", 127 }, + { "LS_DISPENSER_UP_6", 128 }, + { "LS_DISPENSER_UP_7", 129 }, + { "LS_DISPENSER_UP_8", 130 }, + { "LS_DRYER_LID_CLOSED", 35 }, + { "LS_DRYER_LID_OPEN", 36 }, + { "LS_DRYER_SPARE1", 37 }, + { "LS_DRYER_SPARE2", 38 }, + { "LS_DRYER_SPARE3", 39 }, + { "LS_DRYER_SPARE4", 40 }, + { "LS_LDANCER1_DOWN", 232 }, + { "LS_LDANCER1_UP", 233 }, + { "LS_LDANCER2_DOWN", 234 }, + { "LS_LDANCER2_UP", 235 }, + { "LS_LLOADMOTOR_DOWN", 236 }, + { "LS_LLOADMOTOR_UP", 237 }, + { "LS_LOADARM_LEFT", 41 }, + { "LS_LOADARM_RIGHT", 42 }, + { "LS_LPIVOT_DOWN", 238 }, + { "LS_LPIVOT_UP", 239 }, + { "LS_LSPARE1", 240 }, + { "LS_LSPARE2", 241 }, + { "LS_PIVOT_SPARE1", 242 }, + { "LS_PIVOT_SPARE2", 243 }, + { "LS_RDANCER_DOWN", 287 }, + { "LS_RDANCER_UP", 288 }, + { "LS_RLOADMOTOR_DOWN", 291 }, + { "LS_RLOADMOTOR_UP", 284 }, + { "LS_RLOADRAM_DOWN", 292 }, + { "LS_RLOADRAM_UP", 293 }, + { "LS_RSPARE1", 294 }, + { "LS_RSPARE2", 295 }, + { "LS_SCREW_LEFT", 222 }, + { "LS_SCREW_RIGHT", 223 }, + { "LS_SPARE1_1", 308 }, + { "LS_SPARE1_2", 309 }, + { "LS_SPARE1_3", 310 }, + { "LS_SPARE1_4", 311 }, + { "LS_SPARE2_1", 312 }, + { "LS_SPARE2_2", 315 }, + { "LS_SPARE2_3", 316 }, + { "LS_SPARE2_4", 317 }, + { "LTFEEDUNIT1", 255 }, + { "LTFEEDUNIT2", 254 }, + { "MIDTANK1_LVL1_FLOAT", 131 }, + { "MIDTANK1_LVL2_FLOAT", 132 }, + { "MIDTANK1_LVL3_FLOAT", 133 }, + { "MIDTANK1_LVL4_FLOAT", 134 }, + { "MIDTANK2_LVL1_FLOAT", 135 }, + { "MIDTANK2_LVL2_FLOAT", 136 }, + { "MIDTANK2_LVL3_FLOAT", 137 }, + { "MIDTANK2_LVL4_FLOAT", 138 }, + { "MIDTANK3_1", 208 }, + { "MIDTANK3_2", 213 }, + { "MIDTANK3_LVL1_FLOAT", 139 }, + { "MIDTANK3_LVL2_FLOAT", 140 }, + { "MIDTANK3_LVL3_FLOAT", 141 }, + { "MIDTANK3_LVL4_FLOAT", 142 }, + { "MIDTANK4_LVL1_FLOAT", 143 }, + { "MIDTANK4_LVL2_FLOAT", 144 }, + { "MIDTANK4_LVL3_FLOAT", 145 }, + { "MIDTANK4_LVL4_FLOAT", 146 }, + { "MIDTANK5_LVL1_FLOAT", 147 }, + { "MIDTANK5_LVL2_FLOAT", 148 }, + { "MIDTANK5_LVL3_FLOAT", 149 }, + { "MIDTANK5_LVL4_FLOAT", 150 }, + { "MIDTANK6_LVL1_FLOAT", 151 }, + { "MIDTANK6_LVL2_FLOAT", 152 }, + { "MIDTANK6_LVL3_FLOAT", 153 }, + { "MIDTANK6_LVL4_FLOAT", 154 }, + { "MIDTANK7_LVL1_FLOAT", 155 }, + { "MIDTANK7_LVL2_FLOAT", 156 }, + { "MIDTANK7_LVL3_FLOAT", 157 }, + { "MIDTANK7_LVL4_FLOAT", 158 }, + { "MIDTANK8_LVL1_FLOAT", 159 }, + { "MIDTANK8_LVL2_FLOAT", 160 }, + { "MIDTANK8_LVL3_FLOAT", 161 }, + { "MIDTANK8_LVL4_FLOAT", 162 }, + { "MOTO_DH_CLEANHEAD", 26 }, + { "MOTO_DH_CLEANMECH", 27 }, + { "MOTO_DH_LID", 28 }, + { "MOTO_DISPENSER_1", 181 }, + { "MOTO_DISPENSER_2", 182 }, + { "MOTO_DISPENSER_3", 183 }, + { "MOTO_DISPENSER_4", 184 }, + { "MOTO_DISPENSER_5", 185 }, + { "MOTO_DISPENSER_6", 186 }, + { "MOTO_DISPENSER_7", 187 }, + { "MOTO_DISPENSER_8", 188 }, + { "MOTO_DRYER_DRIVING", 48 }, + { "MOTO_DRYER_LID", 49 }, + { "MOTO_DRYER_LOADARM", 50 }, + { "MOTO_LDANCER1", 244 }, + { "MOTO_LDANCER2", 245 }, + { "MOTO_LDRIVING", 246 }, + { "MOTO_LLOADING", 247 }, + { "MOTO_LPIVOT1", 248 }, + { "MOTO_RDANCER", 298 }, + { "MOTO_RDRIVING", 299 }, + { "MOTO_RLOADARM", 300 }, + { "MOTO_RLOADING", 301 }, + { "MOTO_SCREW", 226 }, + { "MOTO_SPARE1_1", 322 }, + { "MOTO_SPARE1_2", 323 }, + { "MOTO_SPARE2_1", 324 }, + { "MOTO_SPARE2_2", 325 }, + { "MOTO_WINDER", 227 }, + { "Midtank1Air", 165 }, + { "Midtank1Cartridge", 173 }, + { "Midtank2Air", 166 }, + { "Midtank2Cartridge", 174 }, + { "Midtank3Air", 167 }, + { "Midtank3Cartridge", 175 }, + { "Midtank4Air", 168 }, + { "Midtank4Cartridge", 176 }, + { "Midtank5Air", 169 }, + { "Midtank5Cartridge", 177 }, + { "Midtank6Air", 170 }, + { "Midtank6Cartridge", 178 }, + { "Midtank7Air", 171 }, + { "Midtank7Cartridge", 179 }, + { "Midtank8Air", 172 }, + { "Midtank8Cartridge", 180 }, + { "RDANCER_ROTENC", 304 }, + { "RSPARE_ROTENC1", 302 }, + { "RSPARE_ROTENC2", 305 }, + { "RSPEEDSENS_ROTENC", 303 }, + { "RTFEEDUNIT1", 290 }, + { "RTFEEDUNIT2", 289 }, + { "SCREW_ROTENC", 228 }, + { "SPARE1", 314 }, + { "SPARE1_ROTENC1", 326 }, + { "SPARE1_ROTENC3", 328 }, + { "SPARE2", 313 }, + { "SPARE2_ROTENC2", 327 }, + { "SPARE2_ROTENC4", 329 }, + { "SW_SPARE", 224 }, + { "SW_SPOOL_EXISTS", 225 }, + { "USERPANEL", 57 }, + { "VALVE_WASTE_TANK", 346 }, + { "WHS_VOCTEMP", 339 }, +}; +const ProtobufCEnumDescriptor interface_ios__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "InterfaceIOs", + "InterfaceIOs", + "InterfaceIOs", + "", + 347, + interface_ios__enum_values_by_number, + 347, + interface_ios__enum_values_by_name, + 1, + 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 new file mode 100644 index 000000000..006eab1d7 --- /dev/null +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.h @@ -0,0 +1,388 @@ +/* Generated by the protocol buffer compiler. DO NOT EDIT! */ +/* Generated from: InterfaceIOs.proto */ + +#ifndef PROTOBUF_C_InterfaceIOs_2eproto__INCLUDED +#define PROTOBUF_C_InterfaceIOs_2eproto__INCLUDED + +#include + +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 _InterfaceIOs { + INTERFACE_IOS__ANALOG_MIXCHIP_TEMP = 0, + INTERFACE_IOS__AN_DYEINGH_CURSEN_1 = 1, + INTERFACE_IOS__AN_DYEINGH_CURSEN_2 = 2, + INTERFACE_IOS__AN_DYEINGH_CURSEN_3 = 3, + INTERFACE_IOS__AN_DYEINGH_CURSEN_4 = 4, + INTERFACE_IOS__AN_DYEINGH_CURSEN_5 = 5, + INTERFACE_IOS__ANALOG_DYEINGH_TEMP1 = 6, + INTERFACE_IOS__ANALOG_DYEINGH_TEMP2 = 7, + INTERFACE_IOS__ANALOG_DYEINGH_TEMP3 = 8, + INTERFACE_IOS__ANALOG_DYEINGH_TEMP4 = 9, + INTERFACE_IOS__ANALOG_DYEINGH_TEMP5 = 10, + INTERFACE_IOS__LS_DH_CLEAN_DOWN = 11, + INTERFACE_IOS__LS_DH_CLEAN_LEFT = 12, + INTERFACE_IOS__LS_DH_CLEAN_RIGHT = 13, + INTERFACE_IOS__LS_DH_CLEAN_UP = 14, + INTERFACE_IOS__LS_DH_LID_CLEANING = 15, + INTERFACE_IOS__LS_DH_LID_CLOSED = 16, + INTERFACE_IOS__LS_DH_LID_OPEN = 17, + INTERFACE_IOS__LS_DH_SPARE1 = 18, + INTERFACE_IOS__GPO_MIXCHIP_SSR4_CTRL = 19, + INTERFACE_IOS__GPO_DYEINGH_SSR5_CTRL = 20, + INTERFACE_IOS__GPO_DYEINGH_SSR6_CTRL = 21, + INTERFACE_IOS__GPO_DYEINGH_SSR7_CTRL = 22, + INTERFACE_IOS__GPO_DYEINGH_SSR8_CTRL = 23, + INTERFACE_IOS__DH2 = 24, + INTERFACE_IOS__DH1 = 25, + INTERFACE_IOS__MOTO_DH_CLEANHEAD = 26, + INTERFACE_IOS__MOTO_DH_CLEANMECH = 27, + INTERFACE_IOS__MOTO_DH_LID = 28, + INTERFACE_IOS__AN_DRYER_CURSEN1 = 29, + INTERFACE_IOS__AN_DRYER_CURSEN2 = 30, + INTERFACE_IOS__AN_DRYER_CURSEN3 = 31, + INTERFACE_IOS__ANALOG_DRYER_TEMP1 = 32, + INTERFACE_IOS__ANALOG_DRYER_TEMP2 = 33, + INTERFACE_IOS__ANALOG_DRYER_TEMP3 = 34, + INTERFACE_IOS__LS_DRYER_LID_CLOSED = 35, + INTERFACE_IOS__LS_DRYER_LID_OPEN = 36, + INTERFACE_IOS__LS_DRYER_SPARE1 = 37, + INTERFACE_IOS__LS_DRYER_SPARE2 = 38, + INTERFACE_IOS__LS_DRYER_SPARE3 = 39, + INTERFACE_IOS__LS_DRYER_SPARE4 = 40, + INTERFACE_IOS__LS_LOADARM_LEFT = 41, + INTERFACE_IOS__LS_LOADARM_RIGHT = 42, + INTERFACE_IOS__GPO_DRYER_SSR1_CTRL = 43, + INTERFACE_IOS__GPO_DRYER_SSR2_CTRL = 44, + INTERFACE_IOS__GPO_DRYER_SSR3_CTRL = 45, + INTERFACE_IOS__DRYER2 = 46, + INTERFACE_IOS__DRYER1 = 47, + INTERFACE_IOS__MOTO_DRYER_DRIVING = 48, + INTERFACE_IOS__MOTO_DRYER_LID = 49, + INTERFACE_IOS__MOTO_DRYER_LOADARM = 50, + INTERFACE_IOS__DRYER_LOADARM_ROTENC = 51, + INTERFACE_IOS__GPI_PS1_DC_OK = 52, + INTERFACE_IOS__GPO_PDOWN_RL1_CTRL = 53, + INTERFACE_IOS__GPO_SPARE_SSR12_CTRL = 54, + INTERFACE_IOS__GPO_SPARE_SSR13_CTRL = 55, + INTERFACE_IOS__ELECTRICALENC = 56, + INTERFACE_IOS__USERPANEL = 57, + INTERFACE_IOS__GPI_EXTWINDER_1 = 58, + INTERFACE_IOS__GPI_EXTWINDER_2 = 59, + INTERFACE_IOS__GPI_EXTWINDER_3 = 60, + INTERFACE_IOS__GPO_EXTWINDER_1 = 61, + INTERFACE_IOS__GPO_EXTWINDER_2 = 62, + INTERFACE_IOS__GPO_EXTWINDER_3 = 63, + INTERFACE_IOS__GPO_EXTWINDER_SSR11_CTRL = 64, + INTERFACE_IOS__EXTWINDER_CTRL = 65, + INTERFACE_IOS__EXTWINDINGUNIT = 66, + INTERFACE_IOS__AN_IDS_PRESSENS_1 = 67, + INTERFACE_IOS__AN_IDS_PRESSENS_2 = 68, + INTERFACE_IOS__AN_IDS_PRESSENS_3 = 69, + INTERFACE_IOS__AN_IDS_PRESSENS_4 = 70, + INTERFACE_IOS__AN_IDS_PRESSENS_5 = 71, + INTERFACE_IOS__AN_IDS_PRESSENS_6 = 72, + INTERFACE_IOS__AN_IDS_PRESSENS_7 = 73, + INTERFACE_IOS__AN_IDS_PRESSENS_8 = 74, + INTERFACE_IOS__AN_MIDTANK_PRESSENS1 = 75, + INTERFACE_IOS__AN_MIDTANK_PRESSENS2 = 76, + INTERFACE_IOS__AN_MIDTANK_PRESSENS3 = 77, + INTERFACE_IOS__AN_MIDTANK_PRESSENS4 = 78, + INTERFACE_IOS__AN_MIDTANK_PRESSENS5 = 79, + INTERFACE_IOS__AN_MIDTANK_PRESSENS6 = 80, + INTERFACE_IOS__AN_MIDTANK_PRESSENS7 = 81, + INTERFACE_IOS__AN_MIXCHIP_CURSENn = 82, + INTERFACE_IOS__LS_DISPENSER_25_1 = 83, + INTERFACE_IOS__LS_DISPENSER_25_2 = 84, + INTERFACE_IOS__LS_DISPENSER_25_3 = 85, + INTERFACE_IOS__LS_DISPENSER_25_4 = 86, + INTERFACE_IOS__LS_DISPENSER_25_5 = 87, + INTERFACE_IOS__LS_DISPENSER_25_6 = 88, + INTERFACE_IOS__LS_DISPENSER_25_7 = 89, + INTERFACE_IOS__LS_DISPENSER_25_8 = 90, + INTERFACE_IOS__LS_DISPENSER_50_1 = 91, + INTERFACE_IOS__LS_DISPENSER_50_2 = 92, + INTERFACE_IOS__LS_DISPENSER_50_3 = 93, + INTERFACE_IOS__LS_DISPENSER_50_4 = 94, + INTERFACE_IOS__LS_DISPENSER_50_5 = 95, + INTERFACE_IOS__LS_DISPENSER_50_6 = 96, + INTERFACE_IOS__LS_DISPENSER_50_7 = 97, + INTERFACE_IOS__LS_DISPENSER_50_8 = 98, + INTERFACE_IOS__LS_DISPENSER_75_1 = 99, + INTERFACE_IOS__LS_DISPENSER_75_2 = 100, + INTERFACE_IOS__LS_DISPENSER_75_3 = 101, + INTERFACE_IOS__LS_DISPENSER_75_4 = 102, + INTERFACE_IOS__LS_DISPENSER_75_5 = 103, + INTERFACE_IOS__LS_DISPENSER_75_6 = 104, + INTERFACE_IOS__LS_DISPENSER_75_7 = 105, + INTERFACE_IOS__LS_DISPENSER_75_8 = 106, + INTERFACE_IOS__LS_DISPENSER_DOWN_1 = 107, + INTERFACE_IOS__LS_DISPENSER_DOWN_2 = 108, + INTERFACE_IOS__LS_DISPENSER_DOWN_3 = 109, + INTERFACE_IOS__LS_DISPENSER_DOWN_4 = 110, + INTERFACE_IOS__LS_DISPENSER_DOWN_5 = 111, + INTERFACE_IOS__LS_DISPENSER_DOWN_6 = 112, + INTERFACE_IOS__LS_DISPENSER_DOWN_7 = 113, + INTERFACE_IOS__LS_DISPENSER_DOWN_8 = 114, + INTERFACE_IOS__LS_DISPENSER_SPARE_1 = 115, + INTERFACE_IOS__LS_DISPENSER_SPARE_2 = 116, + INTERFACE_IOS__LS_DISPENSER_SPARE_3 = 117, + INTERFACE_IOS__LS_DISPENSER_SPARE_4 = 118, + INTERFACE_IOS__LS_DISPENSER_SPARE_5 = 119, + INTERFACE_IOS__LS_DISPENSER_SPARE_6 = 120, + INTERFACE_IOS__LS_DISPENSER_SPARE_7 = 121, + INTERFACE_IOS__LS_DISPENSER_SPARE_8 = 122, + INTERFACE_IOS__LS_DISPENSER_UP_1 = 123, + INTERFACE_IOS__LS_DISPENSER_UP_2 = 124, + INTERFACE_IOS__LS_DISPENSER_UP_3 = 125, + INTERFACE_IOS__LS_DISPENSER_UP_4 = 126, + INTERFACE_IOS__LS_DISPENSER_UP_5 = 127, + INTERFACE_IOS__LS_DISPENSER_UP_6 = 128, + INTERFACE_IOS__LS_DISPENSER_UP_7 = 129, + INTERFACE_IOS__LS_DISPENSER_UP_8 = 130, + INTERFACE_IOS__MIDTANK1_LVL1_FLOAT = 131, + INTERFACE_IOS__MIDTANK1_LVL2_FLOAT = 132, + INTERFACE_IOS__MIDTANK1_LVL3_FLOAT = 133, + INTERFACE_IOS__MIDTANK1_LVL4_FLOAT = 134, + INTERFACE_IOS__MIDTANK2_LVL1_FLOAT = 135, + INTERFACE_IOS__MIDTANK2_LVL2_FLOAT = 136, + INTERFACE_IOS__MIDTANK2_LVL3_FLOAT = 137, + INTERFACE_IOS__MIDTANK2_LVL4_FLOAT = 138, + INTERFACE_IOS__MIDTANK3_LVL1_FLOAT = 139, + INTERFACE_IOS__MIDTANK3_LVL2_FLOAT = 140, + INTERFACE_IOS__MIDTANK3_LVL3_FLOAT = 141, + INTERFACE_IOS__MIDTANK3_LVL4_FLOAT = 142, + INTERFACE_IOS__MIDTANK4_LVL1_FLOAT = 143, + INTERFACE_IOS__MIDTANK4_LVL2_FLOAT = 144, + INTERFACE_IOS__MIDTANK4_LVL3_FLOAT = 145, + INTERFACE_IOS__MIDTANK4_LVL4_FLOAT = 146, + INTERFACE_IOS__MIDTANK5_LVL1_FLOAT = 147, + INTERFACE_IOS__MIDTANK5_LVL2_FLOAT = 148, + INTERFACE_IOS__MIDTANK5_LVL3_FLOAT = 149, + INTERFACE_IOS__MIDTANK5_LVL4_FLOAT = 150, + INTERFACE_IOS__MIDTANK6_LVL1_FLOAT = 151, + INTERFACE_IOS__MIDTANK6_LVL2_FLOAT = 152, + INTERFACE_IOS__MIDTANK6_LVL3_FLOAT = 153, + INTERFACE_IOS__MIDTANK6_LVL4_FLOAT = 154, + INTERFACE_IOS__MIDTANK7_LVL1_FLOAT = 155, + INTERFACE_IOS__MIDTANK7_LVL2_FLOAT = 156, + INTERFACE_IOS__MIDTANK7_LVL3_FLOAT = 157, + INTERFACE_IOS__MIDTANK7_LVL4_FLOAT = 158, + INTERFACE_IOS__MIDTANK8_LVL1_FLOAT = 159, + INTERFACE_IOS__MIDTANK8_LVL2_FLOAT = 160, + INTERFACE_IOS__MIDTANK8_LVL3_FLOAT = 161, + INTERFACE_IOS__MIDTANK8_LVL4_FLOAT = 162, + INTERFACE_IOS__GPO_DILUTORPUMP_SSR10_CTRL = 163, + INTERFACE_IOS__GPO_WASTECH_PUMP2 = 164, + INTERFACE_IOS__Midtank1Air = 165, + INTERFACE_IOS__Midtank2Air = 166, + INTERFACE_IOS__Midtank3Air = 167, + INTERFACE_IOS__Midtank4Air = 168, + INTERFACE_IOS__Midtank5Air = 169, + INTERFACE_IOS__Midtank6Air = 170, + INTERFACE_IOS__Midtank7Air = 171, + INTERFACE_IOS__Midtank8Air = 172, + INTERFACE_IOS__Midtank1Cartridge = 173, + INTERFACE_IOS__Midtank2Cartridge = 174, + INTERFACE_IOS__Midtank3Cartridge = 175, + INTERFACE_IOS__Midtank4Cartridge = 176, + INTERFACE_IOS__Midtank5Cartridge = 177, + INTERFACE_IOS__Midtank6Cartridge = 178, + INTERFACE_IOS__Midtank7Cartridge = 179, + INTERFACE_IOS__Midtank8Cartridge = 180, + INTERFACE_IOS__MOTO_DISPENSER_1 = 181, + INTERFACE_IOS__MOTO_DISPENSER_2 = 182, + INTERFACE_IOS__MOTO_DISPENSER_3 = 183, + INTERFACE_IOS__MOTO_DISPENSER_4 = 184, + INTERFACE_IOS__MOTO_DISPENSER_5 = 185, + INTERFACE_IOS__MOTO_DISPENSER_6 = 186, + INTERFACE_IOS__MOTO_DISPENSER_7 = 187, + INTERFACE_IOS__MOTO_DISPENSER_8 = 188, + INTERFACE_IOS__DISPENSER_ROTENC1 = 189, + INTERFACE_IOS__DISPENSER_ROTENC2 = 190, + INTERFACE_IOS__DISPENSER_ROTENC3 = 191, + INTERFACE_IOS__DISPENSER_ROTENC4 = 192, + INTERFACE_IOS__DISPENSER_ROTENC5 = 193, + INTERFACE_IOS__DISPENSER_ROTENC6 = 194, + INTERFACE_IOS__DISPENSER_ROTENC7 = 195, + INTERFACE_IOS__DISPENSER_ROTENC8 = 196, + INTERFACE_IOS__DISPENSER_VALVE_1 = 197, + INTERFACE_IOS__DISPENSER_VALVE_2 = 198, + INTERFACE_IOS__DISPENSER_VALVE_3 = 199, + INTERFACE_IOS__DISPENSER_VALVE_4 = 200, + INTERFACE_IOS__DISPENSER_VALVE_5 = 201, + INTERFACE_IOS__DISPENSER_VALVE_6 = 202, + INTERFACE_IOS__DISPENSER_VALVE_7 = 203, + INTERFACE_IOS__DISPENSER_1 = 204, + INTERFACE_IOS__DISPENSER_3 = 205, + INTERFACE_IOS__DISPENSER_5 = 206, + INTERFACE_IOS__DISPENSER_7 = 207, + INTERFACE_IOS__MIDTANK3_1 = 208, + INTERFACE_IOS__DISPENSER_2 = 209, + INTERFACE_IOS__DISPENSER_4 = 210, + INTERFACE_IOS__DISPENSER_6 = 211, + INTERFACE_IOS__DISPENSER_8 = 212, + INTERFACE_IOS__MIDTANK3_2 = 213, + INTERFACE_IOS__CART3 = 214, + INTERFACE_IOS__CART1 = 215, + INTERFACE_IOS__CART2 = 216, + INTERFACE_IOS__CART4 = 217, + INTERFACE_IOS__CART7 = 218, + INTERFACE_IOS__CART5 = 219, + INTERFACE_IOS__CART6 = 220, + INTERFACE_IOS__CART8 = 221, + INTERFACE_IOS__LS_SCREW_LEFT = 222, + INTERFACE_IOS__LS_SCREW_RIGHT = 223, + INTERFACE_IOS__SW_SPARE = 224, + INTERFACE_IOS__SW_SPOOL_EXISTS = 225, + INTERFACE_IOS__MOTO_SCREW = 226, + INTERFACE_IOS__MOTO_WINDER = 227, + INTERFACE_IOS__SCREW_ROTENC = 228, + INTERFACE_IOS__INTWINDINGUNIT = 229, + INTERFACE_IOS__AN5V_LDANCER1 = 230, + INTERFACE_IOS__AN5V_LDANCER2 = 231, + INTERFACE_IOS__LS_LDANCER1_DOWN = 232, + INTERFACE_IOS__LS_LDANCER1_UP = 233, + INTERFACE_IOS__LS_LDANCER2_DOWN = 234, + INTERFACE_IOS__LS_LDANCER2_UP = 235, + INTERFACE_IOS__LS_LLOADMOTOR_DOWN = 236, + INTERFACE_IOS__LS_LLOADMOTOR_UP = 237, + INTERFACE_IOS__LS_LPIVOT_DOWN = 238, + INTERFACE_IOS__LS_LPIVOT_UP = 239, + INTERFACE_IOS__LS_LSPARE1 = 240, + INTERFACE_IOS__LS_LSPARE2 = 241, + INTERFACE_IOS__LS_PIVOT_SPARE1 = 242, + INTERFACE_IOS__LS_PIVOT_SPARE2 = 243, + INTERFACE_IOS__MOTO_LDANCER1 = 244, + INTERFACE_IOS__MOTO_LDANCER2 = 245, + INTERFACE_IOS__MOTO_LDRIVING = 246, + INTERFACE_IOS__MOTO_LLOADING = 247, + INTERFACE_IOS__MOTO_LPIVOT1 = 248, + INTERFACE_IOS__LSPARE1_ROTENC = 249, + INTERFACE_IOS__LSPARE2_ROTENC = 250, + INTERFACE_IOS__LDANCER1_ROTENC = 251, + INTERFACE_IOS__LDANCER2_ROTENC = 252, + INTERFACE_IOS__LSPARE_ROTENC = 253, + INTERFACE_IOS__LTFEEDUNIT2 = 254, + INTERFACE_IOS__LTFEEDUNIT1 = 255, + INTERFACE_IOS__AN_ENCLOSURETEMP1 = 256, + INTERFACE_IOS__AN_ENCLOSURETEMP2 = 257, + INTERFACE_IOS__AN_ENCLOSURETEMP3 = 258, + INTERFACE_IOS__GPI_PANSW1 = 259, + INTERFACE_IOS__GPI_PANSW2 = 260, + INTERFACE_IOS__GPI_PANSW3 = 261, + INTERFACE_IOS__GPI_PANSW4 = 262, + INTERFACE_IOS__GPI_PANSW5 = 263, + INTERFACE_IOS__GPI_PANSW6 = 264, + INTERFACE_IOS__GPI_PWRBUTTON = 265, + INTERFACE_IOS__GPI_TACTSW1 = 266, + INTERFACE_IOS__GPI_TACTSW2 = 267, + INTERFACE_IOS__GPI_TACTSW3 = 268, + INTERFACE_IOS__GPI_TACTSW4 = 269, + INTERFACE_IOS__GPO_BUZZER = 270, + INTERFACE_IOS__GPO_LED1 = 271, + INTERFACE_IOS__GPO_LED2 = 272, + INTERFACE_IOS__GPO_LED3 = 273, + INTERFACE_IOS__GPO_LED4 = 274, + INTERFACE_IOS__FAN_TACHO1 = 275, + INTERFACE_IOS__FAN_TACHO2 = 276, + INTERFACE_IOS__FAN_TACHO3 = 277, + INTERFACE_IOS__FAN1_TACH = 278, + INTERFACE_IOS__FAN2_TACH = 279, + INTERFACE_IOS__FAN3_TACH = 280, + INTERFACE_IOS__FAN4_TACH = 281, + INTERFACE_IOS__FAN5_TACH = 282, + INTERFACE_IOS__AN5V_RDANCER = 283, + INTERFACE_IOS__LS_RLOADMOTOR_UP = 284, + INTERFACE_IOS__GPI_TFEED_BREAK_1 = 285, + INTERFACE_IOS__GPI_TFEED_BREAK_2 = 286, + INTERFACE_IOS__LS_RDANCER_DOWN = 287, + INTERFACE_IOS__LS_RDANCER_UP = 288, + INTERFACE_IOS__RTFEEDUNIT2 = 289, + INTERFACE_IOS__RTFEEDUNIT1 = 290, + INTERFACE_IOS__LS_RLOADMOTOR_DOWN = 291, + INTERFACE_IOS__LS_RLOADRAM_DOWN = 292, + INTERFACE_IOS__LS_RLOADRAM_UP = 293, + INTERFACE_IOS__LS_RSPARE1 = 294, + INTERFACE_IOS__LS_RSPARE2 = 295, + INTERFACE_IOS__GPO_TFEED_BREAK_1 = 296, + INTERFACE_IOS__GPO_TFEED_BREAK_2 = 297, + INTERFACE_IOS__MOTO_RDANCER = 298, + INTERFACE_IOS__MOTO_RDRIVING = 299, + INTERFACE_IOS__MOTO_RLOADARM = 300, + INTERFACE_IOS__MOTO_RLOADING = 301, + INTERFACE_IOS__RSPARE_ROTENC1 = 302, + INTERFACE_IOS__RSPEEDSENS_ROTENC = 303, + INTERFACE_IOS__RDANCER_ROTENC = 304, + INTERFACE_IOS__RSPARE_ROTENC2 = 305, + INTERFACE_IOS__AN10V_SPARE1 = 306, + INTERFACE_IOS__AN10V_SPARE2 = 307, + INTERFACE_IOS__LS_SPARE1_1 = 308, + INTERFACE_IOS__LS_SPARE1_2 = 309, + INTERFACE_IOS__LS_SPARE1_3 = 310, + INTERFACE_IOS__LS_SPARE1_4 = 311, + INTERFACE_IOS__LS_SPARE2_1 = 312, + INTERFACE_IOS__SPARE2 = 313, + INTERFACE_IOS__SPARE1 = 314, + INTERFACE_IOS__LS_SPARE2_2 = 315, + INTERFACE_IOS__LS_SPARE2_3 = 316, + INTERFACE_IOS__LS_SPARE2_4 = 317, + INTERFACE_IOS__GPO_SPARE1_1 = 318, + INTERFACE_IOS__GPO_SPARE1_2 = 319, + INTERFACE_IOS__GPO_SPARE2_1 = 320, + INTERFACE_IOS__GPO_SPARE2_2 = 321, + INTERFACE_IOS__MOTO_SPARE1_1 = 322, + INTERFACE_IOS__MOTO_SPARE1_2 = 323, + INTERFACE_IOS__MOTO_SPARE2_1 = 324, + INTERFACE_IOS__MOTO_SPARE2_2 = 325, + INTERFACE_IOS__SPARE1_ROTENC1 = 326, + INTERFACE_IOS__SPARE2_ROTENC2 = 327, + INTERFACE_IOS__SPARE1_ROTENC3 = 328, + INTERFACE_IOS__SPARE2_ROTENC4 = 329, + INTERFACE_IOS__CHILLER_CTRL = 330, + INTERFACE_IOS__AN_AIRPRESS_1 = 331, + INTERFACE_IOS__AN_AIRPRESS_2 = 332, + INTERFACE_IOS__AN_VOCSENS = 333, + INTERFACE_IOS__AN_BLOWERCTRL = 334, + INTERFACE_IOS__GPI_AIRFLOW_FLAP = 335, + INTERFACE_IOS__GPI_BLOWER_TACH = 336, + INTERFACE_IOS__GPI_CHILLER_FAULT = 337, + INTERFACE_IOS__GPI_CHILLER_STAT1 = 338, + INTERFACE_IOS__WHS_VOCTEMP = 339, + INTERFACE_IOS__GPI_SW_FILTER_PRES = 340, + INTERFACE_IOS__GPI_WCONTAINER_FULL = 341, + INTERFACE_IOS__GPI_WCONTAINER_WARN = 342, + INTERFACE_IOS__GPO_BLOWER_PWM = 343, + INTERFACE_IOS__GPO_CHILLER_SSR9_CTRL = 344, + INTERFACE_IOS__GPO_WHS_WTANKPUMP2 = 345, + INTERFACE_IOS__VALVE_WASTE_TANK = 346 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(INTERFACE_IOS) +} InterfaceIOs; + +/* --- messages --- */ + +/* --- per-message closures --- */ + + +/* --- services --- */ + + +/* --- descriptors --- */ + +extern const ProtobufCEnumDescriptor interface_ios__descriptor; + +PROTOBUF_C__END_DECLS + + +#endif /* PROTOBUF_C_InterfaceIOs_2eproto__INCLUDED */ diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/SetDigitalOutRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/SetDigitalOutRequest.pb-c.c index 060449149..3f9211629 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/SetDigitalOutRequest.pb-c.c +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/SetDigitalOutRequest.pb-c.c @@ -55,13 +55,13 @@ void set_digital_out_request__free_unpacked static const ProtobufCFieldDescriptor set_digital_out_request__field_descriptors[2] = { { - "Port", + "InterfaceIO", 1, PROTOBUF_C_LABEL_OPTIONAL, - PROTOBUF_C_TYPE_INT32, - offsetof(SetDigitalOutRequest, has_port), - offsetof(SetDigitalOutRequest, port), - NULL, + PROTOBUF_C_TYPE_ENUM, + offsetof(SetDigitalOutRequest, has_interfaceio), + offsetof(SetDigitalOutRequest, interfaceio), + &interface_ios__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ @@ -80,7 +80,7 @@ static const ProtobufCFieldDescriptor set_digital_out_request__field_descriptors }, }; static const unsigned set_digital_out_request__field_indices_by_name[] = { - 0, /* field[0] = Port */ + 0, /* field[0] = InterfaceIO */ 1, /* field[1] = Value */ }; static const ProtobufCIntRange set_digital_out_request__number_ranges[1 + 1] = diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/SetDigitalOutRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/SetDigitalOutRequest.pb-c.h index 302b41749..cb2178171 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/SetDigitalOutRequest.pb-c.h +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/SetDigitalOutRequest.pb-c.h @@ -14,6 +14,7 @@ PROTOBUF_C__BEGIN_DECLS # 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 +#include "InterfaceIOs.pb-c.h" typedef struct _SetDigitalOutRequest SetDigitalOutRequest; @@ -26,14 +27,14 @@ typedef struct _SetDigitalOutRequest SetDigitalOutRequest; struct _SetDigitalOutRequest { ProtobufCMessage base; - protobuf_c_boolean has_port; - int32_t port; + protobuf_c_boolean has_interfaceio; + InterfaceIOs interfaceio; protobuf_c_boolean has_value; protobuf_c_boolean value; }; #define SET_DIGITAL_OUT_REQUEST__INIT \ { PROTOBUF_C_MESSAGE_INIT (&set_digital_out_request__descriptor) \ - , 0, 0, 0, 0 } + , 0, INTERFACE_IOS__ANALOG_MIXCHIP_TEMP, 0, 0 } /* SetDigitalOutRequest methods */ diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartDiagnosticsResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartDiagnosticsResponse.pb-c.c index 9da91e211..e6e049662 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartDiagnosticsResponse.pb-c.c +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartDiagnosticsResponse.pb-c.c @@ -67,13 +67,13 @@ static const ProtobufCFieldDescriptor start_diagnostics_response__field_descript 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "DigitalPins", + "DigitalInterfaceStates", 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(StartDiagnosticsResponse, n_digitalpins), - offsetof(StartDiagnosticsResponse, digitalpins), - &digital_pin__descriptor, + offsetof(StartDiagnosticsResponse, n_digitalinterfacestates), + offsetof(StartDiagnosticsResponse, digitalinterfacestates), + &digital_interface_state__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ @@ -93,7 +93,7 @@ static const ProtobufCFieldDescriptor start_diagnostics_response__field_descript }; static const unsigned start_diagnostics_response__field_indices_by_name[] = { 2, /* field[2] = ComponentsStates */ - 1, /* field[1] = DigitalPins */ + 1, /* field[1] = DigitalInterfaceStates */ 0, /* field[0] = Monitors */ }; static const ProtobufCIntRange start_diagnostics_response__number_ranges[1 + 1] = diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartDiagnosticsResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartDiagnosticsResponse.pb-c.h index cd1afd411..fbdbc8c8d 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartDiagnosticsResponse.pb-c.h +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartDiagnosticsResponse.pb-c.h @@ -14,7 +14,7 @@ PROTOBUF_C__BEGIN_DECLS # 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 -#include "DigitalPin.pb-c.h" +#include "DigitalInterfaceState.pb-c.h" #include "ValueComponentState.pb-c.h" #include "DiagnosticsMonitors.pb-c.h" @@ -30,8 +30,8 @@ struct _StartDiagnosticsResponse { ProtobufCMessage base; DiagnosticsMonitors *monitors; - size_t n_digitalpins; - DigitalPin **digitalpins; + size_t n_digitalinterfacestates; + DigitalInterfaceState **digitalinterfacestates; size_t n_componentsstates; ValueComponentState **componentsstates; }; diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c index 0f36a803b..ff2a70678 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c @@ -121,7 +121,7 @@ uint32_t SetDigitalOutRequestRequestFunc(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__SetDigitalOutResponse, requestContainer->token, true, &response, &set_digital_out_response__pack, &set_digital_out_response__get_packed_size); container_buffer = malloc(message_container__get_packed_size(&responseContainer)); - +/* if ((request->port >= Midtank_1_Air)&&(request->port >=Midtank_8_Air)) { @@ -134,7 +134,7 @@ uint32_t SetDigitalOutRequestRequestFunc(MessageContainer* requestContainer) Valve_Set((Valves_t) (portId+VALVE_2W_CART_MID_LF), request->value ); //Cartridge_MidTank_OFF/ON } else - { + */ { status = ERROR; responseContainer.has_error = true; responseContainer.error = ERROR_CODE__INVALID_DIGITAL_PIN_NUMBER; diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c index 495b7bded..a1ebcaa32 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c @@ -455,7 +455,7 @@ void SendDiagnostics(void) DiagnosticsMonitor.dispenser8pressure = dispenserspressure[7]; response.monitors = &DiagnosticsMonitor; - response.n_digitalpins = 0/**MAX_GPI*/; + //response.n_digitalpins = 0/**MAX_GPI*/; //response.digitalpins = DigitalPinArray; response.n_componentsstates = 0; /* if (blowervolatgedisplay == true) diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c index 70ede0916..e376175d4 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c @@ -139,7 +139,7 @@ uint32_t MotorHomingRequestFunc(MessageContainer* requestContainer) } } responseContainer.error = ERROR_CODE__INVALID_PROCESS_ID; - responseContainer.errormessage = "JOb Active or incorrect motor ID"; + responseContainer.errormessage = "Job Active or incorrect motor ID"; responseContainer = createContainer(MESSAGE_TYPE__MotorHomingResponse, requestContainer->token, true, &response, &motor_homing_response__pack, &motor_homing_response__get_packed_size); responseContainer.continuous = true; uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer)); diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c index ecb2d5396..ff9ff3795 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c @@ -1,8 +1,7 @@ /************************************************************************************************************************ * Ids_print.c * Printing module is responsible for : - * operating diffrent winding algorithms with predefined parameters from the UI - * operating the dispensers according to predefined dispensing rate from the UI + * operating the dispensers according to predefined dispensing rate from the UI **************************************************************************************************************************/ #include "include.h" #include "ids.h" diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c index 09244364a..e2f2013c9 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c @@ -27,9 +27,9 @@ char Read_HW_Version(unsigned char *Brd_ID, unsigned char *Assy_ID) //TODO Move in GPIO Initialisation // ----------- Set HW Version GPIO as Input ----------- - MAP_GPIOPinTypeGPIOInput(GPIO_PORTS_BASE, GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1); - MAP_GPIOPinTypeGPIOInput(GPIO_PORTJ_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_7); - MAP_GPIOPinTypeGPIOInput(GPIO_PORTP_BASE, GPIO_PIN_3 | GPIO_PIN_5); + //MAP_GPIOPinTypeGPIOInput(GPIO_PORTS_BASE, GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1); + //MAP_GPIOPinTypeGPIOInput(GPIO_PORTJ_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_7); + //MAP_GPIOPinTypeGPIOInput(GPIO_PORTP_BASE, GPIO_PIN_3 | GPIO_PIN_5); //Set HW Version GPIO to Pull down GPIOPadConfigSet(GPIO_PORTS_BASE, GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1, GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPD ); diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.h b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.h index b1bc504a3..299240651 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.h +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.h @@ -2,5 +2,6 @@ #define STUB_HWVER_H void Stub_HWVersionRequest(MessageContainer* requestContainer); +char Read_HW_Version(unsigned char *Brd_ID, unsigned char *Assy_ID); #endif //STUB_HWVER_H -- cgit v1.3.1 From 325a9f7436753eeb91866a859aeb4856aea87041 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Sun, 2 Sep 2018 17:26:45 +0300 Subject: Minor debugging changes --- Software/Embedded_SW/Embedded/Communication/CommunicationTask.c | 2 +- Software/Embedded_SW/Embedded/Communication/Container.c | 8 ++++---- .../Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c index 40a4c73fe..a07924c84 100644 --- a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c +++ b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c @@ -35,7 +35,7 @@ struct serialBuffer { char CommRxBuffer[COMM_MAX_BUFFER_SIZE]; char CommShortRxBuffer[10][SHORT_BUFFER_SIZE]; SerialBuffer inBuffer[11]; -bool SerialBufferUsed[11] = {false,false,false,false,false,false,false,false,false,false,false,false}; +bool SerialBufferUsed[11] = {false,false,false,false,false,false,false,false,false,false,false}; uint32_t initArray(size_t initialSize) { if (initialSize >= COMM_MAX_BUFFER_SIZE) return 0; diff --git a/Software/Embedded_SW/Embedded/Communication/Container.c b/Software/Embedded_SW/Embedded/Communication/Container.c index bf27c9a56..f132a6ebd 100644 --- a/Software/Embedded_SW/Embedded/Communication/Container.c +++ b/Software/Embedded_SW/Embedded/Communication/Container.c @@ -47,6 +47,10 @@ uint32_t TxmsgId[50] = {0}; uint32_t TxLength[50] = {0}; byte Txindex = 0; +uint32_t msgId[50] = {0}; +uint32_t Length[50] = {0}; +uint32_t DataLength[50] = {0}; +byte index = 0; MessageContainer createContainer(MessageType type, char* token, protobuf_c_boolean completed, void* response, size_t (*packPtr)(void*, uint8_t*), size_t (*sizePtr)(void*)) { @@ -77,10 +81,6 @@ MessageContainer createContainer(MessageType type, char* token, protobuf_c_boole //free(response); return container; } -uint32_t msgId[50] = {0}; -uint32_t Length[50] = {0}; -uint32_t DataLength[50] = {0}; -byte index = 0; void receive_callback(char* buffer, size_t length) { diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c index 7ffba4d69..20466325a 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c @@ -539,7 +539,7 @@ uint32_t StartEventsNotificationRequestFunc(MessageContainer* requestContainer) // ReportInitParams InitParams; //ControlStart(); EventsNotificationRequestAccepted = true; - //AlarmHandlingStart(); + AlarmHandlingStart(); StartEventsNotificationRequest* request = start_events_notification_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); ustrncpy (AlarmHandlingToken, requestContainer->token,36); -- cgit v1.3.1 From d68b521d2ddab4d8994c054b0c9dec2de54481d6 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Sun, 2 Sep 2018 17:36:09 +0300 Subject: test new arrangement --- .../Embedded_SW/Embedded/Drivers/Valves/Valve.h | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.h b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.h index 364314928..593076eb9 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.h +++ b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.h @@ -21,7 +21,32 @@ typedef enum VALVE_DISPENSER_6, VALVE_DISPENSER_7, VALVE_DISPENSER_8, +/* new + //---------------------------------------------------------------------------// + //Dry Air - Middle Tank // A - Air // + VALVE_2W_MID_AIR_RB, //MIDTANK2MANIF4_VALVE_2 // C - Cartridge // + VALVE_2W_MID_AIR_RMB, //MIDTANK2MANIF4_VALVE_1 // L - Left // + VALVE_2W_MID_AIR_RMF, //MIDTANK2MANIF3_VALVE_2 // R - Right // + VALVE_2W_MID_AIR_RF, //MIDTANK2MANIF3_VALVE_1 // F - Front // + VALVE_2W_MID_AIR_LB, //MIDTANK2MANIF2_VALVE_2 // B - Back // + VALVE_2W_MID_AIR_LMB, //MIDTANK2MANIF2_VALVE_1 // M - Middle // + VALVE_2W_MID_AIR_LMF, //MIDTANK2MANIF1_VALVE_2 // -------------------- // + VALVE_2W_MID_AIR_LF, //MIDTANK2MANIF1_VALVE_1 // A [LB] A [RB] // + // C [LB] C [RB] // + // // + // A [LMB] A [RMB] // + //Cartridge - Middle Tank // C [LMB] C [RMB] // + VALVE_2W_CART_MID_RB, //CART2MIDTANK4_VALVE_2 // // + VALVE_2W_CART_MID_RMB, //CART2MIDTANK4_VALVE_1 // A [LMF] A [RMF] // + VALVE_2W_CART_MID_RMF, //CART2MIDTANK3_VALVE_2 // C [LMF] C [RMF] // + VALVE_2W_CART_MID_RF, //CART2MIDTANK3_VALVE_1 // // + VALVE_2W_CART_MID_LB, //CART2MIDTANK2_VALVE_2 // A [LF] A [RF] // + VALVE_2W_CART_MID_LMB, //CART2MIDTANK2_VALVE_1 // C [LF] C [RF] // + VALVE_2W_CART_MID_LMF, //CART2MIDTANK1_VALVE_2 // // + VALVE_2W_CART_MID_LF, //CART2MIDTANK1_VALVE_1 // FRONT // + //---------------------------------------------------------------------------// +*/ //---------------------------------------------------------------------------// //Dry Air - Middle Tank // A - Air // VALVE_2W_MID_AIR_LF, //MIDTANK2MANIF4_VALVE_2 // C - Cartridge // -- cgit v1.3.1 From 0ad4d65c969f62476d4bf2eeaea6f3ddfc375580 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Sun, 2 Sep 2018 18:55:00 +0300 Subject: usb communication bugs fixed (?) --- Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c | 2 +- Software/Embedded_SW/Embedded/Common/report/reportInit.c | 16 ++++++++++------ .../Embedded/Communication/CommunicationTask.c | 5 +++-- .../Embedded/Drivers/USB_Communication/USBCDCD.c | 4 ++-- Software/Embedded_SW/Embedded/Embedded.cfg | 2 +- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c index 819abbdbb..2caf8d923 100644 --- a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c +++ b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c @@ -20,7 +20,7 @@ typedef struct } TangoVersion_t; -TangoVersion_t _gTangoVersion = {001,000,002,002}; +TangoVersion_t _gTangoVersion = {001,000,002,003}; #define BUILD_DATE __DATE__ char Dat[50] = BUILD_DATE; char _gTangoName [MAX_STRING_LEN] = "Tango01 ";//d diff --git a/Software/Embedded_SW/Embedded/Common/report/reportInit.c b/Software/Embedded_SW/Embedded/Common/report/reportInit.c index e7f08e0e5..bb44de929 100644 --- a/Software/Embedded_SW/Embedded/Common/report/reportInit.c +++ b/Software/Embedded_SW/Embedded/Common/report/reportInit.c @@ -106,12 +106,16 @@ int ReportResponseFunc(char *message, /* The formatted message response.message = message; responseContainer = createContainer(MESSAGE_TYPE__StartDebugLogResponse, protobufToken, false, &response, &start_debug_log_response__pack, &start_debug_log_response__get_packed_size); responseContainer.continuous = true; - uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer)); - size_t container_size = message_container__pack(&responseContainer, container_buffer); - free(responseContainer.data.data); - //USBCDCD_sendData(container_buffer, container_size,10); - SendChars(container_buffer, container_size); - //free (container_buffer); + if (responseContainer.data.data) + { + uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer)); + if (container_buffer) + { + size_t container_size = message_container__pack(&responseContainer, container_buffer); + SendChars(container_buffer, container_size); + } + free(responseContainer.data.data); + } return OK; diff --git a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c index a07924c84..9492876a2 100644 --- a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c +++ b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c @@ -31,9 +31,10 @@ struct serialBuffer { size_t used; size_t size; } typedef SerialBuffer; -#define SHORT_BUFFER_SIZE 100 -char CommRxBuffer[COMM_MAX_BUFFER_SIZE]; +#define SHORT_BUFFER_SIZE 200 char CommShortRxBuffer[10][SHORT_BUFFER_SIZE]; +char CommRxBuffer[COMM_MAX_BUFFER_SIZE]; +char DuplicateRxBuffer[2][2100]; SerialBuffer inBuffer[11]; bool SerialBufferUsed[11] = {false,false,false,false,false,false,false,false,false,false,false}; uint32_t initArray(size_t initialSize) diff --git a/Software/Embedded_SW/Embedded/Drivers/USB_Communication/USBCDCD.c b/Software/Embedded_SW/Embedded/Drivers/USB_Communication/USBCDCD.c index b4da9afa9..e7828de1c 100644 --- a/Software/Embedded_SW/Embedded/Drivers/USB_Communication/USBCDCD.c +++ b/Software/Embedded_SW/Embedded/Drivers/USB_Communication/USBCDCD.c @@ -78,7 +78,7 @@ typedef volatile enum { /* Static variables and handles */ static volatile USBCDCD_USBState state; -extern unsigned char CommRxBuffer[COMM_MAX_BUFFER_SIZE]; +static unsigned char UsbRxBuffer[COMM_MAX_BUFFER_SIZE]; //static unsigned char receiveBuffer[COMM_MAX_BUFFER_SIZE]; static unsigned char transmitBuffer[COMM_MAX_BUFFER_SIZE]; @@ -214,7 +214,7 @@ tUSBBuffer rxBuffer = USBDCDCPacketRead, /* pfnTransfer */ USBDCDCRxPacketAvailable, /* pfnAvailable */ (void *)&g_sCDCDevice, /* pvHandle */ - CommRxBuffer, /* pcBuffer */ + UsbRxBuffer, /* pcBuffer */ COMM_MAX_BUFFER_SIZE, /* ulBufferSize */ {{0, 0, 0, 0}, 0, 0} /* private data workspace */ }; diff --git a/Software/Embedded_SW/Embedded/Embedded.cfg b/Software/Embedded_SW/Embedded/Embedded.cfg index 47710100f..473250338 100644 --- a/Software/Embedded_SW/Embedded/Embedded.cfg +++ b/Software/Embedded_SW/Embedded/Embedded.cfg @@ -15,7 +15,7 @@ var GIO = xdc.useModule('ti.sysbios.io.GIO'); var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore'); var Task = xdc.useModule('ti.sysbios.knl.Task'); -BIOS.heapSize = 30767; // bios heapmem +//BIOS.heapSize = 30767; // bios heapmem //Memory.defaultHeapSize = 48767; Program.heap = 30767; //sysmem -- cgit v1.3.1 From c3741bba6733fa5ba4a0ec5856efddf2fc57297a Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Sun, 2 Sep 2018 18:57:49 +0300 Subject: removed debug structure --- Software/Embedded_SW/Embedded/Communication/CommunicationTask.c | 1 - 1 file changed, 1 deletion(-) diff --git a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c index 9492876a2..1de97b902 100644 --- a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c +++ b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c @@ -34,7 +34,6 @@ struct serialBuffer { #define SHORT_BUFFER_SIZE 200 char CommShortRxBuffer[10][SHORT_BUFFER_SIZE]; char CommRxBuffer[COMM_MAX_BUFFER_SIZE]; -char DuplicateRxBuffer[2][2100]; SerialBuffer inBuffer[11]; bool SerialBufferUsed[11] = {false,false,false,false,false,false,false,false,false,false,false}; uint32_t initArray(size_t initialSize) -- cgit v1.3.1 From cfb996898f8a35f992789fb7548117aebbfa84f7 Mon Sep 17 00:00:00 2001 From: Avi Levkovich Date: Mon, 3 Sep 2018 10:39:05 +0300 Subject: update to midtank new order --- .../Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h | 34 ++++++------ .../Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c | 16 +++--- .../Drivers/I2C_Communication/ADC_MUX/ADC_MUX.h | 16 +++--- .../Embedded_SW/Embedded/Drivers/Valves/Valve.c | 64 +++++++++++----------- .../Embedded_SW/Embedded/Drivers/Valves/Valve.h | 38 ++++++------- .../Modules/Diagnostics/DiagnosticsHoming.c | 6 +- 6 files changed, 87 insertions(+), 87 deletions(-) diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h index 1ecedf00c..ede5df6a4 100644 --- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h +++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h @@ -1034,23 +1034,23 @@ typedef union struct // A - Air // { // C - Cartridge // //Dry air Valves // L - Left // - bool VALVE_2W_MID_AIR_LF : 1; //0 MIDTANK2MANIF4_VALVE_2 // R - Right // - bool VALVE_2W_MID_AIR_RF : 1; //1 MIDTANK2MANIF4_VALVE_1 // F - Front // - bool VALVE_2W_MID_AIR_LMF : 1; //2 MIDTANK2MANIF3_VALVE_2 // B - Back // - bool VALVE_2W_MID_AIR_RMF : 1; //3 MIDTANK2MANIF3_VALVE_1 // M - Middle // - bool VALVE_2W_MID_AIR_LMB : 1; //4 MIDTANK2MANIF2_VALVE_2 // -------------------- // - bool VALVE_2W_MID_AIR_RMB : 1; //5 MIDTANK2MANIF2_VALVE_1 // A [LB] A [RB] // - bool VALVE_2W_MID_AIR_LB : 1; //6 MIDTANK2MANIF1_VALVE_2 // C [LB] C [RB] // - bool VALVE_2W_MID_AIR_RB : 1; //7 MIDTANK2MANIF1_VALVE_1 // // - // A [LMB] A [RMB] // - bool VALVE_2W_CART_MID_LF : 1; //8 CART2MIDTANK4_VALVE_2 // C [LMB] C [RMB] // - bool VALVE_2W_CART_MID_RF : 1; //9 CART2MIDTANK4_VALVE_1 // // - bool VALVE_2W_CART_MID_LMF : 1; //10 CART2MIDTANK3_VALVE_2 // A [LMF] A [RMF] // - bool VALVE_2W_CART_MID_RMF : 1; //11 CART2MIDTANK3_VALVE_1 // C [LMF] C [RMF] // - bool VALVE_2W_CART_MID_LMB : 1; //12 CART2MIDTANK2_VALVE_2 // // - bool VALVE_2W_CART_MID_RMB : 1; //13 CART2MIDTANK2_VALVE_1 // A [LF] A [RF] // - bool VALVE_2W_CART_MID_LB : 1; //14 CART2MIDTANK1_VALVE_2 // C [LF] C [RF] // - bool VALVE_2W_CART_MID_RB : 1; //15 CART2MIDTANK1_VALVE_1 // // + bool VALVE_2W_MID_AIR_8 : 1; //0 MIDTANK2MANIF4_VALVE_2 // R - Right // + bool VALVE_2W_MID_AIR_4 : 1; //1 MIDTANK2MANIF4_VALVE_1 // F - Front // + bool VALVE_2W_MID_AIR_7 : 1; //2 MIDTANK2MANIF3_VALVE_2 // B - Back // + bool VALVE_2W_MID_AIR_3 : 1; //3 MIDTANK2MANIF3_VALVE_1 // M - Middle // + bool VALVE_2W_MID_AIR_6 : 1; //4 MIDTANK2MANIF2_VALVE_2 // -------------------- // + bool VALVE_2W_MID_AIR_2 : 1; //5 MIDTANK2MANIF2_VALVE_1 // A [7] A [8] // + bool VALVE_2W_MID_AIR_5 : 1; //6 MIDTANK2MANIF1_VALVE_2 // C [7] C [8] // + bool VALVE_2W_MID_AIR_1 : 1; //7 MIDTANK2MANIF1_VALVE_1 // // + // A [5] A [6] // + bool VALVE_2W_CART_MID_8 : 1; //8 CART2MIDTANK4_VALVE_2 // C [5] C [6] // + bool VALVE_2W_CART_MID_4 : 1; //9 CART2MIDTANK4_VALVE_1 // // + bool VALVE_2W_CART_MID_7 : 1; //10 CART2MIDTANK3_VALVE_2 // A [3] A [4] // + bool VALVE_2W_CART_MID_3 : 1; //11 CART2MIDTANK3_VALVE_1 // C [3] C [4] // + bool VALVE_2W_CART_MID_6 : 1; //12 CART2MIDTANK2_VALVE_2 // // + bool VALVE_2W_CART_MID_2 : 1; //13 CART2MIDTANK2_VALVE_1 // A [1] A [2] // + bool VALVE_2W_CART_MID_5 : 1; //14 CART2MIDTANK1_VALVE_2 // C [1] C [2] // + bool VALVE_2W_CART_MID_1 : 1; //15 CART2MIDTANK1_VALVE_1 // // }bits; // FRONT // unsigned short ushort; //--------------------------// }VALVE_GPO_REG; diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c index 7d27ec2db..330ffb2a8 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c @@ -120,35 +120,35 @@ uint32_t Read_MidTank_Pressure_Sensor(MidTank_t MidTank_ID) //0-7 switch(MidTank_ID) { - case MIDTANK_RB: + case MIDTANK_1: I2C_Slave_Add = 0x44; Channel = 0x20; break; - case MIDTANK_RMB: + case MIDTANK_2: I2C_Slave_Add = 0x44; Channel = 0x10; break; - case MIDTANK_RMF: + case MIDTANK_3: I2C_Slave_Add = 0x44; Channel = 0x08; break; - case MIDTANK_RF: + case MIDTANK_4: I2C_Slave_Add = 0x44; Channel = 0x04; break; - case MIDTANK_LB: + case MIDTANK_5: I2C_Slave_Add = 0x46; Channel = 0x80; break; - case MIDTANK_LMB: + case MIDTANK_6: I2C_Slave_Add = 0x46; Channel = 0x40; break; - case MIDTANK_LMF: + case MIDTANK_7: I2C_Slave_Add = 0x46; Channel = 0x20; break; - case MIDTANK_LF: + case MIDTANK_8: I2C_Slave_Add = 0x46; Channel = 0x10; break; diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.h b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.h index fb50a2a73..974628f6a 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.h +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.h @@ -12,14 +12,14 @@ typedef enum { - MIDTANK_RB, - MIDTANK_RMB, - MIDTANK_RMF, - MIDTANK_RF, - MIDTANK_LB, - MIDTANK_LMB, - MIDTANK_LMF, - MIDTANK_LF, + MIDTANK_1, + MIDTANK_2, + MIDTANK_3, + MIDTANK_4, + MIDTANK_5, + MIDTANK_6, + MIDTANK_7, + MIDTANK_8, NUM_OF_MIDTANKS, } MidTank_t; diff --git a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c index 3c7b9847a..66d6c457b 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c +++ b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c @@ -64,55 +64,55 @@ void Valve_Command(Valves_t Valve_Id) //1 - OPEN, 0 - CLOSE switch(Valve_Id) { //Dry air Valves - case VALVE_2W_MID_AIR_LF: - Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_LF = ValveRequest[Valve_Id].Direction; + case VALVE_2W_MID_AIR_8: + Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_8 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_MID_AIR_RF: - Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_RF = ValveRequest[Valve_Id].Direction; + case VALVE_2W_MID_AIR_4: + Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_4 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_MID_AIR_LMF: - Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_LMF = ValveRequest[Valve_Id].Direction; + case VALVE_2W_MID_AIR_7: + Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_7 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_MID_AIR_RMF: - Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_RMF = ValveRequest[Valve_Id].Direction; + case VALVE_2W_MID_AIR_3: + Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_3 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_MID_AIR_LMB: - Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_LMB = ValveRequest[Valve_Id].Direction; + case VALVE_2W_MID_AIR_6: + Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_6 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_MID_AIR_RMB: - Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_RMB = ValveRequest[Valve_Id].Direction; + case VALVE_2W_MID_AIR_2: + Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_2 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_MID_AIR_LB: - Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_LB = ValveRequest[Valve_Id].Direction; + case VALVE_2W_MID_AIR_5: + Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_5 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_MID_AIR_RB: - Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_RB = ValveRequest[Valve_Id].Direction; + case VALVE_2W_MID_AIR_1: + Valve_GPO_Reg.bits.VALVE_2W_MID_AIR_1 = ValveRequest[Valve_Id].Direction; break; //Dispenser Valves - case VALVE_2W_CART_MID_LF: - Valve_GPO_Reg.bits.VALVE_2W_CART_MID_LF = ValveRequest[Valve_Id].Direction; + case VALVE_2W_CART_MID_8: + Valve_GPO_Reg.bits.VALVE_2W_CART_MID_8 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_CART_MID_RF: - Valve_GPO_Reg.bits.VALVE_2W_CART_MID_RF = ValveRequest[Valve_Id].Direction; + case VALVE_2W_CART_MID_4: + Valve_GPO_Reg.bits.VALVE_2W_CART_MID_4 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_CART_MID_LMF: - Valve_GPO_Reg.bits.VALVE_2W_CART_MID_LMF = ValveRequest[Valve_Id].Direction; + case VALVE_2W_CART_MID_7: + Valve_GPO_Reg.bits.VALVE_2W_CART_MID_7 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_CART_MID_RMF: - Valve_GPO_Reg.bits.VALVE_2W_CART_MID_RMF = ValveRequest[Valve_Id].Direction; + case VALVE_2W_CART_MID_3: + Valve_GPO_Reg.bits.VALVE_2W_CART_MID_3 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_CART_MID_LMB: - Valve_GPO_Reg.bits.VALVE_2W_CART_MID_LMB = ValveRequest[Valve_Id].Direction; + case VALVE_2W_CART_MID_6: + Valve_GPO_Reg.bits.VALVE_2W_CART_MID_6 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_CART_MID_RMB: - Valve_GPO_Reg.bits.VALVE_2W_CART_MID_RMB = ValveRequest[Valve_Id].Direction; + case VALVE_2W_CART_MID_2: + Valve_GPO_Reg.bits.VALVE_2W_CART_MID_2 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_CART_MID_LB: - Valve_GPO_Reg.bits.VALVE_2W_CART_MID_LB = ValveRequest[Valve_Id].Direction; + case VALVE_2W_CART_MID_5: + Valve_GPO_Reg.bits.VALVE_2W_CART_MID_5 = ValveRequest[Valve_Id].Direction; break; - case VALVE_2W_CART_MID_RB: - Valve_GPO_Reg.bits.VALVE_2W_CART_MID_RB = ValveRequest[Valve_Id].Direction; + case VALVE_2W_CART_MID_1: + Valve_GPO_Reg.bits.VALVE_2W_CART_MID_1 = ValveRequest[Valve_Id].Direction; break; // Waste Valves diff --git a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.h b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.h index 593076eb9..ec6de35e1 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.h +++ b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.h @@ -49,26 +49,26 @@ typedef enum */ //---------------------------------------------------------------------------// //Dry Air - Middle Tank // A - Air // - VALVE_2W_MID_AIR_LF, //MIDTANK2MANIF4_VALVE_2 // C - Cartridge // - VALVE_2W_MID_AIR_RF, //MIDTANK2MANIF4_VALVE_1 // L - Left // - VALVE_2W_MID_AIR_LMF, //MIDTANK2MANIF3_VALVE_2 // R - Right // - VALVE_2W_MID_AIR_RMF, //MIDTANK2MANIF3_VALVE_1 // F - Front // - VALVE_2W_MID_AIR_LMB, //MIDTANK2MANIF2_VALVE_2 // B - Back // - VALVE_2W_MID_AIR_RMB, //MIDTANK2MANIF2_VALVE_1 // M - Middle // - VALVE_2W_MID_AIR_LB, //MIDTANK2MANIF1_VALVE_2 // -------------------- // - VALVE_2W_MID_AIR_RB, //MIDTANK2MANIF1_VALVE_1 // A [LB] A [RB] // - // C [LB] C [RB] // + VALVE_2W_MID_AIR_8, //MIDTANK2MANIF4_VALVE_2 // C - Cartridge // + VALVE_2W_MID_AIR_4, //MIDTANK2MANIF4_VALVE_1 // L - Left // + VALVE_2W_MID_AIR_7, //MIDTANK2MANIF3_VALVE_2 // R - Right // + VALVE_2W_MID_AIR_3, //MIDTANK2MANIF3_VALVE_1 // F - Front // + VALVE_2W_MID_AIR_6, //MIDTANK2MANIF2_VALVE_2 // B - Back // + VALVE_2W_MID_AIR_2, //MIDTANK2MANIF2_VALVE_1 // M - Middle // + VALVE_2W_MID_AIR_5, //MIDTANK2MANIF1_VALVE_2 // -------------------- // + VALVE_2W_MID_AIR_1, //MIDTANK2MANIF1_VALVE_1 // A [7] A [8] // + // C [7] C [8] // // // - // A [LMB] A [RMB] // - //Cartridge - Middle Tank // C [LMB] C [RMB] // - VALVE_2W_CART_MID_LF, //CART2MIDTANK4_VALVE_2 // // - VALVE_2W_CART_MID_RF, //CART2MIDTANK4_VALVE_1 // A [LMF] A [RMF] // - VALVE_2W_CART_MID_LMF, //CART2MIDTANK3_VALVE_2 // C [LMF] C [RMF] // - VALVE_2W_CART_MID_RMF, //CART2MIDTANK3_VALVE_1 // // - VALVE_2W_CART_MID_LMB, //CART2MIDTANK2_VALVE_2 // A [LF] A [RF] // - VALVE_2W_CART_MID_RMB, //CART2MIDTANK2_VALVE_1 // C [LF] C [RF] // - VALVE_2W_CART_MID_LB, //CART2MIDTANK1_VALVE_2 // // - VALVE_2W_CART_MID_RB, //CART2MIDTANK1_VALVE_1 // FRONT // + // A [5] A [6] // + //Cartridge - Middle Tank // C [5] C [6] // + VALVE_2W_CART_MID_8, //CART2MIDTANK4_VALVE_2 // // + VALVE_2W_CART_MID_4, //CART2MIDTANK4_VALVE_1 // A [3] A [4] // + VALVE_2W_CART_MID_7, //CART2MIDTANK3_VALVE_2 // C [3] C [4] // + VALVE_2W_CART_MID_3, //CART2MIDTANK3_VALVE_1 // // + VALVE_2W_CART_MID_6, //CART2MIDTANK2_VALVE_2 // A [1] A [2] // + VALVE_2W_CART_MID_2, //CART2MIDTANK2_VALVE_1 // C [1] C [2] // + VALVE_2W_CART_MID_5, //CART2MIDTANK1_VALVE_2 // // + VALVE_2W_CART_MID_1, //CART2MIDTANK1_VALVE_1 // FRONT // //---------------------------------------------------------------------------// // Waste Valves diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c index e376175d4..dfd45ec3d 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c @@ -182,7 +182,7 @@ uint32_t DispenserHomingRequestCallback(uint32_t deviceID, uint32_t ReadValue) uint8_t DispenserId = deviceID-HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1; //close dry air valve in the dispenser - Valve_Set((Valves_t) (DispenserId+VALVE_2W_MID_AIR_LF), Atm_MidTank_OFF); + Valve_Set((Valves_t) (DispenserId+VALVE_2W_MID_AIR_8), Atm_MidTank_OFF); MotorSetMicroStep(deviceID, MotorsCfg[deviceID].microstep); responseContainer = createContainer(MESSAGE_TYPE__DispenserHomingResponse, HomingToken[deviceID], true, &response, &motor_homing_response__pack, &motor_homing_response__get_packed_size); @@ -229,7 +229,7 @@ uint32_t DispenserHomingRequestFunc(MessageContainer* requestContainer) Control3WayValvesWithCallback ((Valves_t) request->index, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer //Valve_Set((Valves_t) request->index, MidTank_Dispenser); //open dry air valve in the dispenser - Valve_Set((Valves_t) (request->index+VALVE_2W_MID_AIR_LF), Atm_MidTank_ON); + Valve_Set((Valves_t) (request->index+VALVE_2W_MID_AIR_8), Atm_MidTank_ON); MotorSetMicroStep(MotorId, 1); @@ -253,7 +253,7 @@ uint32_t DispenserAbortHomingRequestFunc(MessageContainer* requestContainer) TimerMotors_t MotorId = (request->index)+HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1; MotorAbortMovetoLimitSwitch(MotorId); //close dry air valve in the dispenser - Valve_Set((Valves_t) ((request->index)+VALVE_2W_MID_AIR_LF), Atm_MidTank_OFF); + Valve_Set((Valves_t) ((request->index)+VALVE_2W_MID_AIR_8), Atm_MidTank_OFF); responseContainer = createContainer(MESSAGE_TYPE__DispenserAbortHomingResponse, requestContainer->token, false, &response, &dispenser_abort_homing_response__pack, &dispenser_abort_homing_response__get_packed_size); responseContainer.continuous = false; -- cgit v1.3.1 From a7fe3ddc7349fe00f0772f6aae32ca186495ff40 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Mon, 3 Sep 2018 11:52:45 +0300 Subject: Dispenser homing functions moved to IDS. valves external interface improved --- .../Embedded/Communication/Connection.c | 5 +- .../Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h | 36 ++++----- .../Embedded_SW/Embedded/Drivers/Valves/Valve.c | 3 + .../Embedded_SW/Embedded/Drivers/Valves/Valve.h | 68 +++++----------- .../Embedded/Modules/AlarmHandling/AlarmHandling.c | 4 +- .../Modules/Diagnostics/DiagnosticsHoming.c | 15 ++-- Software/Embedded_SW/Embedded/Modules/IDS/IDS_ex.h | 4 + .../Embedded_SW/Embedded/Modules/IDS/IDS_maint.c | 93 ++++++++++++++++++++++ 8 files changed, 154 insertions(+), 74 deletions(-) diff --git a/Software/Embedded_SW/Embedded/Communication/Connection.c b/Software/Embedded_SW/Embedded/Communication/Connection.c index 0b539b276..b01750529 100644 --- a/Software/Embedded_SW/Embedded/Communication/Connection.c +++ b/Software/Embedded_SW/Embedded/Communication/Connection.c @@ -64,11 +64,11 @@ void ConnectionRequest(MessageContainer* requestContainer) FPGA_ReadVersion(1, &Major, &Year, &Month, &Day); usnprintf(FPGA2Version, 20, "%d.%d.%d.%d",Major,Year, Month, Day); - DevInfo.fpga2version = FPGA1Version; + DevInfo.fpga2version = FPGA2Version; FPGA_ReadVersion(2, &Major, &Year, &Month, &Day); usnprintf(FPGA3Version, 20, "%d.%d.%d.%d",Major,Year, Month, Day); - DevInfo.fpga3version = FPGA1Version; + DevInfo.fpga3version = FPGA3Version; Read_HW_Version(BoardVersion, AssyVersion); @@ -76,6 +76,7 @@ void ConnectionRequest(MessageContainer* requestContainer) DevInfo.assemblyversion = AssyVersion; + responseContainer = createContainer(MESSAGE_TYPE__ConnectResponse, requestContainer->token, true, &response, &connect_response__pack, &connect_response__get_packed_size); //------------------------------------------------------------------------------------------- diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h index ede5df6a4..bc740449e 100644 --- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h +++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h @@ -1030,29 +1030,29 @@ typedef union //F3_VALVE_OUT typedef union -{ //--------------------------// - struct // A - Air // - { // C - Cartridge // - //Dry air Valves // L - Left // +{ //--------------------------// + struct // A - Air // + { // C - Cartridge // + //Dry air Valves // L - Left // bool VALVE_2W_MID_AIR_8 : 1; //0 MIDTANK2MANIF4_VALVE_2 // R - Right // bool VALVE_2W_MID_AIR_4 : 1; //1 MIDTANK2MANIF4_VALVE_1 // F - Front // - bool VALVE_2W_MID_AIR_7 : 1; //2 MIDTANK2MANIF3_VALVE_2 // B - Back // - bool VALVE_2W_MID_AIR_3 : 1; //3 MIDTANK2MANIF3_VALVE_1 // M - Middle // - bool VALVE_2W_MID_AIR_6 : 1; //4 MIDTANK2MANIF2_VALVE_2 // -------------------- // - bool VALVE_2W_MID_AIR_2 : 1; //5 MIDTANK2MANIF2_VALVE_1 // A [7] A [8] // - bool VALVE_2W_MID_AIR_5 : 1; //6 MIDTANK2MANIF1_VALVE_2 // C [7] C [8] // + bool VALVE_2W_MID_AIR_7 : 1; //2 MIDTANK2MANIF3_VALVE_2 // B - Back // + bool VALVE_2W_MID_AIR_3 : 1; //3 MIDTANK2MANIF3_VALVE_1 // M - Middle // + bool VALVE_2W_MID_AIR_6 : 1; //4 MIDTANK2MANIF2_VALVE_2 // -------------------- // + bool VALVE_2W_MID_AIR_2 : 1; //5 MIDTANK2MANIF2_VALVE_1 // A [7] A [8] // + bool VALVE_2W_MID_AIR_5 : 1; //6 MIDTANK2MANIF1_VALVE_2 // C [7] C [8] // bool VALVE_2W_MID_AIR_1 : 1; //7 MIDTANK2MANIF1_VALVE_1 // // - // A [5] A [6] // - bool VALVE_2W_CART_MID_8 : 1; //8 CART2MIDTANK4_VALVE_2 // C [5] C [6] // + // A [5] A [6] // + bool VALVE_2W_CART_MID_8 : 1; //8 CART2MIDTANK4_VALVE_2 // C [5] C [6] // bool VALVE_2W_CART_MID_4 : 1; //9 CART2MIDTANK4_VALVE_1 // // - bool VALVE_2W_CART_MID_7 : 1; //10 CART2MIDTANK3_VALVE_2 // A [3] A [4] // - bool VALVE_2W_CART_MID_3 : 1; //11 CART2MIDTANK3_VALVE_1 // C [3] C [4] // - bool VALVE_2W_CART_MID_6 : 1; //12 CART2MIDTANK2_VALVE_2 // // - bool VALVE_2W_CART_MID_2 : 1; //13 CART2MIDTANK2_VALVE_1 // A [1] A [2] // - bool VALVE_2W_CART_MID_5 : 1; //14 CART2MIDTANK1_VALVE_2 // C [1] C [2] // + bool VALVE_2W_CART_MID_7 : 1; //10 CART2MIDTANK3_VALVE_2 // A [3] A [4] // + bool VALVE_2W_CART_MID_3 : 1; //11 CART2MIDTANK3_VALVE_1 // C [3] C [4] // + bool VALVE_2W_CART_MID_6 : 1; //12 CART2MIDTANK2_VALVE_2 // // + bool VALVE_2W_CART_MID_2 : 1; //13 CART2MIDTANK2_VALVE_1 // A [1] A [2] // + bool VALVE_2W_CART_MID_5 : 1; //14 CART2MIDTANK1_VALVE_2 // C [1] C [2] // bool VALVE_2W_CART_MID_1 : 1; //15 CART2MIDTANK1_VALVE_1 // // - }bits; // FRONT // - unsigned short ushort; //--------------------------// + }bits; // FRONT // + unsigned short ushort; //--------------------------// }VALVE_GPO_REG; diff --git a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c index 66d6c457b..51446df69 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c +++ b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c @@ -24,6 +24,9 @@ VALVE_GPO_REG Valve_GPO_Reg; F1_GPO_REG F1_GPO_Reg; DISPENSER_VALVE_GPO_REG Dispenser_Valve_GPO_Reg; +Valves_t IDS_Id_to_AirValve[MAX_IDS_UNITS] = {VALVE_2W_MID_AIR_1,VALVE_2W_MID_AIR_2,VALVE_2W_MID_AIR_3,VALVE_2W_MID_AIR_4,VALVE_2W_MID_AIR_5,VALVE_2W_MID_AIR_6,VALVE_2W_MID_AIR_7,VALVE_2W_MID_AIR_8}; +Valves_t IDS_Id_to_CartrideValve[MAX_IDS_UNITS] = {VALVE_2W_CART_MID_1,VALVE_2W_CART_MID_2,VALVE_2W_CART_MID_3,VALVE_2W_CART_MID_4,VALVE_2W_CART_MID_5,VALVE_2W_CART_MID_6,VALVE_2W_CART_MID_7,VALVE_2W_CART_MID_8}; + typedef struct { //bool EnableDisable; //TODO - to check if needed diff --git a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.h b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.h index ec6de35e1..df20d05ff 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.h +++ b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.h @@ -8,7 +8,7 @@ #ifndef DRIVERS_VALVES_VALVE_H_ #define DRIVERS_VALVES_VALVE_H_ - +#define MAX_IDS_UNITS 8 typedef enum { //Dispenser Valves @@ -21,54 +21,28 @@ typedef enum VALVE_DISPENSER_6, VALVE_DISPENSER_7, VALVE_DISPENSER_8, -/* new - //---------------------------------------------------------------------------// - //Dry Air - Middle Tank // A - Air // - VALVE_2W_MID_AIR_RB, //MIDTANK2MANIF4_VALVE_2 // C - Cartridge // - VALVE_2W_MID_AIR_RMB, //MIDTANK2MANIF4_VALVE_1 // L - Left // - VALVE_2W_MID_AIR_RMF, //MIDTANK2MANIF3_VALVE_2 // R - Right // - VALVE_2W_MID_AIR_RF, //MIDTANK2MANIF3_VALVE_1 // F - Front // - VALVE_2W_MID_AIR_LB, //MIDTANK2MANIF2_VALVE_2 // B - Back // - VALVE_2W_MID_AIR_LMB, //MIDTANK2MANIF2_VALVE_1 // M - Middle // - VALVE_2W_MID_AIR_LMF, //MIDTANK2MANIF1_VALVE_2 // -------------------- // - VALVE_2W_MID_AIR_LF, //MIDTANK2MANIF1_VALVE_1 // A [LB] A [RB] // - // C [LB] C [RB] // - // // - // A [LMB] A [RMB] // - //Cartridge - Middle Tank // C [LMB] C [RMB] // - VALVE_2W_CART_MID_RB, //CART2MIDTANK4_VALVE_2 // // - VALVE_2W_CART_MID_RMB, //CART2MIDTANK4_VALVE_1 // A [LMF] A [RMF] // - VALVE_2W_CART_MID_RMF, //CART2MIDTANK3_VALVE_2 // C [LMF] C [RMF] // - VALVE_2W_CART_MID_RF, //CART2MIDTANK3_VALVE_1 // // - VALVE_2W_CART_MID_LB, //CART2MIDTANK2_VALVE_2 // A [LF] A [RF] // - VALVE_2W_CART_MID_LMB, //CART2MIDTANK2_VALVE_1 // C [LF] C [RF] // - VALVE_2W_CART_MID_LMF, //CART2MIDTANK1_VALVE_2 // // - VALVE_2W_CART_MID_LF, //CART2MIDTANK1_VALVE_1 // FRONT // - //---------------------------------------------------------------------------// - -*/ //---------------------------------------------------------------------------// //Dry Air - Middle Tank // A - Air // - VALVE_2W_MID_AIR_8, //MIDTANK2MANIF4_VALVE_2 // C - Cartridge // - VALVE_2W_MID_AIR_4, //MIDTANK2MANIF4_VALVE_1 // L - Left // - VALVE_2W_MID_AIR_7, //MIDTANK2MANIF3_VALVE_2 // R - Right // - VALVE_2W_MID_AIR_3, //MIDTANK2MANIF3_VALVE_1 // F - Front // - VALVE_2W_MID_AIR_6, //MIDTANK2MANIF2_VALVE_2 // B - Back // - VALVE_2W_MID_AIR_2, //MIDTANK2MANIF2_VALVE_1 // M - Middle // - VALVE_2W_MID_AIR_5, //MIDTANK2MANIF1_VALVE_2 // -------------------- // - VALVE_2W_MID_AIR_1, //MIDTANK2MANIF1_VALVE_1 // A [7] A [8] // - // C [7] C [8] // + VALVE_2W_MID_AIR_8, //MIDTANK2MANIF4_VALVE_2 // C - Cartridge // + VALVE_2W_MID_AIR_4, //MIDTANK2MANIF4_VALVE_1 // L - Left // + VALVE_2W_MID_AIR_7, //MIDTANK2MANIF3_VALVE_2 // R - Right // + VALVE_2W_MID_AIR_3, //MIDTANK2MANIF3_VALVE_1 // F - Front // + VALVE_2W_MID_AIR_6, //MIDTANK2MANIF2_VALVE_2 // B - Back // + VALVE_2W_MID_AIR_2, //MIDTANK2MANIF2_VALVE_1 // M - Middle // + VALVE_2W_MID_AIR_5, //MIDTANK2MANIF1_VALVE_2 // -------------------- // + VALVE_2W_MID_AIR_1, //MIDTANK2MANIF1_VALVE_1 // A [7] A [8] // + // C [7] C [8] // // // - // A [5] A [6] // - //Cartridge - Middle Tank // C [5] C [6] // - VALVE_2W_CART_MID_8, //CART2MIDTANK4_VALVE_2 // // - VALVE_2W_CART_MID_4, //CART2MIDTANK4_VALVE_1 // A [3] A [4] // - VALVE_2W_CART_MID_7, //CART2MIDTANK3_VALVE_2 // C [3] C [4] // - VALVE_2W_CART_MID_3, //CART2MIDTANK3_VALVE_1 // // - VALVE_2W_CART_MID_6, //CART2MIDTANK2_VALVE_2 // A [1] A [2] // - VALVE_2W_CART_MID_2, //CART2MIDTANK2_VALVE_1 // C [1] C [2] // - VALVE_2W_CART_MID_5, //CART2MIDTANK1_VALVE_2 // // - VALVE_2W_CART_MID_1, //CART2MIDTANK1_VALVE_1 // FRONT // + // A [5] A [6] // + //Cartridge - Middle Tank // C [5] C [6] // + VALVE_2W_CART_MID_8, //CART2MIDTANK4_VALVE_2 // // + VALVE_2W_CART_MID_4, //CART2MIDTANK4_VALVE_1 // A [3] A [4] // + VALVE_2W_CART_MID_7, //CART2MIDTANK3_VALVE_2 // C [3] C [4] // + VALVE_2W_CART_MID_3, //CART2MIDTANK3_VALVE_1 // // + VALVE_2W_CART_MID_6, //CART2MIDTANK2_VALVE_2 // A [1] A [2] // + VALVE_2W_CART_MID_2, //CART2MIDTANK2_VALVE_1 // C [1] C [2] // + VALVE_2W_CART_MID_5, //CART2MIDTANK1_VALVE_2 // // + VALVE_2W_CART_MID_1, //CART2MIDTANK1_VALVE_1 // FRONT // //---------------------------------------------------------------------------// // Waste Valves @@ -78,6 +52,8 @@ typedef enum NUM_OF_VALVES, } Valves_t; +extern Valves_t IDS_Id_to_AirValve[MAX_IDS_UNITS]; +extern Valves_t IDS_Id_to_CartrideValve[MAX_IDS_UNITS]; void Valve_Command(Valves_t Valve_Id); void Valve_Set(Valves_t Valve_Id, bool Direction); diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c index 20466325a..261b9e049 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c @@ -104,14 +104,14 @@ AlarmHandlingItem AlarmItem[MAX_SYSTEM_ALARMS]={ {100,LimitSwitchAlarm,GPI_LS_DISPENSER_UP_6,false,true,DEBUG_LOG_CATEGORY__Error,0xFF,0,0,false,EVENT_TYPE__Dispenser6Empty,NULL}, {100,LimitSwitchAlarm,GPI_LS_DISPENSER_UP_7,false,true,DEBUG_LOG_CATEGORY__Error,0xFF,0,0,false,EVENT_TYPE__Dispenser7Empty,NULL}, {100,LimitSwitchAlarm,GPI_LS_DISPENSER_UP_8,false,true,DEBUG_LOG_CATEGORY__Error,0xFF,0,0,false,EVENT_TYPE__Dispenser8Empty,NULL}, -{100,LimitSwitchAlarm,GPI_LS_DISPENSER_25_1,false,true,DEBUG_LOG_CATEGORY__Warning,0,0,0,false,EVENT_TYPE__Dispenser1LowLevel,NULL}, +/*{100,LimitSwitchAlarm,GPI_LS_DISPENSER_25_1,false,true,DEBUG_LOG_CATEGORY__Warning,0,0,0,false,EVENT_TYPE__Dispenser1LowLevel,NULL}, {100,LimitSwitchAlarm,GPI_LS_DISPENSER_25_2,false,true,DEBUG_LOG_CATEGORY__Warning,1,0,0,false,EVENT_TYPE__Dispenser2LowLevel,NULL}, {100,LimitSwitchAlarm,GPI_LS_DISPENSER_25_3,false,true,DEBUG_LOG_CATEGORY__Warning,2,0,0,false,EVENT_TYPE__Dispenser3LowLevel,NULL}, {100,LimitSwitchAlarm,GPI_LS_DISPENSER_25_4,false,true,DEBUG_LOG_CATEGORY__Warning,3,0,0,false,EVENT_TYPE__Dispenser4LowLevel,NULL}, {100,LimitSwitchAlarm,GPI_LS_DISPENSER_25_5,false,true,DEBUG_LOG_CATEGORY__Warning,4,0,0,false,EVENT_TYPE__Dispenser5LowLevel,NULL}, {100,LimitSwitchAlarm,GPI_LS_DISPENSER_25_6,false,true,DEBUG_LOG_CATEGORY__Warning,5,0,0,false,EVENT_TYPE__Dispenser6LowLevel,NULL}, {100,LimitSwitchAlarm,GPI_LS_DISPENSER_25_7,false,true,DEBUG_LOG_CATEGORY__Warning,6,0,0,false,EVENT_TYPE__Dispenser7LowLevel,NULL}, -{100,LimitSwitchAlarm,GPI_LS_DISPENSER_25_8,false,true,DEBUG_LOG_CATEGORY__Warning,7,0,0,false,EVENT_TYPE__Dispenser8LowLevel,NULL}, +{100,LimitSwitchAlarm,GPI_LS_DISPENSER_25_8,false,true,DEBUG_LOG_CATEGORY__Warning,7,0,0,false,EVENT_TYPE__Dispenser8LowLevel,NULL},*/ {100,TemperatureAlarm,TEMP_SENSE_ANALOG_MIXCHIP_TEMP,250,true,DEBUG_LOG_CATEGORY__Error,0xFF,0,0,false,EVENT_TYPE__GeneralInternalOverTemperature,NULL}, {100,TemperatureAlarm,TEMP_SENSE_AN_ENCLOSURETEMP1,250,true,DEBUG_LOG_CATEGORY__Error,0xFF,0,0,false,EVENT_TYPE__GeneralInternalOverTemperature,NULL}, {100,TemperatureAlarm,TEMP_SENSE_AN_ENCLOSURETEMP2,80,true,DEBUG_LOG_CATEGORY__Error,0xFF,0,0,false,EVENT_TYPE__GeneralInternalOverTemperature,NULL}, diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c index dfd45ec3d..0583f6caa 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c @@ -179,11 +179,11 @@ uint32_t DispenserHomingRequestCallback(uint32_t deviceID, uint32_t ReadValue) MessageContainer responseContainer; MotorHomingResponse response = MOTOR_HOMING_RESPONSE__INIT; - uint8_t DispenserId = deviceID-HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1; + //uint8_t DispenserId = deviceID-HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1; //close dry air valve in the dispenser - Valve_Set((Valves_t) (DispenserId+VALVE_2W_MID_AIR_8), Atm_MidTank_OFF); - MotorSetMicroStep(deviceID, MotorsCfg[deviceID].microstep); + //Valve_Set((Valves_t) (DispenserId+VALVE_2W_MID_AIR_8), Atm_MidTank_OFF); + //MotorSetMicroStep(deviceID, MotorsCfg[deviceID].microstep); responseContainer = createContainer(MESSAGE_TYPE__DispenserHomingResponse, HomingToken[deviceID], true, &response, &motor_homing_response__pack, &motor_homing_response__get_packed_size); responseContainer.continuous = true; @@ -223,7 +223,8 @@ uint32_t DispenserHomingRequestFunc(MessageContainer* requestContainer) { if ((JobIsActive() == false)&&(isMotorConfigured(MotorId) == true)) { - if ( Motor_Id_to_LS_Id[MotorId] != MAX_GPI) + IDS_HomeDispenser(request->index,speed,DispenserHomingRequestCallback); + /*if ( Motor_Id_to_LS_Id[MotorId] != MAX_GPI) { //open dispenser valve dispenser to midtank direction Control3WayValvesWithCallback ((Valves_t) request->index, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer @@ -235,7 +236,7 @@ uint32_t DispenserHomingRequestFunc(MessageContainer* requestContainer) MotorMovetoLimitSwitch (MotorId,1-MotorsCfg[MotorId].directionthreadwize, speed, Motor_Id_to_LS_Id[MotorId], DispenserHomingRequestCallback); return OK; - } + }*/ } } @@ -250,11 +251,13 @@ uint32_t DispenserAbortHomingRequestFunc(MessageContainer* requestContainer) DispenserAbortHomingResponse response = DISPENSER_ABORT_HOMING_RESPONSE__INIT; + IDS_StopHomeDispenser(request->index); +/* TimerMotors_t MotorId = (request->index)+HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1; MotorAbortMovetoLimitSwitch(MotorId); //close dry air valve in the dispenser Valve_Set((Valves_t) ((request->index)+VALVE_2W_MID_AIR_8), Atm_MidTank_OFF); - +*/ responseContainer = createContainer(MESSAGE_TYPE__DispenserAbortHomingResponse, requestContainer->token, false, &response, &dispenser_abort_homing_response__pack, &dispenser_abort_homing_response__get_packed_size); responseContainer.continuous = false; uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer)); diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_ex.h b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_ex.h index ea5505642..75d86fdd7 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_ex.h +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_ex.h @@ -21,6 +21,10 @@ uint32_t IDSEndState(void *JobDetails); uint32_t IDS_DispenserPidRequestMessage(HardwarePidControl* request); +uint32_t IDS_HomeDispenser (uint32_t deviceID, uint32_t speed , callback_fptr callback); +uint32_t IDS_StopHomeDispenser (uint32_t deviceID); + + float CalculateDispenserPressure (int DispenserId); float GetDispenserPressure(int DispenserId); diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c index e69de29bb..73d1aa2b1 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c @@ -0,0 +1,93 @@ +/************************************************************************************************************************ + * Ids_maint.c + * Printing module is responsible for : + * operating the dispensers according to predefined dispensing rate from the UI + **************************************************************************************************************************/ +#include "include.h" +#include "ids.h" +#include "ids_ex.h" +#include "../control/control.h" +#include "../control/pidalgo.h" +#include "../thread/thread.h" +#include "PMR/Hardware/Hardwaremotor.pb-c.h" +#include "PMR/Hardware/HardwareDispenser.pb-c.h" +#include "StateMachines/Printing/printingSTM.h" + +#include "drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h" +#include "drivers/Motors/Motor.h" +#include "drivers/Valves/Valve.h" + +FPGA_GPI_ENUM Dispenser_Id_to_LS_Id[MAX_SYSTEM_DISPENSERS] = { + GPI_LS_DISPENSER_DOWN_1, //MOTO_DISPENSER_1 = 6, + GPI_LS_DISPENSER_DOWN_2, //MOTO_DISPENSER_2 = 7, + GPI_LS_DISPENSER_DOWN_3, //MOTO_DISPENSER_3 = 8, + GPI_LS_DISPENSER_DOWN_4, //MOTO_DISPENSER_4 = 9, + GPI_LS_DISPENSER_DOWN_5, //MOTO_DISPENSER_5 = 10, + GPI_LS_DISPENSER_DOWN_6, //MOTO_DISPENSER_6 = 11, + GPI_LS_DISPENSER_DOWN_7, //MOTO_DISPENSER_7 = 12, + GPI_LS_DISPENSER_DOWN_8, //MOTO_DISPENSER_8 = 13, +}; +callback_fptr HomingRequestCallback[MAX_SYSTEM_DISPENSERS]={0,0,0,0,0,0,0,0}; +bool HomingActive[MAX_SYSTEM_DISPENSERS] = {false,false,false,false,false,false,false,false}; + +uint32_t IDS_HomeDispenserCallback(uint32_t deviceID, uint32_t ReadValue) +{ + uint8_t DispenserId = deviceID-HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1; + + //close dry air valve in the dispenser + Valve_Set((Valves_t) (IDS_Id_to_AirValve[deviceID]), Atm_MidTank_OFF); + MotorSetMicroStep(deviceID, MotorsCfg[deviceID].microstep); + if (HomingRequestCallback[deviceID]) + { + HomingRequestCallback[deviceID](deviceID,0); + HomingRequestCallback[deviceID] = NULL; + } + HomingActive[deviceID]= false; + +return OK; + +} + +uint32_t IDS_HomeDispenser (uint32_t deviceID, uint32_t speed , callback_fptr callback) +{ + assert(deviceID < MAX_SYSTEM_DISPENSERS); + + if (HomingActive[deviceID] == true) + return ERROR; + else + HomingActive[deviceID] = true; + + HomingRequestCallback[deviceID] = callback; + + TimerMotors_t MotorId = HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1 + deviceID; + if ( Dispenser_Id_to_LS_Id[MotorId] != MAX_GPI) + { + //open dispenser valve dispenser to midtank direction + Control3WayValvesWithCallback ((Valves_t)deviceID, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer + //Valve_Set((Valves_t) request->index, MidTank_Dispenser); + MotorSetMicroStep(deviceID, 1); + //open dry air valve in the dispenser + Valve_Set((Valves_t) (IDS_Id_to_AirValve[deviceID]), Atm_MidTank_ON); + + + MotorMovetoLimitSwitch (MotorId,1-MotorsCfg[MotorId].directionthreadwize, speed, Dispenser_Id_to_LS_Id[MotorId], IDS_HomeDispenserCallback); + return OK; + } +} + +uint32_t IDS_StopHomeDispenser (uint32_t deviceID) +{ + assert(deviceID < MAX_SYSTEM_DISPENSERS); + + if (HomingActive[deviceID] != true) + return ERROR; + else + HomingActive[deviceID] = false; + + TimerMotors_t MotorId = (deviceID)+HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1; + MotorAbortMovetoLimitSwitch(MotorId); + //close dry air valve in the dispenser + Valve_Set((Valves_t) (IDS_Id_to_AirValve[deviceID]), Atm_MidTank_OFF); + MotorSetMicroStep(deviceID, MotorsCfg[deviceID].microstep); + return OK; +} -- cgit v1.3.1 From 5c32437dfa8b29a081588eae7a0874ae1be0aed8 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Mon, 3 Sep 2018 12:24:37 +0300 Subject: version 2.0.0.4. board/fpga version sent. valves and SSR controlled from machine studio --- .../Embedded_SW/Embedded/Common/SW_Info/SW_Info.c | 2 +- .../Embedded/Communication/CommunicationTask.c | 1 + .../Modules/Diagnostics/DiagnosticActions.c | 166 ++++++++++++++------- .../Embedded/Modules/Diagnostics/Diagnostics.c | 66 ++++++-- .../Embedded_SW/Embedded/Modules/IDS/IDS_maint.c | 6 +- 5 files changed, 173 insertions(+), 68 deletions(-) diff --git a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c index 2caf8d923..ce70466c4 100644 --- a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c +++ b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c @@ -20,7 +20,7 @@ typedef struct } TangoVersion_t; -TangoVersion_t _gTangoVersion = {001,000,002,003}; +TangoVersion_t _gTangoVersion = {001,000,002,004}; #define BUILD_DATE __DATE__ char Dat[50] = BUILD_DATE; char _gTangoName [MAX_STRING_LEN] = "Tango01 ";//d diff --git a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c index 1de97b902..9492876a2 100644 --- a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c +++ b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c @@ -34,6 +34,7 @@ struct serialBuffer { #define SHORT_BUFFER_SIZE 200 char CommShortRxBuffer[10][SHORT_BUFFER_SIZE]; char CommRxBuffer[COMM_MAX_BUFFER_SIZE]; +char DuplicateRxBuffer[2][2100]; SerialBuffer inBuffer[11]; bool SerialBufferUsed[11] = {false,false,false,false,false,false,false,false,false,false,false}; uint32_t initArray(size_t initialSize) diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c index ff2a70678..1e674d323 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c @@ -20,43 +20,8 @@ #include "drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h" #include "Drivers/I2C_Communication/DAC/blower.h" #include "drivers/Valves/Valve.h" +#include "Drivers/Heater/Heater.h" -typedef enum -{ - GPO_DILUTORPUMP_SSR10_CTRL, - GPO_WASTECH_PUMP2, - Midtank_1_Air, - Midtank_2_Air, - Midtank_3_Air, - Midtank_4_Air, - Midtank_5_Air, - Midtank_6_Air, - Midtank_7_Air, - Midtank_8_Air, - Midtank_1_Cartridge, - Midtank_2_Cartridge, - Midtank_3_Cartridge, - Midtank_4_Cartridge, - Midtank_5_Cartridge, - Midtank_6_Cartridge, - Midtank_7_Cartridge, - Midtank_8_Cartridge, - GPO_BUZZER, - GPO_LED1, - GPO_LED2, - GPO_LED3, - GPO_LED4, - GPO_TFEED_BREAK_1, - GPO_TFEED_BREAK_2, - GPO_SPARE1_1, - GPO_SPARE1_2, - GPO_SPARE2_1, - GPO_SPARE2_2, - GPO_BLOWER_PWM, - GPO_CHILLER_SSR9_CTRL, - GPO_WHS_WTANKPUMP2, - GPO_VALVE_WASTE_TANK, -}DigitalOutputEnum; /******************************************************************************** *Blower Diagnostic ********************************************************************************/ @@ -121,23 +86,95 @@ uint32_t SetDigitalOutRequestRequestFunc(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__SetDigitalOutResponse, requestContainer->token, true, &response, &set_digital_out_response__pack, &set_digital_out_response__get_packed_size); container_buffer = malloc(message_container__get_packed_size(&responseContainer)); -/* - - if ((request->port >= Midtank_1_Air)&&(request->port >=Midtank_8_Air)) + switch (request->interfaceio) { - portId = (request->port - Midtank_1_Air) ; //0-7 - Valve_Set((Valves_t) (portId+VALVE_2W_MID_AIR_LF), request->value ); //Atm_MidTank_OFF/ON - } - else if ((request->port >= Midtank_1_Cartridge)&&(request->port >=Midtank_8_Cartridge)) - { - portId = (request->port - Midtank_1_Cartridge) ; //0-7 - Valve_Set((Valves_t) (portId+VALVE_2W_CART_MID_LF), request->value ); //Cartridge_MidTank_OFF/ON - } - else - */ { - status = ERROR; - responseContainer.has_error = true; - responseContainer.error = ERROR_CODE__INVALID_DIGITAL_PIN_NUMBER; + case INTERFACE_IOS__Midtank1Air: + case INTERFACE_IOS__Midtank2Air: + case INTERFACE_IOS__Midtank3Air: + case INTERFACE_IOS__Midtank4Air: + case INTERFACE_IOS__Midtank5Air: + case INTERFACE_IOS__Midtank6Air: + case INTERFACE_IOS__Midtank7Air: + case INTERFACE_IOS__Midtank8Air: + portId = (request->interfaceio - INTERFACE_IOS__Midtank1Air) ; //0-7 + Valve_Set(IDS_Id_to_AirValve[portId], request->value ); //Atm_MidTank_OFF/ON + break; + case INTERFACE_IOS__Midtank1Cartridge: + case INTERFACE_IOS__Midtank2Cartridge: + case INTERFACE_IOS__Midtank3Cartridge: + case INTERFACE_IOS__Midtank4Cartridge: + case INTERFACE_IOS__Midtank5Cartridge: + case INTERFACE_IOS__Midtank6Cartridge: + case INTERFACE_IOS__Midtank7Cartridge: + case INTERFACE_IOS__Midtank8Cartridge: + portId = (request->interfaceio - INTERFACE_IOS__Midtank1Cartridge) ; //0-7 + Valve_Set(IDS_Id_to_CartrideValve[portId], request->value ); //Atm_MidTank_OFF/ON + break; + case INTERFACE_IOS__GPO_DRYER_SSR3_CTRL: + if (request->value == true) + ActivateHeater(0); + else + DeActivateHeater(0); + break; + case INTERFACE_IOS__GPO_DRYER_SSR1_CTRL: + if (request->value == true) + ActivateHeater(1); + else + DeActivateHeater(1); + break; + case INTERFACE_IOS__GPO_DRYER_SSR2_CTRL: + if (request->value == true) + ActivateHeater(2); + else + DeActivateHeater(2); + break; + case INTERFACE_IOS__GPO_DYEINGH_SSR8_CTRL: + if (request->value == true) + ActivateHeater(3); + else + DeActivateHeater(3); + break; + case INTERFACE_IOS__GPO_DYEINGH_SSR7_CTRL: + if (request->value == true) + ActivateHeater(4); + else + DeActivateHeater(4); + break; + case INTERFACE_IOS__GPO_DYEINGH_SSR6_CTRL: + if (request->value == true) + ActivateHeater(5); + else + DeActivateHeater(5); + break; + case INTERFACE_IOS__GPO_DYEINGH_SSR5_CTRL: + if (request->value == true) + ActivateHeater(6); + else + DeActivateHeater(6); + break; + case INTERFACE_IOS__GPO_DILUTORPUMP_SSR10_CTRL: + if (request->value == true) + ActivateHeater(7); + else + DeActivateHeater(7); + break; + case INTERFACE_IOS__GPO_EXTWINDER_SSR11_CTRL: + if (request->value == true) + ActivateHeater(8); + else + DeActivateHeater(8); + break; + case INTERFACE_IOS__GPO_MIXCHIP_SSR4_CTRL: + if (request->value == true) + ActivateHeater(9); + else + DeActivateHeater(9); + break; + default: + status = ERROR; + responseContainer.has_error = true; + responseContainer.error = ERROR_CODE__GENERAL_ERROR; + break; } size_t container_size = message_container__pack(&responseContainer, container_buffer); @@ -150,5 +187,30 @@ uint32_t SetDigitalOutRequestRequestFunc(MessageContainer* requestContainer) return OK; } +/* case: + break; + INTERFACE_IOS__GPO_MIXCHIP_SSR4_CTRL + INTERFACE_IOS__GPO_DYEINGH_SSR5_CTRL + INTERFACE_IOS__GPO_DYEINGH_SSR6_CTRL + INTERFACE_IOS__GPO_DYEINGH_SSR7_CTRL + INTERFACE_IOS__GPO_DYEINGH_SSR8_CTRL + INTERFACE_IOS__GPO_DRYER_SSR1_CTRL + INTERFACE_IOS__GPO_DRYER_SSR2_CTRL + INTERFACE_IOS__GPO_DRYER_SSR3_CTRL + INTERFACE_IOS__GPO_PDOWN_RL1_CTRL + INTERFACE_IOS__GPO_SPARE_SSR12_CTRL + INTERFACE_IOS__GPO_SPARE_SSR13_CTRL + INTERFACE_IOS__GPO_DILUTORPUMP_SSR10_CTRL + INTERFACE_IOS__GPO_WASTECH_PUMP2 + INTERFACE_IOS__GPO_BUZZER + INTERFACE_IOS__GPO_LED1 + INTERFACE_IOS__GPO_LED2 + INTERFACE_IOS__GPO_LED3 + INTERFACE_IOS__GPO_LED4 + INTERFACE_IOS__GPO_TFEED_BREAK_1 + INTERFACE_IOS__GPO_BLOWER_PWM + INTERFACE_IOS__GPO_CHILLER_SSR9_CTRL + INTERFACE_IOS__GPO_WHS_WTANKPUMP2 + */ diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c index a1ebcaa32..27e02710a 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c @@ -35,7 +35,9 @@ #include #include #include -#include "PMR/debugging/DebugLogCategory.pb-c.h" +#include +#include +#include #include "StateMachines/Printing/PrintingSTM.h" @@ -51,7 +53,7 @@ uint32_t Diagnostics_TenMiliControlTrigger(uint32_t IfIndex, uint32_t ReadValue) DiagnosticsMonitors DiagnosticsMonitor = DIAGNOSTICS_MONITORS__INIT; - +DigitalInterfaceState DigitalOutputState[MAX_HEATERS_NUM]; #define DIAGNOSTICS_LIMIT 10 #define DIAGNOSTICS_DANCER_LIMIT 100 int DiagnosticsIndex = 0; @@ -165,7 +167,46 @@ void DiagnosticLoadMotor(int MotorId, int frequency) if (MotorCounterIndex[MotorId]>=DIAGNOSTICS_LIMIT ) MotorCounterIndex[MotorId] = 0; } +void DiagnosticsLoadDigitalValues(void) +{ + int i; + for (i = 0;i= MAX_HEATERS_NUM) @@ -285,15 +326,6 @@ void Diagnostic100msecCollection(void) dispenser6motorfrequency[DiagnosticsIndex] = MotorGetSpeed(HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_6); dispenser7motorfrequency[DiagnosticsIndex] = MotorGetSpeed(HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_7); dispenser8motorfrequency[DiagnosticsIndex] = MotorGetSpeed(HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_8); -*/ -/* for (i=0;i<1;i++) - { - DigitalPinArray[i][DiagnosticsIndex] = DIGITAL_PIN__INIT; - DigitalPinArray[i][DiagnosticsIndex].has_port = true; - DigitalPinArray[i][DiagnosticsIndex].port = i; - DigitalPinArray[i][DiagnosticsIndex].has_value = true; - DigitalPinArray[i][DiagnosticsIndex].value = FPGA_Read_limit_Switches(i); - } */ DiagnosticsIndex++; if (DiagnosticsIndex >= DIAGNOSTICS_LIMIT) DiagnosticsIndex = DIAGNOSTICS_LIMIT; @@ -455,7 +487,17 @@ void SendDiagnostics(void) DiagnosticsMonitor.dispenser8pressure = dispenserspressure[7]; response.monitors = &DiagnosticsMonitor; - //response.n_digitalpins = 0/**MAX_GPI*/; + //DigitalInterfaceState DigitalOutputState[MAX_HEATERS_NUM]; + response.n_digitalinterfacestates = 0; + /* + response.n_digitalinterfacestates = MAX_HEATERS_NUM; + response.digitalinterfacestates = (DigitalInterfaceState**)malloc(sizeof(DigitalInterfaceState)*MAX_HEATERS_NUM); + DiagnosticsLoadDigitalValues(); + for (i=0;iindex, MidTank_Dispenser); MotorSetMicroStep(deviceID, 1); //open dry air valve in the dispenser - Valve_Set((Valves_t) (IDS_Id_to_AirValve[deviceID]), Atm_MidTank_ON); + Valve_Set(IDS_Id_to_AirValve[deviceID], Atm_MidTank_ON); MotorMovetoLimitSwitch (MotorId,1-MotorsCfg[MotorId].directionthreadwize, speed, Dispenser_Id_to_LS_Id[MotorId], IDS_HomeDispenserCallback); @@ -87,7 +87,7 @@ uint32_t IDS_StopHomeDispenser (uint32_t deviceID) TimerMotors_t MotorId = (deviceID)+HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1; MotorAbortMovetoLimitSwitch(MotorId); //close dry air valve in the dispenser - Valve_Set((Valves_t) (IDS_Id_to_AirValve[deviceID]), Atm_MidTank_OFF); + Valve_Set(IDS_Id_to_AirValve[deviceID], Atm_MidTank_OFF); MotorSetMicroStep(deviceID, MotorsCfg[deviceID].microstep); return OK; } -- cgit v1.3.1