diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-03-30 00:57:04 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-03-30 00:57:04 +0300 |
| commit | db8dcffe2f434d97d57ea1a104fa683bf2735835 (patch) | |
| tree | bbf6fc1fe8d5f3d149bfc9ad6688099855984fbc /Software/Embedded_SW/Embedded | |
| parent | 091a4bdeb2feadb4962c6be5deb367ab56d81707 (diff) | |
| parent | d1af5a24303a036cc2ede7e7c3c0c7b0036016e7 (diff) | |
| download | Tango-db8dcffe2f434d97d57ea1a104fa683bf2735835.tar.gz Tango-db8dcffe2f434d97d57ea1a104fa683bf2735835.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded')
40 files changed, 646 insertions, 219 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 e2c5d2171..c110b0d82 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 = {1,4,6,18}; +TangoVersion_t _gTangoVersion = {1,4,6,19}; #define BUILD_DATE __DATE__ char Dat[50] = BUILD_DATE; char _gTangoName [MAX_STRING_LEN] = "Tango01 ";//d diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c index 9bfdc7232..8fb38e4c6 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c @@ -7,7 +7,7 @@ #endif #include "MessageType.pb-c.h" -static const ProtobufCEnumValue message_type__enum_values_by_number[239] = +static const ProtobufCEnumValue message_type__enum_values_by_number[241] = { { "None", "MESSAGE_TYPE__None", 0 }, { "ErrorResponse", "MESSAGE_TYPE__ErrorResponse", 1 }, @@ -130,6 +130,8 @@ static const ProtobufCEnumValue message_type__enum_values_by_number[239] = { "ColorProfileResponse", "MESSAGE_TYPE__ColorProfileResponse", 1014 }, { "UpdateStatusRequest", "MESSAGE_TYPE__UpdateStatusRequest", 1015 }, { "UpdateStatusResponse", "MESSAGE_TYPE__UpdateStatusResponse", 1016 }, + { "GenericRequest", "MESSAGE_TYPE__GenericRequest", 1017 }, + { "GenericResponse", "MESSAGE_TYPE__GenericResponse", 1018 }, { "StartDiagnosticsRequest", "MESSAGE_TYPE__StartDiagnosticsRequest", 2000 }, { "StartDiagnosticsResponse", "MESSAGE_TYPE__StartDiagnosticsResponse", 2001 }, { "MotorAbortHomingRequest", "MESSAGE_TYPE__MotorAbortHomingRequest", 2002 }, @@ -250,137 +252,139 @@ static const ProtobufCEnumValue message_type__enum_values_by_number[239] = { "StopThreadLoadingResponse", "MESSAGE_TYPE__StopThreadLoadingResponse", 11005 }, }; static const ProtobufCIntRange message_type__value_ranges[] = { -{0, 0},{3, 2},{1000, 104},{2000, 121},{3000, 167},{4000, 177},{5000, 185},{6000, 189},{7000, 195},{8000, 219},{9000, 225},{10000, 229},{11000, 233},{0, 239} +{0, 0},{3, 2},{1000, 104},{2000, 123},{3000, 169},{4000, 179},{5000, 187},{6000, 191},{7000, 197},{8000, 221},{9000, 227},{10000, 231},{11000, 235},{0, 241} }; -static const ProtobufCEnumValueIndex message_type__enum_values_by_name[239] = +static const ProtobufCEnumValueIndex message_type__enum_values_by_name[241] = { - { "AbortJobRequest", 169 }, - { "AbortJobResponse", 170 }, - { "AbortPowerDownRequest", 231 }, - { "AbortPowerDownResponse", 232 }, - { "ActivateVersionRequest", 217 }, - { "ActivateVersionResponse", 218 }, + { "AbortJobRequest", 171 }, + { "AbortJobResponse", 172 }, + { "AbortPowerDownRequest", 233 }, + { "AbortPowerDownResponse", 234 }, + { "ActivateVersionRequest", 219 }, + { "ActivateVersionResponse", 220 }, { "CalculateRequest", 2 }, { "CalculateResponse", 3 }, - { "CartridgeValidationRequest", 165 }, - { "CartridgeValidationResponse", 166 }, + { "CartridgeValidationRequest", 167 }, + { "CartridgeValidationResponse", 168 }, { "ColorProfileRequest", 117 }, { "ColorProfileResponse", 118 }, - { "ConnectRequest", 191 }, - { "ConnectResponse", 192 }, - { "ContinueThreadLoadingRequest", 235 }, - { "ContinueThreadLoadingResponse", 236 }, - { "CreateRequest", 203 }, - { "CreateResponse", 204 }, - { "CurrentJobRequest", 173 }, - { "CurrentJobResponse", 174 }, - { "DeleteRequest", 205 }, - { "DeleteResponse", 206 }, + { "ConnectRequest", 193 }, + { "ConnectResponse", 194 }, + { "ContinueThreadLoadingRequest", 237 }, + { "ContinueThreadLoadingResponse", 238 }, + { "CreateRequest", 205 }, + { "CreateResponse", 206 }, + { "CurrentJobRequest", 175 }, + { "CurrentJobResponse", 176 }, + { "DeleteRequest", 207 }, + { "DeleteResponse", 208 }, { "DirectSynchronizationRequest", 109 }, { "DirectSynchronizationResponse", 110 }, - { "DisconnectRequest", 193 }, - { "DisconnectResponse", 194 }, - { "DispenserAbortHomingRequest", 131 }, - { "DispenserAbortHomingResponse", 132 }, - { "DispenserAbortJoggingRequest", 137 }, - { "DispenserAbortJoggingResponse", 138 }, - { "DispenserDataRequest", 219 }, - { "DispenserDataResponse", 220 }, - { "DispenserHomingRequest", 133 }, - { "DispenserHomingResponse", 134 }, - { "DispenserJoggingRequest", 135 }, - { "DispenserJoggingResponse", 136 }, + { "DisconnectRequest", 195 }, + { "DisconnectResponse", 196 }, + { "DispenserAbortHomingRequest", 133 }, + { "DispenserAbortHomingResponse", 134 }, + { "DispenserAbortJoggingRequest", 139 }, + { "DispenserAbortJoggingResponse", 140 }, + { "DispenserDataRequest", 221 }, + { "DispenserDataResponse", 222 }, + { "DispenserHomingRequest", 135 }, + { "DispenserHomingResponse", 136 }, + { "DispenserJoggingRequest", 137 }, + { "DispenserJoggingResponse", 138 }, { "ErrorResponse", 1 }, - { "ExecuteProcessRequest", 199 }, - { "ExecuteProcessResponse", 200 }, + { "ExecuteProcessRequest", 201 }, + { "ExecuteProcessResponse", 202 }, { "ExternalBridgeLoginRequest", 105 }, { "ExternalBridgeLoginResponse", 106 }, { "ExternalBridgeLogoutRequest", 107 }, { "ExternalBridgeLogoutResponse", 108 }, { "ExternalBridgeUdpDiscoveryPacket", 104 }, - { "FileChunkDownloadRequest", 213 }, - { "FileChunkDownloadResponse", 214 }, - { "FileChunkUploadRequest", 197 }, - { "FileChunkUploadResponse", 198 }, - { "FileDownloadRequest", 211 }, - { "FileDownloadResponse", 212 }, - { "FileUploadRequest", 195 }, - { "FileUploadResponse", 196 }, - { "GetFilesRequest", 209 }, - { "GetFilesResponse", 210 }, - { "GetStorageInfoRequest", 207 }, - { "GetStorageInfoResponse", 208 }, - { "JobRequest", 167 }, - { "JobResponse", 168 }, - { "KeepAliveRequest", 189 }, - { "KeepAliveResponse", 190 }, - { "KillProcessRequest", 201 }, - { "KillProcessResponse", 202 }, - { "MachineCalibrationDataRequest", 223 }, - { "MachineCalibrationDataResponse", 224 }, - { "MidTankDataSetupRequest", 221 }, - { "MidTankDataSetupResponse", 222 }, - { "MotorAbortHomingRequest", 123 }, - { "MotorAbortHomingResponse", 124 }, - { "MotorAbortJoggingRequest", 129 }, - { "MotorAbortJoggingResponse", 130 }, - { "MotorHomingRequest", 125 }, - { "MotorHomingResponse", 126 }, - { "MotorJoggingRequest", 127 }, - { "MotorJoggingResponse", 128 }, + { "FileChunkDownloadRequest", 215 }, + { "FileChunkDownloadResponse", 216 }, + { "FileChunkUploadRequest", 199 }, + { "FileChunkUploadResponse", 200 }, + { "FileDownloadRequest", 213 }, + { "FileDownloadResponse", 214 }, + { "FileUploadRequest", 197 }, + { "FileUploadResponse", 198 }, + { "GenericRequest", 121 }, + { "GenericResponse", 122 }, + { "GetFilesRequest", 211 }, + { "GetFilesResponse", 212 }, + { "GetStorageInfoRequest", 209 }, + { "GetStorageInfoResponse", 210 }, + { "JobRequest", 169 }, + { "JobResponse", 170 }, + { "KeepAliveRequest", 191 }, + { "KeepAliveResponse", 192 }, + { "KillProcessRequest", 203 }, + { "KillProcessResponse", 204 }, + { "MachineCalibrationDataRequest", 225 }, + { "MachineCalibrationDataResponse", 226 }, + { "MidTankDataSetupRequest", 223 }, + { "MidTankDataSetupResponse", 224 }, + { "MotorAbortHomingRequest", 125 }, + { "MotorAbortHomingResponse", 126 }, + { "MotorAbortJoggingRequest", 131 }, + { "MotorAbortJoggingResponse", 132 }, + { "MotorHomingRequest", 127 }, + { "MotorHomingResponse", 128 }, + { "MotorJoggingRequest", 129 }, + { "MotorJoggingResponse", 130 }, { "None", 0 }, { "OverrideDataBaseRequest", 111 }, { "OverrideDataBaseResponse", 112 }, { "ProgressRequest", 4 }, { "ProgressResponse", 5 }, - { "ResolveEventRequest", 147 }, - { "ResolveEventResponse", 148 }, - { "ResumeCurrentJobRequest", 175 }, - { "ResumeCurrentJobResponse", 176 }, - { "SetBlowerStateRequest", 157 }, - { "SetBlowerStateResponse", 158 }, - { "SetComponentValueRequest", 145 }, - { "SetComponentValueResponse", 146 }, - { "SetDebugLogCategoryRequest", 181 }, - { "SetDebugLogCategoryResponse", 182 }, - { "SetDigitalOutRequest", 139 }, - { "SetDigitalOutResponse", 140 }, - { "SetHeaterStateRequest", 155 }, - { "SetHeaterStateResponse", 156 }, - { "SetValveStateRequest", 159 }, - { "SetValveStateResponse", 160 }, - { "SetupDebugDisributorsRequest", 183 }, - { "SetupDebugDisributorsResponse", 184 }, + { "ResolveEventRequest", 149 }, + { "ResolveEventResponse", 150 }, + { "ResumeCurrentJobRequest", 177 }, + { "ResumeCurrentJobResponse", 178 }, + { "SetBlowerStateRequest", 159 }, + { "SetBlowerStateResponse", 160 }, + { "SetComponentValueRequest", 147 }, + { "SetComponentValueResponse", 148 }, + { "SetDebugLogCategoryRequest", 183 }, + { "SetDebugLogCategoryResponse", 184 }, + { "SetDigitalOutRequest", 141 }, + { "SetDigitalOutResponse", 142 }, + { "SetHeaterStateRequest", 157 }, + { "SetHeaterStateResponse", 158 }, + { "SetValveStateRequest", 161 }, + { "SetValveStateResponse", 162 }, + { "SetupDebugDisributorsRequest", 185 }, + { "SetupDebugDisributorsResponse", 186 }, { "StartApplicationLogsRequest", 113 }, { "StartApplicationLogsResponse", 114 }, - { "StartCartridgesUpdateRequest", 161 }, - { "StartCartridgesUpdateResponse", 162 }, - { "StartDebugLogRequest", 177 }, - { "StartDebugLogResponse", 178 }, - { "StartDiagnosticsRequest", 121 }, - { "StartDiagnosticsResponse", 122 }, - { "StartEventsNotificationRequest", 151 }, - { "StartEventsNotificationResponse", 152 }, - { "StartMachineStatusUpdateRequest", 225 }, - { "StartMachineStatusUpdateResponse", 226 }, - { "StartPowerDownRequest", 229 }, - { "StartPowerDownResponse", 230 }, - { "StartThreadLoadingRequest", 233 }, - { "StartThreadLoadingResponse", 234 }, + { "StartCartridgesUpdateRequest", 163 }, + { "StartCartridgesUpdateResponse", 164 }, + { "StartDebugLogRequest", 179 }, + { "StartDebugLogResponse", 180 }, + { "StartDiagnosticsRequest", 123 }, + { "StartDiagnosticsResponse", 124 }, + { "StartEventsNotificationRequest", 153 }, + { "StartEventsNotificationResponse", 154 }, + { "StartMachineStatusUpdateRequest", 227 }, + { "StartMachineStatusUpdateResponse", 228 }, + { "StartPowerDownRequest", 231 }, + { "StartPowerDownResponse", 232 }, + { "StartThreadLoadingRequest", 235 }, + { "StartThreadLoadingResponse", 236 }, { "StopApplicationLogsRequest", 115 }, { "StopApplicationLogsResponse", 116 }, - { "StopCartridgesUpdateRequest", 163 }, - { "StopCartridgesUpdateResponse", 164 }, - { "StopDebugLogRequest", 179 }, - { "StopDebugLogResponse", 180 }, - { "StopDiagnosticsRequest", 149 }, - { "StopDiagnosticsResponse", 150 }, - { "StopEventsNotificationRequest", 153 }, - { "StopEventsNotificationResponse", 154 }, - { "StopMachineStatusUpdateRequest", 227 }, - { "StopMachineStatusUpdateResponse", 228 }, - { "StopThreadLoadingRequest", 237 }, - { "StopThreadLoadingResponse", 238 }, + { "StopCartridgesUpdateRequest", 165 }, + { "StopCartridgesUpdateResponse", 166 }, + { "StopDebugLogRequest", 181 }, + { "StopDebugLogResponse", 182 }, + { "StopDiagnosticsRequest", 151 }, + { "StopDiagnosticsResponse", 152 }, + { "StopEventsNotificationRequest", 155 }, + { "StopEventsNotificationResponse", 156 }, + { "StopMachineStatusUpdateRequest", 229 }, + { "StopMachineStatusUpdateResponse", 230 }, + { "StopThreadLoadingRequest", 239 }, + { "StopThreadLoadingResponse", 240 }, { "StubAbortJobRequest", 100 }, { "StubAbortJobResponse", 101 }, { "StubCartridgeReadRequest", 6 }, @@ -479,20 +483,20 @@ static const ProtobufCEnumValueIndex message_type__enum_values_by_name[239] = { "StubTivaWriteRegResponse", 79 }, { "StubValveRequest", 30 }, { "StubValveResponse", 31 }, - { "SystemResetRequest", 187 }, - { "SystemResetResponse", 188 }, - { "ThreadAbortJoggingRequest", 143 }, - { "ThreadAbortJoggingResponse", 144 }, - { "ThreadJoggingRequest", 141 }, - { "ThreadJoggingResponse", 142 }, + { "SystemResetRequest", 189 }, + { "SystemResetResponse", 190 }, + { "ThreadAbortJoggingRequest", 145 }, + { "ThreadAbortJoggingResponse", 146 }, + { "ThreadJoggingRequest", 143 }, + { "ThreadJoggingResponse", 144 }, { "UpdateStatusRequest", 119 }, { "UpdateStatusResponse", 120 }, - { "UploadHardwareConfigurationRequest", 185 }, - { "UploadHardwareConfigurationResponse", 186 }, - { "UploadProcessParametersRequest", 171 }, - { "UploadProcessParametersResponse", 172 }, - { "ValidateVersionRequest", 215 }, - { "ValidateVersionResponse", 216 }, + { "UploadHardwareConfigurationRequest", 187 }, + { "UploadHardwareConfigurationResponse", 188 }, + { "UploadProcessParametersRequest", 173 }, + { "UploadProcessParametersResponse", 174 }, + { "ValidateVersionRequest", 217 }, + { "ValidateVersionResponse", 218 }, }; const ProtobufCEnumDescriptor message_type__descriptor = { @@ -501,9 +505,9 @@ const ProtobufCEnumDescriptor message_type__descriptor = "MessageType", "MessageType", "", - 239, + 241, message_type__enum_values_by_number, - 239, + 241, message_type__enum_values_by_name, 13, message_type__value_ranges, diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h index 3c6bbc146..61b17ebef 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h @@ -141,6 +141,8 @@ typedef enum _MessageType { MESSAGE_TYPE__ColorProfileResponse = 1014, MESSAGE_TYPE__UpdateStatusRequest = 1015, MESSAGE_TYPE__UpdateStatusResponse = 1016, + MESSAGE_TYPE__GenericRequest = 1017, + MESSAGE_TYPE__GenericResponse = 1018, MESSAGE_TYPE__StartDiagnosticsRequest = 2000, MESSAGE_TYPE__StartDiagnosticsResponse = 2001, MESSAGE_TYPE__MotorAbortHomingRequest = 2002, diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/HeadCleaningParameters.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/HeadCleaningParameters.pb-c.c new file mode 100644 index 000000000..309c15784 --- /dev/null +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/HeadCleaningParameters.pb-c.c @@ -0,0 +1,92 @@ +/* Generated by the protocol buffer compiler. DO NOT EDIT! */ +/* Generated from: HeadCleaningParameters.proto */ + +/* Do not generate deprecated warnings for self */ +#ifndef PROTOBUF_C__NO_DEPRECATED +#define PROTOBUF_C__NO_DEPRECATED +#endif + +#include "HeadCleaningParameters.pb-c.h" +void head_cleaning_parameters__init + (HeadCleaningParameters *message) +{ + static const HeadCleaningParameters init_value = HEAD_CLEANING_PARAMETERS__INIT; + *message = init_value; +} +size_t head_cleaning_parameters__get_packed_size + (const HeadCleaningParameters *message) +{ + assert(message->base.descriptor == &head_cleaning_parameters__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t head_cleaning_parameters__pack + (const HeadCleaningParameters *message, + uint8_t *out) +{ + assert(message->base.descriptor == &head_cleaning_parameters__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t head_cleaning_parameters__pack_to_buffer + (const HeadCleaningParameters *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &head_cleaning_parameters__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +HeadCleaningParameters * + head_cleaning_parameters__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (HeadCleaningParameters *) + protobuf_c_message_unpack (&head_cleaning_parameters__descriptor, + allocator, len, data); +} +void head_cleaning_parameters__free_unpacked + (HeadCleaningParameters *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &head_cleaning_parameters__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +static const ProtobufCFieldDescriptor head_cleaning_parameters__field_descriptors[1] = +{ + { + "CleanerFlow", + 1, + PROTOBUF_C_LABEL_OPTIONAL, + PROTOBUF_C_TYPE_DOUBLE, + offsetof(HeadCleaningParameters, has_cleanerflow), + offsetof(HeadCleaningParameters, cleanerflow), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned head_cleaning_parameters__field_indices_by_name[] = { + 0, /* field[0] = CleanerFlow */ +}; +static const ProtobufCIntRange head_cleaning_parameters__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor head_cleaning_parameters__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "HeadCleaningParameters", + "HeadCleaningParameters", + "HeadCleaningParameters", + "", + sizeof(HeadCleaningParameters), + 1, + head_cleaning_parameters__field_descriptors, + head_cleaning_parameters__field_indices_by_name, + 1, head_cleaning_parameters__number_ranges, + (ProtobufCMessageInit) head_cleaning_parameters__init, + NULL,NULL,NULL /* reserved[123] */ +}; diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/HeadCleaningParameters.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/HeadCleaningParameters.pb-c.h new file mode 100644 index 000000000..9213143bb --- /dev/null +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/HeadCleaningParameters.pb-c.h @@ -0,0 +1,72 @@ +/* Generated by the protocol buffer compiler. DO NOT EDIT! */ +/* Generated from: HeadCleaningParameters.proto */ + +#ifndef PROTOBUF_C_HeadCleaningParameters_2eproto__INCLUDED +#define PROTOBUF_C_HeadCleaningParameters_2eproto__INCLUDED + +#include <protobuf-c/protobuf-c.h> + +PROTOBUF_C__BEGIN_DECLS + +#if PROTOBUF_C_VERSION_NUMBER < 1003000 +# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers. +#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION +# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c. +#endif + + +typedef struct _HeadCleaningParameters HeadCleaningParameters; + + +/* --- enums --- */ + + +/* --- messages --- */ + +struct _HeadCleaningParameters +{ + ProtobufCMessage base; + protobuf_c_boolean has_cleanerflow; + double cleanerflow; +}; +#define HEAD_CLEANING_PARAMETERS__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&head_cleaning_parameters__descriptor) \ + , 0, 0 } + + +/* HeadCleaningParameters methods */ +void head_cleaning_parameters__init + (HeadCleaningParameters *message); +size_t head_cleaning_parameters__get_packed_size + (const HeadCleaningParameters *message); +size_t head_cleaning_parameters__pack + (const HeadCleaningParameters *message, + uint8_t *out); +size_t head_cleaning_parameters__pack_to_buffer + (const HeadCleaningParameters *message, + ProtobufCBuffer *buffer); +HeadCleaningParameters * + head_cleaning_parameters__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void head_cleaning_parameters__free_unpacked + (HeadCleaningParameters *message, + ProtobufCAllocator *allocator); +/* --- per-message closures --- */ + +typedef void (*HeadCleaningParameters_Closure) + (const HeadCleaningParameters *message, + void *closure_data); + +/* --- services --- */ + + +/* --- descriptors --- */ + +extern const ProtobufCMessageDescriptor head_cleaning_parameters__descriptor; + +PROTOBUF_C__END_DECLS + + +#endif /* PROTOBUF_C_HeadCleaningParameters_2eproto__INCLUDED */ diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.c index 68f833aa7..fcbe3be6a 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.c +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.c @@ -52,7 +52,7 @@ void job_ticket__free_unpacked assert(message->base.descriptor == &job_ticket__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -static const ProtobufCFieldDescriptor job_ticket__field_descriptors[15] = +static const ProtobufCFieldDescriptor job_ticket__field_descriptors[16] = { { "Guid", @@ -234,11 +234,24 @@ static const ProtobufCFieldDescriptor job_ticket__field_descriptors[15] = 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "HeadCleaningParameters", + 16, + PROTOBUF_C_LABEL_OPTIONAL, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(JobTicket, headcleaningparameters), + &head_cleaning_parameters__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; static const unsigned job_ticket__field_indices_by_name[] = { 2, /* field[2] = EnableInterSegment */ 11, /* field[11] = EnableLubrication */ 0, /* field[0] = Guid */ + 15, /* field[15] = HeadCleaningParameters */ 3, /* field[3] = InterSegmentLength */ 10, /* field[10] = JobDescriptionFile */ 4, /* field[4] = Length */ @@ -255,7 +268,7 @@ static const unsigned job_ticket__field_indices_by_name[] = { static const ProtobufCIntRange job_ticket__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 15 } + { 0, 16 } }; const ProtobufCMessageDescriptor job_ticket__descriptor = { @@ -265,7 +278,7 @@ const ProtobufCMessageDescriptor job_ticket__descriptor = "JobTicket", "", sizeof(JobTicket), - 15, + 16, job_ticket__field_descriptors, job_ticket__field_indices_by_name, 1, job_ticket__number_ranges, diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.h index 79bacd63f..d47a85867 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.h +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.h @@ -20,6 +20,7 @@ PROTOBUF_C__BEGIN_DECLS #include "JobSpool.pb-c.h" #include "JobUploadStrategy.pb-c.h" #include "ThreadParameters.pb-c.h" +#include "HeadCleaningParameters.pb-c.h" typedef struct _JobTicket JobTicket; @@ -56,10 +57,11 @@ struct _JobTicket protobuf_c_boolean has_samplewinding; protobuf_c_boolean samplewinding; ThreadParameters *threadparameters; + HeadCleaningParameters *headcleaningparameters; }; #define JOB_TICKET__INIT \ { PROTOBUF_C_MESSAGE_INIT (&job_ticket__descriptor) \ - , NULL, NULL, 0, 0, 0, 0, 0, 0, NULL, 0, JOB_WINDING_METHOD__Embroidery, NULL, 0,NULL, 0, JOB_UPLOAD_STRATEGY__Default, NULL, 0, 0, 0, 0, 0, 0, NULL } + , NULL, NULL, 0, 0, 0, 0, 0, 0, NULL, 0, JOB_WINDING_METHOD__Embroidery, NULL, 0,NULL, 0, JOB_UPLOAD_STRATEGY__Default, NULL, 0, 0, 0, 0, 0, 0, NULL, NULL } /* JobTicket methods */ diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.c index 8636a3b14..cddda38e1 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.c +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.c @@ -52,7 +52,7 @@ void process_parameters__free_unpacked assert(message->base.descriptor == &process_parameters__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -static const ProtobufCFieldDescriptor process_parameters__field_descriptors[30] = +static const ProtobufCFieldDescriptor process_parameters__field_descriptors[31] = { { "DyeingSpeed", @@ -414,6 +414,18 @@ static const ProtobufCFieldDescriptor process_parameters__field_descriptors[30] 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "PressureBuildUp", + 31, + PROTOBUF_C_LABEL_OPTIONAL, + PROTOBUF_C_TYPE_DOUBLE, + offsetof(ProcessParameters, has_pressurebuildup), + offsetof(ProcessParameters, pressurebuildup), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; static const unsigned process_parameters__field_indices_by_name[] = { 13, /* field[13] = DryerAirFlow */ @@ -441,6 +453,7 @@ static const unsigned process_parameters__field_indices_by_name[] = { 2, /* field[2] = MaxInkUptake */ 1, /* field[1] = MinInkUptake */ 6, /* field[6] = MixerTemp */ + 30, /* field[30] = PressureBuildUp */ 4, /* field[4] = PullerTension */ 26, /* field[26] = RBlowerFlow */ 27, /* field[27] = RBlowerTemp */ @@ -450,7 +463,7 @@ static const unsigned process_parameters__field_indices_by_name[] = { static const ProtobufCIntRange process_parameters__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 30 } + { 0, 31 } }; const ProtobufCMessageDescriptor process_parameters__descriptor = { @@ -460,7 +473,7 @@ const ProtobufCMessageDescriptor process_parameters__descriptor = "ProcessParameters", "", sizeof(ProcessParameters), - 30, + 31, process_parameters__field_descriptors, process_parameters__field_indices_by_name, 1, process_parameters__number_ranges, diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.h index e68f393c7..9a6453221 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.h +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.h @@ -86,10 +86,12 @@ struct _ProcessParameters double lblowerflow; protobuf_c_boolean has_lblowertemp; double lblowertemp; + protobuf_c_boolean has_pressurebuildup; + double pressurebuildup; }; #define PROCESS_PARAMETERS__INIT \ { PROTOBUF_C_MESSAGE_INIT (&process_parameters__descriptor) \ - , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } + , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } /* ProcessParameters methods */ diff --git a/Software/Embedded_SW/Embedded/DataDef.h b/Software/Embedded_SW/Embedded/DataDef.h index 06cec2e1e..0e25f8880 100644 --- a/Software/Embedded_SW/Embedded/DataDef.h +++ b/Software/Embedded_SW/Embedded/DataDef.h @@ -387,6 +387,8 @@ typedef enum extern uint8_t WHS_Type; +bool Is_PP_Machine(void); + typedef enum { DISP_TYPE_UNKNOWN, diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c index e2e71c4cc..21056e162 100644 --- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c +++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c @@ -370,11 +370,11 @@ void Control_Dryer_Fan_PWM(uint8_t PWM_Command_Precent)// 0 - 100% if(PWM_Command_Precent > 100) PWM_Command_Precent = 100; - +#ifndef EVALUATION_BOARD GPO_BLOWER_PWM_FREQ = Freq; GPO_BLOWER_PWM_LOW = PWM_Command_Precent + 1; GPO_BLOWER_PWM_HIGH = 101 - PWM_Command_Precent; - +#endif // low + high = 0xFF in order use the same freq (and change the freq only by Add 0x112). // there is option to change only the high (low + freq constasnt) this will chnga the freq } @@ -424,7 +424,8 @@ void Set_Speed_Sensor_TypeII_Registers(uint32_t Counter, uint32_t Prescaler) uint32_t Read_Speed_Sensor_TypeII()//must be delay between Set_Speed_Sensor_TypeII_Registers to Read_Speed_Sensor_TypeII { - uint32_t Speed_Hz, temp, temp1; + uint32_t Speed_Hz = 0, temp, temp1; +#ifndef EVALUATION_BOARD temp = F1_Tacho_reg9; temp1 = FPGA_Freq; @@ -432,7 +433,7 @@ uint32_t Read_Speed_Sensor_TypeII()//must be delay between Set_Speed_Sensor_Type temp1/=temp; temp1/=F1_Prescaler1_reg6; Speed_Hz = temp1; - +#endif #warning change the speed from Hz to Cm/Sec return Speed_Hz; diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c index 00b48d3d8..f8f0fb4c6 100644 --- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c +++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c @@ -124,6 +124,7 @@ LS_DRYER_DH Ls_Dryer_Dh; void FPGA_Read_LS_Safty_Ind_Reg() { // uint8_t temp[8] = {0,0,0,0,0,0,0,0},i; +#ifndef EVALUATION_BOARD LS_Left.ushort = F1_GPI_LS2_D; Ls_Right_Screw_Spool.ushort = F1_GPI_LS3_D; @@ -154,6 +155,7 @@ void FPGA_Read_LS_Safty_Ind_Reg() Dispenser_struct[i].Status = LS_STATUS_OK; } */ +#endif } bool Check_Disp_Safety_Stop_Indication(uint8_t Dispenser_ID)//0..7 @@ -162,6 +164,7 @@ bool Check_Disp_Safety_Stop_Indication(uint8_t Dispenser_ID)//0..7 assert(Dispenser_ID < MAX_DISPENSER_NUM); +#ifndef EVALUATION_BOARD switch(Dispenser_ID) { case 0: @@ -191,6 +194,7 @@ bool Check_Disp_Safety_Stop_Indication(uint8_t Dispenser_ID)//0..7 default: break; } +#endif return Safety_Indication; } @@ -505,15 +509,19 @@ MOT_SW1 F1_Mot_Dr_SW1; uint32_t ActivateCoolerPump() //WHS - Pump the waste accumulated in cooler to the waste tank { +#ifndef EVALUATION_BOARD F1_Mot_Dr_SW1.bits.GPO_DH_MAGNET = ON; //TBD verify polarity F1_Moto_Driver_SW1 = F1_Mot_Dr_SW1.ushort; +#endif return OK; } uint32_t DeActivateCoolerPump() //WHS - Pump the waste accumulated in cooler to the waste tank { +#ifndef EVALUATION_BOARD F1_Mot_Dr_SW1.bits.GPO_DH_MAGNET = OFF; //TBD verify polarity F1_Moto_Driver_SW1 = F1_Mot_Dr_SW1.ushort; +#endif return OK; } uint32_t MagnetControlId = 0xFF; @@ -544,8 +552,10 @@ uint32_t ActivateHeadMagnet() Trigger_Head_Magnet(CLOSE_MAGNET); else { +#ifndef EVALUATION_BOARD F2_CTRL_Reg.ushort &= ~SPARE_SSR13_CTRL; F2_CTRL = F2_CTRL_Reg.ushort; +#endif } if (isMotorConfigured(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM)) { @@ -575,8 +585,10 @@ uint32_t DeActivateHeadMagnet() } else { +#ifndef EVALUATION_BOARD F2_CTRL_Reg.ushort |= SPARE_SSR13_CTRL; F2_CTRL = F2_CTRL_Reg.ushort; +#endif } Report("DeActivateHeadMagnet - open the lid magnet",__FILE__,__LINE__,(int)HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,RpWarning,(int)DH_LID_CLOSE,0); if (isMotorConfigured(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM)) @@ -594,7 +606,11 @@ uint32_t DeActivateHeadMagnet() uint32_t ReadHeadMagnetBit() { +#ifndef EVALUATION_BOARD return (F2_CTRL & BIT0);//SSR13 is not in the WD therefore it it possible to read the bit +#else + return 0; +#endif } uint32_t DeActivateAllSSR() @@ -729,39 +745,66 @@ F3_GPI_01 F3_GPI_01_Reg; void WHS_Read_GPI_Registers() { +#ifndef EVALUATION_BOARD F2_GPI_Reg.ushort = F2_GPI_REGISTER1_Direct; F3_GPI_01_Reg.ushort = F3_GPI_01_D; +#endif } bool WHS_GPI_CHILLER_FAULT() { +#ifndef EVALUATION_BOARD return F2_GPI_Reg.bits.F2_GPI_CHILLER_FAULT; +#else + return false; +#endif + } bool WHS_GPI_WASTE_OVERFULL()//waste tank overflow { //#warning NA need to check the DISP_SAFETY_STOP_IND of all the connected dispensers done +#ifndef EVALUATION_BOARD return F2_GPI_Reg.bits.F2_WASTE_OVERFULL_NO; +#else + return false; +#endif } bool WHS_GPI_SW_FILTER_PRES() { +#ifndef EVALUATION_BOARD return F3_GPI_01_Reg.bits.F3_GPI_SW_FILTER_PRES; +#else + return false; +#endif } bool WHS_GPI_WCONTAINER_FULL()//waste tank full { +#ifndef EVALUATION_BOARD return F3_GPI_01_Reg.bits.F3_GPI_WCONTAINER_FULL; +#else + return false; +#endif } bool WHS_GPI_WCONTAINER_WARN()//waste tank empty { +#ifndef EVALUATION_BOARD return F3_GPI_01_Reg.bits.F3_GPI_WCONTAINER_WARN; +#else + return false; +#endif } bool WHS_GPI_WASTE_FLOW_SWITCH()// DRyer air { +#ifndef EVALUATION_BOARD return F2_GPI_Reg.bits.F2_WASTE_FLOW_SW_NO; +#else + return false; +#endif } uint8_t GPO_Waste_Pressure_Software_Stop(uint8_t TrueToStop) @@ -769,6 +812,7 @@ uint8_t GPO_Waste_Pressure_Software_Stop(uint8_t TrueToStop) //GPO_SPARE1_1 (New BP: DISP_SAFETY_STOP_INPUT) Connected to WASTE_PRESS_SW and Stop from MCU uint8_t Status = OK; +#ifndef EVALUATION_BOARD switch(TrueToStop) { case true: @@ -781,6 +825,7 @@ uint8_t GPO_Waste_Pressure_Software_Stop(uint8_t TrueToStop) Status = ERROR; break; } +#endif return Status; } @@ -789,6 +834,7 @@ bool Get_COVER_1_State(COVERS_ENUM CoverId) { assert (CoverId<Max_Doors); +#ifndef EVALUATION_BOARD switch (CoverId) { case FrontDoor1_EC: @@ -815,6 +861,7 @@ bool Get_COVER_1_State(COVERS_ENUM CoverId) default: return false; } +#endif } extern F1_GPO_REG F1_GPO_Reg; // must be global to keep all other bits @@ -840,14 +887,18 @@ void Pumps_Control(PUMPS_ENUM Pump_Id, bool Direction) //1 - OPEN, 0 - CLOSE ?? LOG_ERROR(WHS_Type,"Pump activated on new whs"); break; case WHS_WTANKPUMP2: +#ifndef EVALUATION_BOARD F1_GPO_Reg.bits.F1_GPO_WHS_WTANKPUMP2 = Direction; - break; +#endif + break; default: break; } +#ifndef EVALUATION_BOARD F1_gpo_01 = F1_GPO_Reg.ushort; +#endif } uint32_t SecondaryPumpControlId; @@ -892,6 +943,7 @@ uint8_t Buzzer(OPERATION_MODE Buzzer_Mode) { uint8_t Status = OK; +#ifndef EVALUATION_BOARD switch(Buzzer_Mode) { case MODE_ON: @@ -908,7 +960,7 @@ uint8_t Buzzer(OPERATION_MODE Buzzer_Mode) } F3_GPO_01_bus = F3_GPO_01_Reg.ushort; - +#endif return Status; } @@ -917,15 +969,19 @@ F3_GPI_02 F3_GPI_02_Reg; void Read_Buttons_Reg() { +#ifndef EVALUATION_BOARD F3_GPI_02_Reg.ushort = F3_GPI_02_Direct; +#endif } bool Get_Thread_Jogging_Button() { bool IsThreadJoggingPressed = false; +#ifndef EVALUATION_BOARD if(F3_GPI_02_Reg.bits.Thread_Jogging_Switch == false) IsThreadJoggingPressed = true; +#endif return IsThreadJoggingPressed; } @@ -934,8 +990,10 @@ bool Get_Thread_Load_Button() { bool IsThreadLoadPressed = false; +#ifndef EVALUATION_BOARD if(F3_GPI_02_Reg.bits.Thread_Load_Switch == false) IsThreadLoadPressed = true; +#endif return IsThreadLoadPressed; } @@ -999,6 +1057,7 @@ uint8_t Pannel_Leds(PANEL_BUTTON_OR_CRAT_ID Pannel_Led_Id, OPERATION_MODE LED_Mo if(Flag == true) { +#ifndef EVALUATION_BOARD switch(Pannel_Led_Id) { case POWER_ON_OFF: @@ -1030,6 +1089,7 @@ uint8_t Pannel_Leds(PANEL_BUTTON_OR_CRAT_ID Pannel_Led_Id, OPERATION_MODE LED_Mo Status = ERROR; break; } +#endif } return Status; } @@ -1037,6 +1097,7 @@ uint8_t Pannel_Leds(PANEL_BUTTON_OR_CRAT_ID Pannel_Led_Id, OPERATION_MODE LED_Mo uint8_t Init_Machine_Leds() { uint8_t Status = OK; +#ifndef EVALUATION_BOARD F3_Prescaler1_reg5 = 0x03; // PWM LED Prescaler default in FPGA just to verify @@ -1048,7 +1109,7 @@ uint8_t Init_Machine_Leds() Status |= Pannel_Leds(CART_1,MODE_OFF); Status |= Pannel_Leds(CART_2,MODE_OFF); Status |= Pannel_Leds(CART_3,MODE_OFF); - +#endif return Status; } @@ -1056,6 +1117,7 @@ uint8_t Init_Machine_Leds() bool Is_Cartridge_Present(PANEL_BUTTON_OR_CRAT_ID Cartridge) { bool IsCartPresent = true; +#ifndef EVALUATION_BOARD if((Cartridge == CART_1) && (F3_CARTx_PRES_02_Direct & BIT7)) IsCartPresent = false; @@ -1065,7 +1127,7 @@ bool Is_Cartridge_Present(PANEL_BUTTON_OR_CRAT_ID Cartridge) else if((Cartridge == CART_3) && (F3_CARTx_PRES_02_Direct & BIT5)) IsCartPresent = false; - +#endif return IsCartPresent; } @@ -1076,9 +1138,10 @@ uint32_t Control_Dryer_Fan(bool StartStop, uint8_t PWM_Command_Precent)//use STA F1_GPO_Reg.bits.DRYER_FAN_ON = StartStop;//0 - to turn on Blower F1_GPO_Reg.bits.DRYER_FAN_DIRECT = CCW;//Set Direction - TODO: Verify the correct direction F1_GPO_Reg.bits.DRYER_FAN_TORQUE_PWM = HIGH;//Torqer High +#ifndef EVALUATION_BOARD F1_gpo_01 = F1_GPO_Reg.ushort; - +#endif if(StartStop == START) Control_Dryer_Fan_PWM(PWM_Command_Precent);// 0 - 100% diff --git a/Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c b/Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c index df05156e4..249497aa2 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c +++ b/Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c @@ -112,11 +112,13 @@ uint32_t ActivateHeater (int HeaterId) } if (HeaterId<=HEATER_TYPE__DryerSecondaryHeater) { +#ifndef EVALUATION_BOARD F2_CTRL_Reg.ushort |= portMap[HeaterId].m_pin; F2_CTRL = F2_CTRL_Reg.ushort; portMap[HeaterId].Active = true; //--------------------------------------------------------------------------------------- HeaterActive |= 1 << HeaterId; +#endif } else { //F2_CTRL |= portMap[HeaterId].m_pin; @@ -177,11 +179,13 @@ uint32_t DeActivateHeater (int HeaterId) assert(isHeater(HeaterIdtoHeaterpid[HeaterId])); if (HeaterId<=HEATER_TYPE__DryerSecondaryHeater) { +#ifndef EVALUATION_BOARD //F2_CTRL &= ~portMap[HeaterId].m_pin; F2_CTRL_Reg.ushort &= ~portMap[HeaterId].m_pin; F2_CTRL = F2_CTRL_Reg.ushort; portMap[HeaterId].Active = false; HeaterActive &= ~(1 << HeaterId); +#endif } else { 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 457a8b895..1fcbc92e1 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 @@ -129,10 +129,10 @@ double Calculate_Pressure(uint32_t VsampleInBits ) } */ -void MidTankPressureCorrection(double Offset) +/*void MidTankPressureCorrection(double Offset) { //MidThankReadingOffset = Offset; -} +}*/ /* double Calculate_Pressure(uint32_t VsampleInBits )//MidTank { @@ -323,6 +323,7 @@ double Read_MidTank_Pressure_Sensor(MidTank_t MidTank_ID) //0-7 if (MidTank_Pressure_Read_Enable[MidTank_ID] == false) return MidTank_Pressure[MidTank_ID]; +#ifndef EVALUATION_BOARD switch(MidTank_ID) { @@ -381,7 +382,7 @@ double Read_MidTank_Pressure_Sensor(MidTank_t MidTank_ID) //0-7 //MidTank_Pressure[MidTank_ID] = Calculate_MidTank_Liquid(VsampleInBits , Factor);//According to Gal (email 28-Aug-19) MidTank_Pressure[MidTank_ID] = Calc_Calibration_MidTank_Liquid(VsampleInBits, MidTank_ID ); - +#endif return MidTank_Pressure[MidTank_ID]; } 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 103e3e764..cc5bb71bb 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 @@ -48,7 +48,7 @@ void Trigger_MidTank_Current_Read(void); double Read_MidTank_Pressure_Sensor(MidTank_t MidTank_ID); double Get_MidTank_Pressure_Sensor(MidTank_t MidTank_ID); //0-7 int Get_MidTank_Int1000_Sensor(MidTank_t MidTank_ID); //0-7 -void MidTankPressureCorrection(double Offset); +//void MidTankPressureCorrection(double Offset); void Enable_MidTank_Pressure_Reading(MidTank_t MidTank_ID); //0-7 void Disable_MidTank_Pressure_Reading(MidTank_t MidTank_ID); //0-7 diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/EEPROM/Head_EEPROM.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/EEPROM/Head_EEPROM.c index 0d9e3cac2..e46aa1bd7 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/EEPROM/Head_EEPROM.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/EEPROM/Head_EEPROM.c @@ -127,7 +127,9 @@ uint32_t Check_Head_Type_Via_EEPROM() Head_Type = Head_struct.Read_Head_EEPROM.bytes.HeadType; */ +#ifndef EVALUATION_BOARD Head_Type = HEAD_TYPE_UNKNOWN_WITH_CARD; +#endif } return status; diff --git a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c index 3ea703b93..0292815be 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c +++ b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c @@ -118,6 +118,9 @@ void Valve_Command(Valves_t Valve_Id) //1 - OPEN, 0 - CLOSE Report("Valve shutdown while ink filling is active - cancelled",__FILE__,__LINE__,(int)Valve_Id,RpWarning,(int)ValveRequest[Valve_Id].Direction,0); return; } +#ifdef EVALUATION_BOARD + return ; +#endif switch(Valve_Id) { //Dry air Valves @@ -243,6 +246,9 @@ uint32_t FPGA_GetDispenserValveBusyOCD(uint32_t ValveId, uint32_t dummy) // Mill //Valves_t Valve = ValveId; if (ValveId > VALVE_DISPENSER_8) return ERROR; +#ifdef EVALUATION_BOARD + return OK; +#endif VALVE_BUSY_REG Valve_Busy_Reg; Valve_Busy_Reg.ushort = F2_DISPENSER_VALVE_IN_Direct; @@ -346,7 +352,9 @@ void EnableDisableDispenserValve(Valves_t Valve_Id, bool EnableOrDisable ) break; } +#ifndef EVALUATION_BOARD F2_DISPENSER_VALVE_OUT = Dispenser_Valve_GPO_Reg.ushort; +#endif } // diff --git a/Software/Embedded_SW/Embedded/Drivers/flash_ram/FlashProgram.c b/Software/Embedded_SW/Embedded/Drivers/flash_ram/FlashProgram.c index 240585e43..5daec00ed 100644 --- a/Software/Embedded_SW/Embedded/Drivers/flash_ram/FlashProgram.c +++ b/Software/Embedded_SW/Embedded/Drivers/flash_ram/FlashProgram.c @@ -104,7 +104,9 @@ uint32_t ReadAppAndProgram(uint32_t ui32FlashStart,uint32_t ui32FileSize,void* b // block passed to the flash function must be divisible by 4. // - status = FlashProgram((uint32_t *)ui32BufferAddr, ui32ProgAddr,(ui32DataSize + 3) & ~3); + ROM_IntMasterDisable(); + status = ROM_FlashProgram((uint32_t *)ui32BufferAddr, ui32ProgAddr,(ui32DataSize + 3) & ~3); + ROM_IntMasterEnable(); if (status) Report("FlashProgram Error", __FILE__,status,ui32ProgAddr , RpMessage, (ui32DataSize + 3) & ~3, 0); @@ -161,9 +163,11 @@ void FlashInit(void) if (RxIndex++>=MAX_CONT_LOG) RxIndex = 0; #endif + ROM_IntMasterDisable(); for(ui32Idx = FLASH_RAM_BASE; ui32Idx < FLASH_RAM_BASE+FLASH_SIZE; ui32Idx += 1024) { FlashErase(ui32Idx); } + ROM_IntMasterEnable(); } diff --git a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c index dd55f4f91..2ebcbc130 100644 --- a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c +++ b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c @@ -27,8 +27,11 @@ uint32_t MCU_E2PromProgram(int Address,uint32_t Data) } Report("MCU_E2PromProgram",__FILE__,__LINE__,Address,RpWarning,Data,0); - +#ifdef EVALUATION_BOARD + return 0; +#else return (EEPROMProgram((uint32_t *)&Buffer, Address*4, 4)); +#endif } uint32_t MCU_E2PromRead(int Address,uint32_t *Data) { @@ -37,7 +40,9 @@ uint32_t MCU_E2PromRead(int Address,uint32_t *Data) Report("MCU_E2PromRead Error",__FILE__,__LINE__,Address,RpWarning,*Data,0); return ERROR; } +#ifndef EVALUATION_BOARD EEPROMRead((uint32_t *)Data,Address*4, 4); +#endif Report("MCU_E2PromRead",__FILE__,__LINE__,Address,RpWarning,*Data,0); return OK; @@ -52,13 +57,17 @@ void MCU_E2PromProgramMidTank(int midtankId,float a,float b) A = a; Report("MCU_E2PromProgramMidTank",__FILE__,midtankId,Address,RpWarning,(int)(a*1000),0); +#ifndef EVALUATION_BOARD EEPROMProgram((uint32_t *)&A, Address*4, 4); +#endif Address = EEPROM_STORAGE_MIDTANK_1_B+2*midtankId; B = b; Report("MCU_E2PromProgramMidTank",__FILE__,midtankId,Address,RpWarning,(int)(b*1000),0); +#ifndef EVALUATION_BOARD EEPROMProgram((uint32_t *)&B, Address*4, 4); +#endif } float MCU_E2PromReadMidtank_A(int MidtankId) { @@ -69,7 +78,9 @@ float MCU_E2PromReadMidtank_A(int MidtankId) Report("MCU_E2PromReadMidtank error",__FILE__,__LINE__,Address,RpWarning,(int)MidtankId,0); return ERROR; } +#ifndef EVALUATION_BOARD EEPROMRead((uint32_t *)&Data,Address*4, 4); +#endif Report("MCU_E2PromRead",__FILE__,__LINE__,Address,RpWarning,(int)(Data*1000),0); return (Data); @@ -83,7 +94,9 @@ float MCU_E2PromReadMidtank_B(int MidtankId) Report("MCU_E2PromReadMidtank error",__FILE__,__LINE__,Address,RpWarning,(int)MidtankId,0); return ERROR; } +#ifndef EVALUATION_BOARD EEPROMRead((uint32_t *)&Data,Address*4, 4); +#endif Report("MCU_E2PromRead",__FILE__,__LINE__,Address,RpWarning,(int)(Data*1000),0); return (Data); @@ -124,13 +137,17 @@ uint32_t MCU_E2PromDryerBacklashProgram(char *Data) Report("MCU_E2PromDryerBacklashProgram length error",__FILE__,__LINE__,len,RpWarning,(int)0,0); return ERROR; } +#ifndef EVALUATION_BOARD EEPROMProgram((uint32_t *)Backlash, EEPROM_STORAGE_DRYER_BACKLASH*4, 4); +#endif return OK; } float MCU_E2PromDryerBacklashRead() { float Data; +#ifndef EVALUATION_BOARD EEPROMRead((uint32_t *)&Data,EEPROM_STORAGE_DRYER_BACKLASH*4, 4); +#endif Report("MCU_E2PromDryerBacklashRead length ",__FILE__,__LINE__,EEPROM_STORAGE_DRYER_BACKLASH*4,RpWarning,(int)(Data*100),0); @@ -147,13 +164,17 @@ uint32_t MCU_E2PromEmbeddedVersionProgram(void) return ERROR; } memcpy((uint8_t*)&Data,&_gTangoVersion,size); +#ifndef EVALUATION_BOARD EEPROMProgram((uint32_t *)&Data, EEPROM_STORAGE_EMBEDDED_VERSION*4, 4); +#endif return OK; } uint32_t MCU_E2PromEmbeddedVersionRead() { uint32_t Data; +#ifndef EVALUATION_BOARD EEPROMRead((uint32_t *)&Data,EEPROM_STORAGE_EMBEDDED_VERSION*4, 4); +#endif Report("MCU_E2PromEmbeddedVersionRead length ",__FILE__,__LINE__,EEPROM_STORAGE_EMBEDDED_VERSION*4,RpWarning,(int)(Data),0); @@ -165,6 +186,8 @@ uint32_t MCU_E2PromEmbeddedVersionRead() //twice before FlashErase is called. void MCU_E2PromInit(void) { +#ifndef EVALUATION_BOARD EEPROMInit(); +#endif } diff --git a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h index 1e735d628..09e66acdb 100644 --- a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h +++ b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h @@ -39,6 +39,8 @@ typedef enum { EEPROM_ORIFICE1_ZERO_VALUE, EEPROM_ORIFICE3_ZERO_VALUE, EEPROM_WASTE_TANK_ZERO_VALUE, + EEPROM_PULLER_TENSION_POSITION, + EEPROM_WINDER_TENSION_POSITION, MAX_EEPROM_STORAGE }EEPROM_STORAGE_USAGE_ENUM; #define MAX_SERIAL_NUM_LEN 5 //5*4 bytes diff --git a/Software/Embedded_SW/Embedded/Embedded.cfg b/Software/Embedded_SW/Embedded/Embedded.cfg index a9a958a55..016bacc9c 100644 --- a/Software/Embedded_SW/Embedded/Embedded.cfg +++ b/Software/Embedded_SW/Embedded/Embedded.cfg @@ -2,6 +2,7 @@ var Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi'); var Clock = xdc.useModule('ti.sysbios.knl.Clock'); var Seconds = xdc.useModule('ti.sysbios.hal.Seconds'); var BIOS = xdc.useModule('ti.sysbios.BIOS'); +BIOS.libType = BIOS.LibType_Debug; var SysMin = xdc.useModule('xdc.runtime.SysMin'); var System = xdc.useModule('xdc.runtime.System'); var Error = xdc.useModule('xdc.runtime.Error'); diff --git a/Software/Embedded_SW/Embedded/Main.c b/Software/Embedded_SW/Embedded/Main.c index 845cd2ba8..551caa544 100644 --- a/Software/Embedded_SW/Embedded/Main.c +++ b/Software/Embedded_SW/Embedded/Main.c @@ -108,6 +108,7 @@ static volatile uint32_t g_ui32Flags; bool Machine_Idle_Mode = false; +extern bool PP_Machine; F2_CTRL_REG F2_CTRL_Reg; F1_GPO_REG F1_GPO_Reg; @@ -268,7 +269,10 @@ int main(void) Check_Head_Type_Via_EEPROM(); //Trigger_Check_WHS_Type_Via_EEPROM(); Check_WHS_Type_Via_EEPROM(); - + if ((Head_Type >= HEAD_TYPE_UNKNOWN_WITH_CARD)&&(WHS_Type == WHS_TYPE_NEW)) + { + PP_Machine = true; + } #ifndef EVALUATION_BOARD STATUS_RED_LED_ON; STATUS_GREEN_LED_ON; @@ -353,7 +357,9 @@ int main(void) IDLE_TASK_package_init(); +#ifndef EVALUATION_BOARD Start_InitSequence(); +#endif PowerIdleInit(); BIOS_start(); diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c index 25022ab67..91389bb7f 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c @@ -974,15 +974,15 @@ void AlarmHandlingInternalSetAlarm(uint32_t AlarmId, bool value); void AlarmHandlingSetAlarm(uint32_t AlarmId, bool value) { - AlarmHandlingInternalSetAlarm( AlarmId, value); - /*AlarmHandlingMessageStruc Message; + //AlarmHandlingInternalSetAlarm( AlarmId, value); + AlarmHandlingMessageStruc Message; //send message to the Millisec task Message.messageId = AlarmHandlingAlarm; Message.AlarmId = AlarmId; Message.Value = value; if (AlarmHandlingMsgQ != NULL) - Mailbox_post(AlarmHandlingMsgQ , &Message, BIOS_NO_WAIT);*/ + Mailbox_post(AlarmHandlingMsgQ , &Message, BIOS_NO_WAIT); } void AlarmHandlingInternalSetAlarm(uint32_t AlarmId, bool value) { @@ -1461,11 +1461,11 @@ uint32_t AlarmHandlingLoop(uint32_t tick) } } } - if (AlarmItem[Alarm_i].Predecessor!=0xFF) + /*if (AlarmItem[Alarm_i].Predecessor!=0xFF) { if (AlarmState[AlarmItem[Alarm_i].Predecessor].Status == true) //higher hierarchy alarm is on Status = false; - } + }*/ if (Status != AlarmState[Alarm_i].Status) //change in alarm Status { if (Status == true) // alarm on diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index 0e95f4053..a5421e60a 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -118,7 +118,6 @@ static GateMutex_Handle gateMillisecDB; uint32_t Millisec_timerBase = TIMER1_BASE; //Timer handle /******************** Functions ********************************************/ -void CalculateVOCAlarms(void); //********************************************************************** /******************** CODE ********************************************/ //********************************************************************** @@ -151,7 +150,7 @@ void MillisecInit(void) System_abort("Could not create USB Wait gate"); } - ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); + ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1); ROM_TimerConfigure(Millisec_timerBase, TIMER_CFG_PERIODIC); // 32 bits Timer //TimerIntRegister(Millisec_timerBase, TIMER_A, Timer0Isr); // Registering isr ROM_TimerEnable(Millisec_timerBase, TIMER_A); @@ -637,7 +636,9 @@ uint32_t MillisecLowLoop(uint32_t tick) if (Hundred_msTick) { Speed_Data = Calculate_Speed_Sensor_Velocity(); +#ifndef EVALUATION_BOARD Read_Buttons_Reg(); +#endif //Ink_Cart_Led(); /////////////////////////////////////////////////////////////////// @@ -749,7 +750,8 @@ uint32_t MillisecLowLoop(uint32_t tick) MotorGetStatusFromFPGA(Motor_i); }*/ midtankDisplay = 1-midtankDisplay; - Gas_PPM_Info = Calculate_Gas_Power_Consumption(); + if (WHS_Type == WHS_TYPE_UNKNOWN) + Gas_PPM_Info = Calculate_Gas_Power_Consumption(); //Trigger_WHS_MAX11614_Read_allADC(); #ifdef CONTROL_DEBUG ResetControlTime(); diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c index bfcf379d0..0181121a3 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c @@ -238,19 +238,14 @@ uint32_t GetDiagnosticCollectionLimit(void) { return (DiagnosticLimit*DiagnosticCollectionLimit); } -void SetDiagnosticCollectionLimit(int limit) +/*void SetDiagnosticCollectionLimit(int limit) { if ((limit)&&(limit<= DIAGNOSTICS_LIMIT)) DiagnosticCollectionLimit = limit; DiagnosticLimit =eHundredMillisecond; //frequency of data collection - /*if (DiagnosticMode <= Diagnostic_Normal_Mode) - { - DiagnosticCollectionLimit = 1; //overrule - send at least once every second - DiagnosticLimit =eOneSecond; //frequency of data collection - }*/ REPORT_MSG(DiagnosticCollectionLimit,"Diagnostic limit set"); -} +}*/ uint8_t HeaterCounterIndex[HEATER_TYPE_MAX_HEATERS]= {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; double HeaterTemperature[HEATER_TYPE_MAX_HEATERS][DIAGNOSTICS_LIMIT+1]; diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.h b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.h index b7b1ec9c8..7ec1962f3 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.h +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.h @@ -30,7 +30,7 @@ uint32_t StopDiagnosticsRequestFunc(MessageContainer* requestContainer); uint32_t DiagnosticsStart(void); uint32_t DiagnosticsStop(void); -void SetDiagnosticCollectionLimit(int limit); +//void SetDiagnosticCollectionLimit(int limit); uint32_t GetDiagnosticCollectionLimit(void); void DiagnosticsReset(void); diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index 618d4569c..f373e079d 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -61,10 +61,16 @@ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest); bool GeneralHwReady = false; +bool PP_Machine = false; + HardwareBlower BlowerCfg; char *SW_INFO_DIR = "0://SysInfo"; char HwConfigPath[50] = "0://SysInfo//GenHwCfg.cfg"; +bool Is_PP_Machine(void) +{ + return PP_Machine; +} void *HWConfigurationLoadFromFile( uint32_t *NumOfBytes) { FRESULT Fresult = FR_OK; @@ -175,23 +181,14 @@ void LoadConfigurationParameters(ConfigurationParameters *Params) { EmbeddedParameters = my_malloc(sizeof(ConfigurationParameters)); configuration_parameters__init(EmbeddedParameters); + EmbeddedParameters->has_breaksensorlimit = true; EmbeddedParameters->breaksensorlimit = 10; - EmbeddedParameters->has_diagnosticcollectionlimit = true; - EmbeddedParameters->diagnosticcollectionlimit = 3; - EmbeddedParameters->has_overheatcountlimit = true; - EmbeddedParameters->overheatcountlimit = 3; - EmbeddedParameters->has_underheatcountlimit = true; - EmbeddedParameters->underheatcountlimit = 3; + EmbeddedParameters->has_closevalvetimeout = true; EmbeddedParameters->closevalvetimeout = 52; EmbeddedParameters->has_openvalvetimeout = true; EmbeddedParameters->openvalvetimeout = 52; - EmbeddedParameters->has_initialdispenserpressure = true; - EmbeddedParameters->initialdispenserpressure = 0.25; - EmbeddedParameters->has_initialdispensertimeout = true; - EmbeddedParameters->initialdispensertimeout = 180000; - EmbeddedParameters->has_initialdispensertimelag = true; - EmbeddedParameters->initialdispensertimelag = 100; + EmbeddedParameters->has_dispenserbuildpressurespeed = true; EmbeddedParameters->dispenserbuildpressurespeed=500; EmbeddedParameters->has_dispenserbuildpressurelimit = true; @@ -200,6 +197,7 @@ void LoadConfigurationParameters(ConfigurationParameters *Params) EmbeddedParameters->dispenserbuildpressuretimeout=150000; EmbeddedParameters->has_dispenserbuildpressurelag = true; EmbeddedParameters->dispenserbuildpressurelag=50; + EmbeddedParameters->has_acheatersloweroperationlimit = true; EmbeddedParameters->acheatersloweroperationlimit = 980; EmbeddedParameters->has_acheatersupperoperationlimit = true; @@ -208,12 +206,13 @@ void LoadConfigurationParameters(ConfigurationParameters *Params) EmbeddedParameters->dcheatersloweroperationlimit = 978; EmbeddedParameters->has_dcheatersupperoperationlimit = true; EmbeddedParameters->dcheatersupperoperationlimit = 1002; - EmbeddedParameters->has_midtankpressurecorrection = true; - EmbeddedParameters->midtankpressurecorrection = 0.0; + EmbeddedParameters->has_dispenserpresegmentwfcf = true; EmbeddedParameters->dispenserpresegmentwfcf = 40; + EmbeddedParameters->has_startheatingoninitsequence = true; EmbeddedParameters->startheatingoninitsequence = true; //set to true shlomo 14/5/2019 + EmbeddedParameters->n_generalparameters = 8; EmbeddedParameters->generalparameters = malloc (sizeof(double)*10); if (EmbeddedParameters->generalparameters) @@ -227,12 +226,12 @@ void LoadConfigurationParameters(ConfigurationParameters *Params) EmbeddedParameters->generalparameters[6] = Diagnostic_Extended_Mode; //Diagnostic Mode SetDiagnosticMode EmbeddedParameters->generalparameters[7] = AutoHoming_JobEnd_PowerOn_off; // } + EmbeddedParameters->has_currentalarmlowlimit = true; EmbeddedParameters->currentalarmlowlimit = 0.78; EmbeddedParameters->has_currentalarmhighlimit = true; EmbeddedParameters->currentalarmhighlimit= 1.07; - EmbeddedParameters->has_ids_segmentrefilltimeout = true; - EmbeddedParameters->ids_segmentrefilltimeout = 5000; + EmbeddedParameters->has_ids_presegmentbuilduptime = true; EmbeddedParameters->ids_presegmentbuilduptime = 5000; EmbeddedParameters->has_ids_cleaningspeed = true; @@ -245,6 +244,7 @@ void LoadConfigurationParameters(ConfigurationParameters *Params) EmbeddedParameters->ids_leftcleaningmotorspeed = 52; EmbeddedParameters->has_ids_rightcleaningmotorspeed = true; EmbeddedParameters->ids_rightcleaningmotorspeed = 52; + EmbeddedParameters->has_switchtoidletimeinseconds = true; EmbeddedParameters->switchtoidletimeinseconds = 3600; EmbeddedParameters->has_idledriertemperature = true; @@ -315,24 +315,24 @@ uint32_t EmbeddedParametersInit(void) } } - if (EmbeddedParameters->n_generalparameters >= 6) + /* if (EmbeddedParameters->n_generalparameters >= 6) { IDS_Dispenser_SetBackLashValues(EmbeddedParameters->initialdispenserpressure, EmbeddedParameters->initialdispensertimeout, EmbeddedParameters->initialdispensertimelag,EmbeddedParameters->generalparameters[5]); } else { IDS_Dispenser_SetBackLashValues(EmbeddedParameters->initialdispenserpressure, EmbeddedParameters->initialdispensertimeout, EmbeddedParameters->initialdispensertimelag,1000); - } + }*/ IDS_Dispenser_SetTimeOutValues(EmbeddedParameters->closevalvetimeout, EmbeddedParameters->openvalvetimeout); IDS_Dispenser_SetPrepareValues(EmbeddedParameters->dispenserbuildpressurespeed, EmbeddedParameters->dispenserbuildpressurelimit, EmbeddedParameters->dispenserbuildpressuretimeout, EmbeddedParameters->dispenserbuildpressurelag); IDS_Dispenser_SetPreSegmentWFCFValues(EmbeddedParameters->dispenserpresegmentwfcf, EmbeddedParameters->ids_presegment_wfcf_timebeforesegment); IDS_Dispenser_SetPreSegmentCleaningValues(EmbeddedParameters->ids_cleaningspeed,EmbeddedParameters->ids_cleaningstartspraypresegmenttime ,EmbeddedParameters->ids_cleaningstopbeforesegmenttime,EmbeddedParameters->ids_leftcleaningmotorspeed,EmbeddedParameters->ids_rightcleaningmotorspeed); - Heaters_SetOverHeatTimeOutValues( EmbeddedParameters->overheatcountlimit, EmbeddedParameters->underheatcountlimit); + //Heaters_SetOverHeatTimeOutValues( EmbeddedParameters->overheatcountlimit, EmbeddedParameters->underheatcountlimit); Heaters_SetOperationLimits(EmbeddedParameters->acheatersloweroperationlimit,EmbeddedParameters->acheatersupperoperationlimit,EmbeddedParameters->dcheatersloweroperationlimit,EmbeddedParameters->dcheatersupperoperationlimit); - MidTankPressureCorrection(EmbeddedParameters->midtankpressurecorrection); - SetDiagnosticCollectionLimit(EmbeddedParameters->diagnosticcollectionlimit); + //MidTankPressureCorrection(EmbeddedParameters->midtankpressurecorrection); + //SetDiagnosticCollectionLimit(EmbeddedParameters->diagnosticcollectionlimit); ThreadSetBreakSensorLimit(EmbeddedParameters->breaksensorlimit); PowerOffSetTemperatureThreshold(EmbeddedParameters->powerofftemperaturelimit); diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.c b/Software/Embedded_SW/Embedded/Modules/General/process.c index 4cb35d488..5760d5b79 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/process.c +++ b/Software/Embedded_SW/Embedded/Modules/General/process.c @@ -31,10 +31,11 @@ double dyeingspeed = 0; double dryerbufferlength = 0; double mininkuptake = 0; double feedertension = 0; -double pullertension = 0; -double windertension = 0; +double pullertension = 5000; +double windertension = 5000; double headairflow = 5.0; double dryerairflow = 5.0; +double pressurebuildup = 0; int32_t tableindex = 0; double dryerbufferMeters = 0; @@ -273,6 +274,7 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData) windertension = ProcessParams->windertension; headairflow = ProcessParams->headairflow; dryerairflow = ProcessParams->dryerairflow; + pressurebuildup = ProcessParams->pressurebuildup; return status;//status; } diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.h b/Software/Embedded_SW/Embedded/Modules/General/process.h index a546ffdbe..695cf9516 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/process.h +++ b/Software/Embedded_SW/Embedded/Modules/General/process.h @@ -17,6 +17,8 @@ extern double pullertension; extern double windertension; extern double headairflow; extern double dryerairflow; +extern double pressurebuildup; + extern int32_t tableindex; extern double dryerbufferMeters; diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index ca4255a95..373fdfaec 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -267,11 +267,11 @@ void HeatersControlInit(void) return; } -void Heaters_SetOverHeatTimeOutValues(uint32_t OverHeatTimeout, uint32_t UnderHeatTimeout) +/*void Heaters_SetOverHeatTimeOutValues(uint32_t OverHeatTimeout, uint32_t UnderHeatTimeout) { Overheat_Count_Limit = OverHeatTimeout; Underheat_Count_Limit = UnderHeatTimeout; -} +}*/ void Heaters_SetOperationLimits(int acheatersloweroperationlimit, int acheatersupperoperationlimit, int dcheatersloweroperationlimit, int dcheatersupperoperationlimit) { AcHeatersLoweroperationLimit = acheatersloweroperationlimit; diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c index 6e4eed580..1176d3132 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c @@ -66,7 +66,7 @@ int32_t IdsGetMotorSpeed(uint32_t DispenserId) { return CurrentDispenserSpeed[DispenserId]; } - +/* uint32_t IDS_Dispenser_Build_Pressure_Callback(uint32_t DispenserId, uint32_t ReadValue) { uint32_t status; @@ -128,7 +128,7 @@ uint32_t IDS_Dispenser_Build_Pressure_Callback(uint32_t DispenserId, uint32_t Re return OK; } - +*/ uint32_t IDS_Dispenser_StopMotorCallback(uint32_t DispenserId, uint32_t ReadValue) { Report("IDS_Dispenser_Close_Valve_And_Stop_Motor callback",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)msec_millisecondCounter,0); diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c index 3b6291285..107fd425b 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c @@ -102,7 +102,7 @@ void IDS_Dispenser_SetBackLashValues(double initialdispenserpressure, uint32 InitialDispenserPressure = initialdispenserpressure; InitialDispenserTimeout = initialdispensertimeout; InitialDispenserTimeLag = initialdispensertimelag; - InitialDispenserSpeed = INITIAL_DISPENSER_SPEED; + InitialDispenserSpeed = initialdispenserspeed; Report("IDS_Dispenser_SetBackLashValues ",__FILE__,InitialDispenserPressure*100,InitialDispenserTimeout,RpWarning,(int)InitialDispenserTimeLag,0); } diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c index 0c28ee564..a34594d56 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c @@ -687,20 +687,23 @@ uint32_t InactiveDispenserHome(uint32_t DispenserId, uint32_t ReadValue) int Motor_i, Pid_Id; //start IDS control for all motors IDS_Active = true; + double cleanerFlow = 0; Valve_Set(VALVE_MIXCHIP_WASTECH, Mixer_Waste); - //JobTicket* JobTicket = JobDetails; + JobTicket* JobTicket = JobDetails; JobEndSequence = false; - if ((feedertension>0.1)&&(feedertension<1.5)) + if ((pressurebuildup>0.1)&&(pressurebuildup<1.5)) { - Report("Setting pressure from RML feeder tension",__FILE__,__LINE__,(int)(feedertension*100),RpWarning,(int)(DispenserPreparePressure*100),0); - DispenserPreparePressure = feedertension; + Report("Setting pressure from RML feeder tension",__FILE__,__LINE__,(int)(pressurebuildup*100),RpWarning,(int)(DispenserPreparePressure*100),0); + DispenserPreparePressure = pressurebuildup; } - if ((pullertension>200)&&(pullertension<1150)) + if (JobTicket->headcleaningparameters->has_cleanerflow) + cleanerFlow = JobTicket->headcleaningparameters->cleanerflow; + if ((cleanerFlow>200)&&(cleanerFlow<1150)) { - Report("Setting pressure from RML feeder tension",__FILE__,__LINE__,(int)(pullertension),RpWarning,(int)CleaningDispenserSpeed,0); - CleaningDispenserSpeed = pullertension; + Report("Setting pressure from RML feeder tension",__FILE__,__LINE__,(int)(cleanerFlow),RpWarning,(int)CleaningDispenserSpeed,0); + CleaningDispenserSpeed = cleanerFlow; } for (Motor_i = 0;Motor_i < MAX_SYSTEM_DISPENSERS;Motor_i++) diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c index 76a92bd89..7a9b66a0b 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c @@ -368,7 +368,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) if(Write_Buf[0] == 0)//Read { - Head_Read_IO_Reg(Script_Slave_Add, LOW); + //Head_Read_IO_Reg(Script_Slave_Add, LOW); delayms(1); if(Script_Slave_Add == 0x40) @@ -403,7 +403,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) if(Write_Buf[0] == 1)//Read { - Head_Read_IO_Reg(Script_Slave_Add, HIGH); + //Head_Read_IO_Reg(Script_Slave_Add, HIGH); delayms(1); if(Script_Slave_Add == 0x40) @@ -427,7 +427,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) response.has_progress = true; } else - if(Script_Slave_Add == 0x46) + if(Script_Slave_Add == 0x46)//LS { Read_Buf[0] = Head_I2C_EXP4_0x46.uchar[1]; response.progress = Read_Buf[0]; @@ -435,6 +435,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) } } else + /* if(Write_Buf[0] == 2)//write { if(Script_Slave_Add == 0x40) @@ -452,7 +453,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) Head_I2C_EXP4_0x46.uchar[0] = (Write_Buf[1] & 0x80); } - Head_Write_IO_Reg(Script_Slave_Add, LOW); + //Head_Write_IO_Reg(Script_Slave_Add, LOW); } if(Write_Buf[0] == 3)//write { @@ -463,15 +464,48 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) else if(Script_Slave_Add == 0x42) { - Head_I2C_EXP2_0x42.uchar[1] = Write_Buf[1]; + //Head_I2C_EXP2_0x42.uchar[1] = Write_Buf[1]; + Head_I2C_EXP2_0x42.bits.OUTPUT_MAG_DIR = (Write_Buf[1] & 0x01);//control only the magnet } else if(Script_Slave_Add == 0x46) { Head_I2C_EXP3_0x44.uchar[1] = (Write_Buf[1] & 0x0C); } - Head_Write_IO_Reg(Script_Slave_Add, HIGH); + //Head_Write_IO_Reg(Script_Slave_Add, HIGH); } + */ + if(Write_Buf[0] >=0xF0) // write + { + // write , Write_Buf[0] bit number 0..15 , Write_Buf[1] 0 or 1 + Write_Buf[1] = Write_Buf[1] & 0x01; + + Write_Buf[0] &=0x0f; + + if(Script_Slave_Add == 0x40) + { + if(Write_Buf[1] == 0x01) + Head_I2C_EXP1_0x40.ushort |= (0x01 << Write_Buf[0]); + else if(Write_Buf[1] == 0x00) + Head_I2C_EXP1_0x40.ushort &= ~(0x01 << Write_Buf[0]); + } + else + if(Script_Slave_Add == 0x42) + { + if(Write_Buf[1] == 0x01) + Head_I2C_EXP2_0x42.ushort |= (0x01 << Write_Buf[0]); + else if(Write_Buf[1] == 0x00) + Head_I2C_EXP2_0x42.ushort &= ~(0x01 << Write_Buf[0]); + } + else + if(Script_Slave_Add == 0x46) + { + if(Write_Buf[1] == 0x01) + Head_I2C_EXP4_0x46.ushort |= (0x01 << Write_Buf[0]); + else if(Write_Buf[1] == 0x00) + Head_I2C_EXP4_0x46.ushort &= ~(0x01 << Write_Buf[0]); + } + } } else if(request->amount == 0xFEAD) //functions Head Card I/O diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Motor.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Motor.c index 1c39385d4..1663219bd 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Motor.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Motor.c @@ -283,13 +283,13 @@ void Stub_MotorStopRequest(MessageContainer* requestContainer) Stop_Command = (STOP_TYPE_ENUM)request->stop_cmd; + TimerMotors_t Motor_Id = (TimerMotors_t)request->motor_id; //to remove warning #ifdef EVALUATION_BOARD uint32_t read_status; //SPI_Control(SKIP_INIT); Mot_Stop(); #else - TimerMotors_t Motor_Id = (TimerMotors_t)request->motor_id; //to remove warning MotorStop(Motor_Id, Stop_Command); #endif if ((Motor_Id >= HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1)&&(Motor_Id <= HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_8)) diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c index 698852f00..1181082ea 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c @@ -428,9 +428,14 @@ MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_RDANCER,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDANCER].directionthreadwize, 15, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_RDANCER], Thread_Load_HomingCallback,15000);*/ CallbackCounter++; MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_LDANCER1,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1].directionthreadwize, 500, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1], Thread_Load_HomingCallback,25000); - CallbackCounter++; - MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_LDANCER2,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER2].directionthreadwize, 500, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_LDANCER2], Thread_Load_HomingCallback,25000); + status |= MCU_E2PromProgram(EEPROM_WINDER_TENSION_POSITION,1); + if (Is_PP_Machine() == true) //PP machine - new LTFU + { + CallbackCounter++; + MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_LDANCER2,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER2].directionthreadwize, 500, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_LDANCER2], Thread_Load_HomingCallback,25000); + status |= MCU_E2PromProgram(EEPROM_PULLER_TENSION_POSITION,1); + } return OK; } uint32_t Thread_Load_Lift_Rockers(void) @@ -511,12 +516,15 @@ MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_LDANCER1, 500); // MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_LDANCER1,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1].directionthreadwize, 500, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1], Thread_Load_HomingCallback,25000); - MotorMoveWithCallback (HARDWARE_MOTOR_TYPE__MOTO_LDANCER1, MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1].directionthreadwize, (5000*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1].microstep), Thread_Load_HomingCallback,20000); - CallbackCounter++; - MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_LDANCER2, 500); - -// MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_LDANCER1,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1].directionthreadwize, 500, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1], Thread_Load_HomingCallback,25000); - MotorMoveWithCallback (HARDWARE_MOTOR_TYPE__MOTO_LDANCER2, MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER2].directionthreadwize, (5000*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER2].microstep), Thread_Load_HomingCallback,20000); + MotorMoveWithCallback (HARDWARE_MOTOR_TYPE__MOTO_LDANCER1, MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1].directionthreadwize, ((int)windertension*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1].microstep), Thread_Load_HomingCallback,20000); + status |= MCU_E2PromProgram(EEPROM_WINDER_TENSION_POSITION,(int)windertension); + if (Is_PP_Machine() == true) //PP machine - new LTFU + { + CallbackCounter++; + MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_LDANCER2, 500); + MotorMoveWithCallback (HARDWARE_MOTOR_TYPE__MOTO_LDANCER2, MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER2].directionthreadwize, ((int)pullertension*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER2].microstep), Thread_Load_HomingCallback,20000); + status |= MCU_E2PromProgram(EEPROM_PULLER_TENSION_POSITION,(int)pullertension); + } return OK; } diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index 78150e9f9..3b97e9eb7 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -149,9 +149,9 @@ uint32_t Winder_Prepare(void *JobDetails) if (FPGA_Read_limit_Switches(GPI_SW_SPOOL_EXISTS)==LIMIT) { REPORT_MSG(LIMIT, "No cone in winder"); - PrepareReady(Module_Winder,ModuleFail); - AlarmHandlingSetAlarm(EVENT_TYPE__WINDER_CONE_DOES_NOT_EXIST,true); - return ERROR; + //PrepareReady(Module_Winder,ModuleFail); + //AlarmHandlingSetAlarm(EVENT_TYPE__WINDER_CONE_DOES_NOT_EXIST,true); + //return ERROR; } #ifdef READ_SCREW_ENCODER diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index be6644067..fb8fa4711 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -35,6 +35,7 @@ #include "modules/ids/ids_ex.h" #include "Modules/AlarmHandling/AlarmHandling.h" #include "Control/MillisecTask.h" +#include "drivers/Flash_ram/MCU_E2Prom.h" ////////////////////////////////State machine operation//////////////////////////////////// //the state machine operation is used to operate in runtime correct profile flow execution @@ -789,11 +790,61 @@ uint32_t HandleJobThreadControlParameters(ThreadParameters* ThreadParams) return OK; } +uint32_t ThreadPrepare_Tension (int DancerId, double tension) +{ + int current, request = (int)tension,movement; + int HW_Motor_Id; + bool direction; + uint32_t status = OK, address = 0; + switch (DancerId) + { + case HARDWARE_DANCER_TYPE__LeftDancer: + address = EEPROM_WINDER_TENSION_POSITION; + HW_Motor_Id = HARDWARE_MOTOR_TYPE__MOTO_LDANCER1; + break; + case HARDWARE_DANCER_TYPE__MiddleDancer: + if (Is_PP_Machine() == false) //LP machine - old LTFU + return OK; + address = EEPROM_PULLER_TENSION_POSITION; + HW_Motor_Id = HARDWARE_MOTOR_TYPE__MOTO_LDANCER2; + break; + case HARDWARE_DANCER_TYPE__RightDancer: + return ERROR; + default: + return ERROR; + } + status |= MCU_E2PromRead(address,¤t); + if ((status!= OK )||(current == 0)||(current == 0xFFFF)) + return status; + if (abs(current - request)<100) + return status; + else + { + if (current < request) //go down + { + direction = MotorsCfg[HW_Motor_Id].directionthreadwize; + movement = request - current; + } + else + { + direction = 1-MotorsCfg[HW_Motor_Id].directionthreadwize; + movement = current - request; + } + MotorMoveWithCallback (HW_Motor_Id, direction, (movement*MotorsCfg[HW_Motor_Id].microstep), NULL,20000); + status |= MCU_E2PromProgram(address,request); + } + usnprintf(Lenstr, 100, "ThreadPrepare_Tension Dancer %d Request: %d Current %d movement %d dir %d motor %d address %d", + DancerId,request,current,movement,direction,HW_Motor_Id,address); + ReportWithPackageFilter(ThreadFilter,Lenstr,__FILE__,address,HARDWARE_MOTOR_TYPE__MOTO_DH_LID,RpFatalError,LIMIT,0); + + return status; +} //******************************************************************************************************************** uint32_t ThreadPrepareState(void *JobDetails) { int Motor_i,i, HW_Motor_Id, Pid_Id; JobTicket* JobTicket = JobDetails; + uint32_t status = OK; CurrentSegmentId = 0; JobCounter = 0; @@ -810,11 +861,22 @@ uint32_t HandleJobThreadControlParameters(ThreadParameters* ThreadParams) AlarmHandlingSetAlarm(EVENT_TYPE__WINDER_CONE_DOES_NOT_EXIST,false); AlarmHandlingSetAlarm(EVENT_TYPE__FPGA_WATCHDOG_ACTIVATED,false); +// status |= MCU_E2PromProgram(EEPROM_STORAGE_DANCER_0,DancersCfg[0].zeropoint); +// double feedertension = 0; +// double pullertension = 0; +// double windertension = 0; EnableLubrication = JobTicket->enablelubrication; EnableIntersegment = JobTicket->enableintersegment; IntersegmentLength = JobTicket->intersegmentlength; + status = ThreadPrepare_Tension (HARDWARE_DANCER_TYPE__LeftDancer, windertension); + ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension",__FILE__,HARDWARE_DANCER_TYPE__LeftDancer,status,RpFatalError,(int)windertension,0); + status = ThreadPrepare_Tension (HARDWARE_DANCER_TYPE__MiddleDancer, pullertension); + ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension",__FILE__,HARDWARE_DANCER_TYPE__MiddleDancer,status,RpFatalError,(int)pullertension,0); + status = ThreadPrepare_Tension (HARDWARE_DANCER_TYPE__RightDancer, feedertension); + ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension",__FILE__,HARDWARE_DANCER_TYPE__RightDancer,status,RpFatalError,(int)feedertension,0); + FirstCalcInJob = true; if(MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDRIVING].speedmaster == false) { diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c index 6d9b8c411..6aedf8c3b 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c @@ -447,7 +447,7 @@ uint32_t InitSequenceDispenserPressureBuildUpTest(void) { if (isMotorConfigured(Dispenser_i + HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1)==true) { - IDS_Dispenser_Build_Pressure(Dispenser_i,InitSequenceDispenserPressureBuildUpTestCallBackFunction); + //IDS_Dispenser_Build_Pressure(Dispenser_i,InitSequenceDispenserPressureBuildUpTestCallBackFunction); Report("IDS_Dispenser_Build_Pressure",__FILE__,__LINE__,(int)Dispenser_i,RpWarning,(int)Dispenser_i,0); NumOfCheckedDispnsers++; } diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c index e3461515c..52609ab44 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c @@ -788,7 +788,7 @@ void JobRequestFunc(MessageContainer* requestContainer) if (GetMachineState()<MACHINE_STATE_NO_PROCESS_PARAMS) { ReportWithPackageFilter(InitFilter,"Job request Init not ready",__FILE__,(int)__LINE__,(int)status,RpWarning,(int)GetMachineState(),0); - status = ERROR_CODE__NO_JOB_IN_PROGRESS; + error = ERROR_CODE__NO_JOB_IN_PROGRESS; usnprintf(ErrorMsg, 100, "Init procedure not completed yet"); } } @@ -840,6 +840,8 @@ void JobRequestFunc(MessageContainer* requestContainer) jobStatus.has_currentsegmentindex = false; response.status = &jobStatus; response.has_canceled = false; + responseContainer.has_continuous = true; + responseContainer.continuous = true; responseContainer = createContainer(MESSAGE_TYPE__JobResponse, JobToken, false, &response, &job_response__pack, &job_response__get_packed_size); container_buffer = my_malloc(message_container__get_packed_size(&responseContainer)); } |
