aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-07-04 11:58:27 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-07-04 11:58:27 +0300
commit1246a201b4600899b4e11243ffb9ff300674750d (patch)
treef50a2195d603738b71c24bfa125b11402014d44f /Software/Embedded_SW
parent0b804fd5df94b66c6be119660581ab3978d31d59 (diff)
parent20310eb98a85ef1b4908c0d7b482f089c5a81bfb (diff)
downloadTango-1246a201b4600899b4e11243ffb9ff300674750d.tar.gz
Tango-1246a201b4600899b4e11243ffb9ff300674750d.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Embedded_SW')
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/ErrorCode.pb-c.h6
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h30
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.h117
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.h114
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartDiagnosticsResponse.pb-c.h12
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/ValueComponent.pb-c.h6
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h9
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.c19
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.h4
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotorType.pb-c.h87
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControlType.pb-c.h69
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareSpeedSensorType.pb-c.h3
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinderType.pb-c.h3
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobWindingMethod.pb-c.h6
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSpeedSensorResponse.pb-c.h3
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c48
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h2
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c2
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c2
21 files changed, 52 insertions, 498 deletions
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/ErrorCode.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Common/ErrorCode.pb-c.h
index 3cc7f6972..c0832f817 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Common/ErrorCode.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/ErrorCode.pb-c.h
@@ -20,9 +20,6 @@ PROTOBUF_C__BEGIN_DECLS
/* --- enums --- */
typedef enum _ErrorCode {
- /*
- *General (Needs to be organized)
- */
ERROR_CODE__NONE = 0,
ERROR_CODE__GENERAL_ERROR = 1,
ERROR_CODE__BAD_CRC = 2,
@@ -35,9 +32,6 @@ typedef enum _ErrorCode {
*/
ERROR_CODE__UNAUTHORIZED_CONNECTION = 4,
/*
- *IO
- */
- /*
*Returned by FileChunkUploadResponse when the UploadID was not set by FileUploadRequest. Or returned by ExecuteProcessResponse when the UploadID does not exist or has not been completed.
*/
ERROR_CODE__INVALID_UPLOAD_ID = 1000,
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 25356ff24..af9d5a8a6 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
@@ -20,17 +20,8 @@ PROTOBUF_C__BEGIN_DECLS
/* --- enums --- */
typedef enum _MessageType {
- /*
- *The first enumeration value must be zero so..
- */
MESSAGE_TYPE__None = 0,
- /*
- *Common
- */
MESSAGE_TYPE__ErrorResponse = 1,
- /*
- *Stubs
- */
MESSAGE_TYPE__CalculateRequest = 3,
MESSAGE_TYPE__CalculateResponse = 4,
MESSAGE_TYPE__ProgressRequest = 5,
@@ -123,9 +114,6 @@ typedef enum _MessageType {
MESSAGE_TYPE__StubI2CReadBytesResponse = 92,
MESSAGE_TYPE__StubI2CWriteBytesRequest = 93,
MESSAGE_TYPE__StubI2CWriteBytesResponse = 94,
- /*
- *Integration
- */
MESSAGE_TYPE__ExternalBridgeUdpDiscoveryPacket = 1000,
MESSAGE_TYPE__ExternalClientLoginRequest = 1001,
MESSAGE_TYPE__ExternalClientLoginResponse = 1002,
@@ -133,9 +121,6 @@ typedef enum _MessageType {
MESSAGE_TYPE__DirectSynchronizationResponse = 1004,
MESSAGE_TYPE__OverrideDataBaseRequest = 1005,
MESSAGE_TYPE__OverrideDataBaseResponse = 1006,
- /*
- *Diagnostics
- */
MESSAGE_TYPE__StartDiagnosticsRequest = 2000,
MESSAGE_TYPE__StartDiagnosticsResponse = 2001,
MESSAGE_TYPE__MotorAbortHomingRequest = 2002,
@@ -166,41 +151,26 @@ typedef enum _MessageType {
MESSAGE_TYPE__ResolveEventResponse = 2027,
MESSAGE_TYPE__StopDiagnosticsRequest = 2028,
MESSAGE_TYPE__StopDiagnosticsResponse = 2029,
- /*
- *Printing
- */
MESSAGE_TYPE__JobRequest = 3000,
MESSAGE_TYPE__JobResponse = 3001,
MESSAGE_TYPE__AbortJobRequest = 3002,
MESSAGE_TYPE__AbortJobResponse = 3003,
MESSAGE_TYPE__UploadProcessParametersRequest = 3004,
MESSAGE_TYPE__UploadProcessParametersResponse = 3005,
- /*
- *Debugging
- */
MESSAGE_TYPE__StartDebugLogRequest = 4000,
MESSAGE_TYPE__StartDebugLogResponse = 4001,
MESSAGE_TYPE__StopDebugLogRequest = 4002,
MESSAGE_TYPE__StopDebugLogResponse = 4003,
- /*
- *Hardware
- */
MESSAGE_TYPE__UploadHardwareConfigurationRequest = 5000,
MESSAGE_TYPE__UploadHardwareConfigurationResponse = 5001,
MESSAGE_TYPE__SystemResetRequest = 5002,
MESSAGE_TYPE__SystemResetResponse = 5003,
- /*
- *Connection
- */
MESSAGE_TYPE__KeepAliveRequest = 6000,
MESSAGE_TYPE__KeepAliveResponse = 6001,
MESSAGE_TYPE__ConnectRequest = 6002,
MESSAGE_TYPE__ConnectResponse = 6003,
MESSAGE_TYPE__DisconnectRequest = 6004,
MESSAGE_TYPE__DisconnectResponse = 6005,
- /*
- *IO
- */
MESSAGE_TYPE__FileUploadRequest = 7000,
MESSAGE_TYPE__FileUploadResponse = 7001,
MESSAGE_TYPE__FileChunkUploadRequest = 7002,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.h
index 552e9b82a..eb30b2cd2 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.h
@@ -27,199 +27,82 @@ typedef struct _DiagnosticsMonitors DiagnosticsMonitors;
struct _DiagnosticsMonitors
{
ProtobufCMessage base;
- /*
- *Dancer 1 (Min = 0, Max = 255, PPF = 10)
- */
size_t n_dancer1angle;
double *dancer1angle;
- /*
- *Dancer 2 (Min = 0, Max = 1200, PPF = 1)
- */
size_t n_dancer2angle;
double *dancer2angle;
- /*
- *Dancer 3 (Min = 0, Max = 1200, PPF = 1)
- */
size_t n_dancer3angle;
double *dancer3angle;
- /*
- *Feeder Motor (Min = 0, Max = 100, PPF = 1)
- */
size_t n_feedermotorfrequency;
double *feedermotorfrequency;
- /*
- *Dryer Motor (Min = 0, Max = 100, PPF = 1)
- */
size_t n_dryermotor;
double *dryermotor;
- /*
- *Poller Motor (Min = 0, Max = 100, PPF = 1)
- */
size_t n_pollermotor;
double *pollermotor;
- /*
- *Winder Motor (Min = 0, Max = 100, PPF = 1)
- */
size_t n_windermotor;
double *windermotor;
- /*
- *Screw Motor (Min = 0, Max = 100, PPF = 1)
- */
size_t n_screwmotor;
double *screwmotor;
- /*
- *Thread Speed (Min = 0, Max = 100, PPF = 1)
- */
size_t n_threadspeed;
double *threadspeed;
- /*
- *Mixer (Min = 0, Max = 100, PPF = 1)
- */
size_t n_mixertemperature;
double *mixertemperature;
- /*
- *Head Zone 1 (Min = 0, Max = 100, PPF = 1)
- */
size_t n_headzone1temperature;
double *headzone1temperature;
- /*
- *Head Zone 2 (Min = 0, Max = 100, PPF = 1)
- */
size_t n_headzone2temperature;
double *headzone2temperature;
- /*
- *Head Zone 3 (Min = 0, Max = 100, PPF = 1)
- */
size_t n_headzone3temperature;
double *headzone3temperature;
- /*
- *Head Air Flow (Min = 0, Max = 100, PPF = 1)
- */
size_t n_headairflow;
double *headairflow;
- /*
- *Feeder Tension (Min = 0, Max = 100, PPF = 1)
- */
size_t n_feedertension;
double *feedertension;
- /*
- *Puller Tension (Min = 0, Max = 100, PPF = 1)
- */
size_t n_pullertension;
double *pullertension;
- /*
- *Dryer Zone 1 (Min = 0, Max = 100, PPF = 1)
- */
size_t n_dryerzone1temperature;
double *dryerzone1temperature;
- /*
- *Dryer Zone 2 (Min = 0, Max = 100, PPF = 1)
- */
size_t n_dryerzone2temperature;
double *dryerzone2temperature;
- /*
- *Dryer Zone 3 (Min = 0, Max = 100, PPF = 1)
- */
size_t n_dryerzone3temperature;
double *dryerzone3temperature;
- /*
- *Dryer Air Flow (Min = 0, Max = 100, PPF = 1)
- */
size_t n_dryerairflow;
double *dryerairflow;
- /*
- *Winder Tension (Min = 0, Max = 100, PPF = 1)
- */
size_t n_windertension;
double *windertension;
- /*
- *Dispensers Motors (Min = 0, Max = 1080, PPF = 10) Channel Count = 8
- */
size_t n_dispensersmotorsfrequency;
DoubleArray **dispensersmotorsfrequency;
- /*
- *Dispensers Angular Encoders (Min = 0, Max = 100, PPF = 1) Channel Count = 8
- */
size_t n_dispensersangularencoders;
DoubleArray **dispensersangularencoders;
- /*
- *Dispensers Linear Positions (Min = 0, Max = 100, PPF = 1) Channel Count = 8
- */
size_t n_dispenserslinearpositions;
DoubleArray **dispenserslinearpositions;
- /*
- *Dispensers Pressure (Min = 0, Max = 100, PPF = 1) Channel Count = 8
- */
size_t n_dispenserspressure;
DoubleArray **dispenserspressure;
- /*
- *Mid Tank Pressure (Min = 0, Max = 100, PPF = 1)
- */
size_t n_midtankpressure;
double *midtankpressure;
- /*
- *Filter Delta Pressure (Min = 0, Max = 100, PPF = 1)
- */
size_t n_filterdeltapressure;
double *filterdeltapressure;
- /*
- *Chiller Temperature (Min = 0, Max = 100, PPF = 1)
- */
size_t n_chillertemperature;
double *chillertemperature;
- /*
- *Dispenser 1 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
- */
size_t n_dispenser1motorfrequency;
double *dispenser1motorfrequency;
- /*
- *Dispenser 2 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
- */
size_t n_dispenser2motorfrequency;
double *dispenser2motorfrequency;
- /*
- *Dispenser 3 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
- */
size_t n_dispenser3motorfrequency;
double *dispenser3motorfrequency;
- /*
- *Dispenser 4 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
- */
size_t n_dispenser4motorfrequency;
double *dispenser4motorfrequency;
- /*
- *Dispenser 5 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
- */
size_t n_dispenser5motorfrequency;
double *dispenser5motorfrequency;
- /*
- *Dispenser 6 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
- */
size_t n_dispenser6motorfrequency;
double *dispenser6motorfrequency;
- /*
- *Dispenser 7 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
- */
size_t n_dispenser7motorfrequency;
double *dispenser7motorfrequency;
- /*
- *Dispenser 8 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
- */
size_t n_dispenser8motorfrequency;
double *dispenser8motorfrequency;
- /*
- *Head Zone 4 (Min = 0, Max = 100, PPF = 1)
- */
size_t n_headzone4temperature;
double *headzone4temperature;
- /*
- *Head Zone 5 (Min = 0, Max = 100, PPF = 1)
- */
size_t n_headzone5temperature;
double *headzone5temperature;
- /*
- *Head Zone 6 (Min = 0, Max = 100, PPF = 1)
- */
size_t n_headzone6temperature;
double *headzone6temperature;
};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.h
index 05cd19d3a..981dd500e 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/EventType.pb-c.h
@@ -20,157 +20,43 @@ PROTOBUF_C__BEGIN_DECLS
/* --- enums --- */
typedef enum _EventType {
- /*
- *Dancer overshot / Thread break sensor (Group = Thread Feeding System, Category = Error, Actions = Abort Running Job, Prevent Job Execution, Soft Visual Notification)
- */
EVENT_TYPE__ThreadBreak = 0,
- /*
- *Dancer not stable or got down (Group = Thread Feeding System, Category = Error, Actions = Abort Running Job, Soft Visual Notification, Prevent Job Execution)
- */
EVENT_TYPE__ThreadTensionControlFailure = 1,
- /*
- *Source thread counter (counter shall be reset upon loading a new cone) (Group = Thread Feeding System, Category = Error, Actions = Abort Running Job, Prevent Job Execution, Soft Visual Notification)
- */
EVENT_TYPE__FeederConeInsufficiant = 2,
- /*
- *Winder Controller (Group = Thread Feeding System, Category = Error, Actions = Abort Running Job, Prevent Job Execution, Soft Visual Notification)
- */
EVENT_TYPE__WinderGeneralError = 3,
- /*
- *SW_SPOOL_EXISTS='0' or Winder Controller (Group = Thread Feeding System, Category = Error, Actions = Abort Running Job, Prevent Job Execution, Soft Visual Notification)
- */
EVENT_TYPE__WinderConeNotExists = 4,
- /*
- *Motor Stall (Group = Thread Feeding System, Category = Error, Actions = Abort Running Job, Soft Visual Notification, Prevent Job Execution)
- */
EVENT_TYPE__ThreadFeedingGeneralError = 5,
- /*
- *Dyeing Head Thermometers (Group = DH Dryer, Category = Error, Actions = Abort Running Job, Soft Visual Notification, Prevent Job Execution)
- */
EVENT_TYPE__DyeingHeadOverTemperature = 6,
- /*
- *Current sense in all heaters is 0 (Group = DH Dryer, Category = Error, Actions = Abort Running Job, Soft Visual Notification, Prevent Job Execution)
- */
EVENT_TYPE__DHThermalCutoff = 7,
- /*
- *Dryer Thermometers (Group = DH Dryer, Category = Error, Actions = Prevent Job Execution, Abort Running Job, Soft Visual Notification)
- */
EVENT_TYPE__DryerOverTemperature = 8,
- /*
- *Current sense in all heaters is 0 (Group = DH Dryer, Category = Error, Actions = Abort Running Job, Soft Visual Notification, Prevent Job Execution)
- */
EVENT_TYPE__DryerThermalCutoff = 9,
- /*
- *Dyeing head Heaters failure (Under /Over current) (Group = DH Dryer, Category = Error, Actions = Soft Visual Notification, Prevent Job Execution, Abort Running Job)
- */
EVENT_TYPE__DyeingHeadHeatersCurrentOutOfRange = 10,
- /*
- *Dryer Heaters failure (Under /Over current) (Group = DH Dryer, Category = Error, Actions = Abort Running Job, Soft Visual Notification, Prevent Job Execution)
- */
EVENT_TYPE__DryerHeatersCurrentOutOfRange = 11,
- /*
- *Covers Tampers (Group = DH Dryer, Category = Error, Actions = Prevent Job Execution, Soft Visual Notification)
- */
EVENT_TYPE__DryerDHeadCoverOpen = 12,
- /*
- *Pressure sensor Purex or Air flow sensor (Flap) (Group = Waste Handling System, Category = Error, Actions = Abort Running Job, Prevent Job Execution, Soft Visual Notification)
- */
EVENT_TYPE__AirFilterClogged = 13,
- /*
- *Micro-switch (Group = Waste Handling System, Category = Error, Actions = Abort Running Job, Prevent Job Execution, Soft Visual Notification)
- */
EVENT_TYPE__AirFilterNotInstalled = 14,
- /*
- *blower techo. Feedback, air flap (Group = Waste Handling System, Category = Error, Actions = Prevent Job Execution, Soft Visual Notification, Abort Running Job)
- */
EVENT_TYPE__WHSFailure = 15,
- /*
- *Check container float sensor (Group = Waste Handling System, Category = Warning, Actions = Soft Visual Notification)
- */
EVENT_TYPE__WasteContainerIsAlmostFull = 16,
- /*
- *Check container float sensor (Group = Waste Handling System, Category = Error, Actions = Soft Visual Notification)
- */
EVENT_TYPE__WasteContainerIsFull = 17,
- /*
- *Dispenser position sensor/s (Group = Ink Delivery System, Category = Error, Actions = Prevent Job Execution, Abort Running Job, Soft Visual Notification)
- */
EVENT_TYPE__DispenserEmpty = 18,
- /*
- *Check if job can be executor refill needed (Group = Ink Delivery System, Category = Warning, Actions = Soft Visual Notification)
- */
EVENT_TYPE__DispenserLowLevel = 19,
- /*
- *Cartridge float displacement (Group = Ink Delivery System, Category = Error, Actions = Prevent Job Execution, Soft Visual Notification)
- */
EVENT_TYPE__DispenserRefillFailure = 20,
- /*
- *Mid-Tank (Group = Ink Delivery System, Category = Warning, Actions = Soft Visual Notification)
- */
EVENT_TYPE__MidTankEmpty = 21,
- /*
- *Cartridge float sensor (Group = Ink Delivery System, Category = Warning, Actions = Soft Visual Notification)
- */
EVENT_TYPE__MidTankLowLevel = 22,
- /*
- *Cartridge float sensor or Additional micro-switch (Group = Ink Delivery System, Category = Warning, Actions = Soft Visual Notification)
- */
EVENT_TYPE__MidTankNotInPlace = 23,
- /*
- *System BIT Failure (Group = General Hardware, Category = Error, Actions = Soft Visual Notification)
- */
EVENT_TYPE__SystemBITFail = 24,
- /*
- *Internal Thermostat (Group = General Hardware, Category = Error, Actions = Prevent Job Execution, Soft Visual Notification, Abort Running Job, Stop Heaters)
- */
EVENT_TYPE__GeneralInternalOverTemperature = 25,
- /*
- *Covers Tampers (Group = General Hardware, Category = Warning, Actions = Soft Visual Notification)
- */
EVENT_TYPE__MachineCoverOpen = 26,
- /*
- *EPB (Group = General Hardware, Category = Critical, Actions = Overall Power Down, Soft Visual Notification)
- */
EVENT_TYPE__EmergencyPushButtonPressed = 27,
- /*
- *System General Error (Group = General Hardware, Category = Warning, Actions = Soft Visual Notification)
- */
EVENT_TYPE__SystemGeneralError = 28,
- /*
- *Occurs a request has been sent to the machine or external bridge service (Group = Transport, Category = Info, Actions = )
- */
EVENT_TYPE__RequestSent = 29,
- /*
- *Occures when a response has been received (Group = Transport, Category = Info, Actions = )
- */
EVENT_TYPE__ResponseReceived = 30,
- /*
- *Occures when a request to the machine has failed (Group = Transport, Category = Error, Actions = )
- */
EVENT_TYPE__RequestFailed = 31,
- /*
- *Occures when the application has encountered some error (Group = Application, Category = Error, Actions = )
- */
EVENT_TYPE__ApplicationException = 32,
- /*
- *General application event logs (Group = Application, Category = Info, Actions = )
- */
EVENT_TYPE__ApplicationInformation = 33,
- /*
- *Notifies about application succesfully started (Group = Application, Category = Info, Actions = )
- */
EVENT_TYPE__ApplicationStarted = 34,
- /*
- *Notifies about application termination (Group = Application, Category = Info, Actions = )
- */
EVENT_TYPE__ApplicationTerminated = 35,
- /*
- *Occures when a diagnostics recording has been started (Group = Application, Category = Info, Actions = )
- */
EVENT_TYPE__RecordingStarted = 36,
- /*
- *Occures when a diagnostics recording has been stopped (Group = Application, Category = Info, Actions = )
- */
EVENT_TYPE__RecordingStopped = 37
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(EVENT_TYPE)
} EventType;
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 d3967ca49..ca559d62b 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
@@ -30,23 +30,11 @@ typedef struct _StartDiagnosticsResponse StartDiagnosticsResponse;
struct _StartDiagnosticsResponse
{
ProtobufCMessage base;
- /*
- *Monitors
- */
DiagnosticsMonitors *monitors;
- /*
- *Digital Pins States
- */
size_t n_digitalpins;
DigitalPin **digitalpins;
- /*
- *Value Components Effective Values
- */
size_t n_componentsstates;
ValueComponentState **componentsstates;
- /*
- *Hardware Errors & Warnings
- */
size_t n_events;
Event **events;
};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/ValueComponent.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/ValueComponent.pb-c.h
index 1e60dac27..013c5f7a0 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/ValueComponent.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/ValueComponent.pb-c.h
@@ -20,13 +20,7 @@ PROTOBUF_C__BEGIN_DECLS
/* --- enums --- */
typedef enum _ValueComponent {
- /*
- *Heater 1 Temperature (Min = 0, Max = 100)
- */
VALUE_COMPONENT__Heater1Temp = 0,
- /*
- *Heater 2 Temperature (Min = 0, Max = 100)
- */
VALUE_COMPONENT__Heater2Temp = 1
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(VALUE_COMPONENT)
} ValueComponent;
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h
index 294363d95..fed2b0108 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h
@@ -20,17 +20,8 @@ PROTOBUF_C__BEGIN_DECLS
/* --- enums --- */
typedef enum _HardwareDancerType {
- /*
- *Left Dancer
- */
HARDWARE_DANCER_TYPE__LeftDancer = 0,
- /*
- *Middle Dancer
- */
HARDWARE_DANCER_TYPE__MiddleDancer = 1,
- /*
- *Right Dancer
- */
HARDWARE_DANCER_TYPE__RightDancer = 2
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(HARDWARE_DANCER_TYPE)
} HardwareDancerType;
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.c
index ad64bb77c..d6f9d3347 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.c
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.c
@@ -52,7 +52,7 @@ void hardware_motor__free_unpacked
assert(message->base.descriptor == &hardware_motor__descriptor);
protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
-static const ProtobufCFieldDescriptor hardware_motor__field_descriptors[24] =
+static const ProtobufCFieldDescriptor hardware_motor__field_descriptors[25] =
{
{
"HardwareMotorType",
@@ -342,12 +342,25 @@ static const ProtobufCFieldDescriptor hardware_motor__field_descriptors[24] =
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
+ {
+ "FsSpd",
+ 25,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwareMotor, has_fsspd),
+ offsetof(HardwareMotor, fsspd),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
};
static const unsigned hardware_motor__field_indices_by_name[] = {
10, /* field[10] = ConfigWord */
11, /* field[11] = DirectionThreadWize */
22, /* field[22] = FnSlpAcc */
23, /* field[23] = FnSlpDec */
+ 24, /* field[24] = FsSpd */
0, /* field[0] = HardwareMotorType */
6, /* field[6] = HighLengthMicroSecond */
21, /* field[21] = IntSpd */
@@ -372,7 +385,7 @@ static const unsigned hardware_motor__field_indices_by_name[] = {
static const ProtobufCIntRange hardware_motor__number_ranges[1 + 1] =
{
{ 1, 0 },
- { 0, 24 }
+ { 0, 25 }
};
const ProtobufCMessageDescriptor hardware_motor__descriptor =
{
@@ -382,7 +395,7 @@ const ProtobufCMessageDescriptor hardware_motor__descriptor =
"HardwareMotor",
"",
sizeof(HardwareMotor),
- 24,
+ 25,
hardware_motor__field_descriptors,
hardware_motor__field_indices_by_name,
1, hardware_motor__number_ranges,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.h
index 7194765e0..04ef5ba5c 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.h
@@ -75,10 +75,12 @@ struct _HardwareMotor
int32_t fnslpacc;
protobuf_c_boolean has_fnslpdec;
int32_t fnslpdec;
+ protobuf_c_boolean has_fsspd;
+ int32_t fsspd;
};
#define HARDWARE_MOTOR__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&hardware_motor__descriptor) \
- , 0, HARDWARE_MOTOR_TYPE__MOTO_DH_CLEANHEAD, 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, HARDWARE_MOTOR_TYPE__MOTO_DH_CLEANHEAD, 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 }
/* HardwareMotor methods */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotorType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotorType.pb-c.h
index 3352ffed6..b98139a4d 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotorType.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotorType.pb-c.h
@@ -20,121 +20,34 @@ PROTOBUF_C__BEGIN_DECLS
/* --- enums --- */
typedef enum _HardwareMotorType {
- /*
- *Cleaning Head Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DH_CLEANHEAD = 0,
- /*
- *Cleaning Mechanism Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DH_CLEANMECH = 1,
- /*
- *Dyeing Head Lid Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DH_LID = 2,
- /*
- *Dryer Main Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DRYER_DRIVING = 3,
- /*
- *Drier Lid Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID = 4,
- /*
- *Drier Thread Loading Arm Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM = 5,
- /*
- *Dispenser 1 Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1 = 6,
- /*
- *Dispenser 2 Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_2 = 7,
- /*
- *Dispenser 3 Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_3 = 8,
- /*
- *Dispenser 4 Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_4 = 9,
- /*
- *Dispenser 5 Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_5 = 10,
- /*
- *Dispenser 6 Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_6 = 11,
- /*
- *Dispenser 7 Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_7 = 12,
- /*
- *Dispenser 8 Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_8 = 13,
- /*
- *Winder Screw Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_SCREW = 14,
- /*
- *Winder Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_WINDER = 15,
- /*
- *Pooler Dancer Adjustment
- */
HARDWARE_MOTOR_TYPE__MOTO_LDANCER1 = 16,
- /*
- *Winder Dancer Adjustment #1
- */
HARDWARE_MOTOR_TYPE__MOTO_LDANCER2 = 17,
- /*
- *Pooler Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_LDRIVING = 18,
- /*
- *Pooler Loading Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_LLOADING = 19,
- /*
- *Pooler Loading Pivot Arm Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_LPIVOT1 = 20,
- /*
- *Feeder Dancer Adjustment Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_RDANCER = 21,
- /*
- *Feeder Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_RDRIVING = 22,
- /*
- *Right Loading Arm Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_RLOADARM = 23,
- /*
- *Right Loading Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_RLOADING = 24,
- /*
- *Spare 1 Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_SPARE1_1 = 25,
- /*
- *Spare 2 Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_SPARE1_2 = 26,
- /*
- *Spare 3 Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_SPARE2_1 = 27,
- /*
- *Spare 4 Motor
- */
HARDWARE_MOTOR_TYPE__MOTO_SPARE2_2 = 28
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(HARDWARE_MOTOR_TYPE)
} HardwareMotorType;
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControlType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControlType.pb-c.h
index 1476965f8..70ffb26fd 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControlType.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControlType.pb-c.h
@@ -20,97 +20,28 @@ PROTOBUF_C__BEGIN_DECLS
/* --- enums --- */
typedef enum _HardwarePidControlType {
- /*
- *Dryer Heater 1000w
- */
HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w = 0,
- /*
- *Dryer Heater 200w 1
- */
HARDWARE_PID_CONTROL_TYPE__DryerHeater200w1 = 1,
- /*
- *Dryer Heater 200w 2
- */
HARDWARE_PID_CONTROL_TYPE__DryerHeater200w2 = 2,
- /*
- *Head Heater Zone 1
- */
HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1 = 3,
- /*
- *Head Heater Zone 2
- */
HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ2 = 4,
- /*
- *Head Heater Zone 3
- */
HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ3 = 5,
- /*
- *Head Heater Zone 4
- */
HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ4 = 6,
- /*
- *Head Heater Zone 5
- */
HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ5 = 7,
- /*
- *Head Heater Zone 6
- */
HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ6 = 8,
- /*
- *Mixer Heater
- */
HARDWARE_PID_CONTROL_TYPE__MixerHeater = 9,
- /*
- *Waste Control
- */
HARDWARE_PID_CONTROL_TYPE__WasteControl = 10,
- /*
- *Dryer Motor
- */
HARDWARE_PID_CONTROL_TYPE__MotorDryer = 11,
- /*
- *Feeder Motor
- */
HARDWARE_PID_CONTROL_TYPE__MotorFeeder = 12,
- /*
- *Pooler Motor
- */
HARDWARE_PID_CONTROL_TYPE__MotorPooler = 13,
- /*
- *Winder Motor
- */
HARDWARE_PID_CONTROL_TYPE__MotorWinder = 14,
- /*
- *Dispenser 1
- */
HARDWARE_PID_CONTROL_TYPE__Dispenser1 = 15,
- /*
- *Dispenser 2
- */
HARDWARE_PID_CONTROL_TYPE__Dispenser2 = 16,
- /*
- *Dispenser 3
- */
HARDWARE_PID_CONTROL_TYPE__Dispenser3 = 17,
- /*
- *Dispenser 4
- */
HARDWARE_PID_CONTROL_TYPE__Dispenser4 = 18,
- /*
- *Dispenser 5
- */
HARDWARE_PID_CONTROL_TYPE__Dispenser5 = 19,
- /*
- *Dispenser 6
- */
HARDWARE_PID_CONTROL_TYPE__Dispenser6 = 20,
- /*
- *Dispenser 7
- */
HARDWARE_PID_CONTROL_TYPE__Dispenser7 = 21,
- /*
- *Dispenser 8
- */
HARDWARE_PID_CONTROL_TYPE__Dispenser8 = 22
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(HARDWARE_PID_CONTROL_TYPE)
} HardwarePidControlType;
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareSpeedSensorType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareSpeedSensorType.pb-c.h
index 567c2246e..f9b0134e7 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareSpeedSensorType.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareSpeedSensorType.pb-c.h
@@ -20,9 +20,6 @@ PROTOBUF_C__BEGIN_DECLS
/* --- enums --- */
typedef enum _HardwareSpeedSensorType {
- /*
- *Default Speed Sensor
- */
HARDWARE_SPEED_SENSOR_TYPE__DefaultSpeedSensor = 0
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(HARDWARE_SPEED_SENSOR_TYPE)
} HardwareSpeedSensorType;
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinderType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinderType.pb-c.h
index 2acabb018..952c9ea12 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinderType.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinderType.pb-c.h
@@ -20,9 +20,6 @@ PROTOBUF_C__BEGIN_DECLS
/* --- enums --- */
typedef enum _HardwareWinderType {
- /*
- *Internal Winder
- */
HARDWARE_WINDER_TYPE__InternalWinder = 0
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(HARDWARE_WINDER_TYPE)
} HardwareWinderType;
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobWindingMethod.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobWindingMethod.pb-c.h
index d3bac5cb2..a762ae2c5 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobWindingMethod.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobWindingMethod.pb-c.h
@@ -20,13 +20,7 @@ PROTOBUF_C__BEGIN_DECLS
/* --- enums --- */
typedef enum _JobWindingMethod {
- /*
- *Embroidery Winding
- */
JOB_WINDING_METHOD__Embroidery = 0,
- /*
- *Calibration Winding
- */
JOB_WINDING_METHOD__Calibration = 1
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(JOB_WINDING_METHOD)
} JobWindingMethod;
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSpeedSensorResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSpeedSensorResponse.pb-c.h
index 6bc9cfa68..2a98d2806 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSpeedSensorResponse.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSpeedSensorResponse.pb-c.h
@@ -26,9 +26,6 @@ typedef struct _StubSpeedSensorResponse StubSpeedSensorResponse;
struct _StubSpeedSensorResponse
{
ProtobufCMessage base;
- /*
- *uint32 Speed_Sensor_ID = 1;
- */
protobuf_c_boolean has_speed;
uint32_t speed;
};
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c
index c8c62f8f1..cfede940b 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c
@@ -539,11 +539,11 @@ uint32_t FPGA_MotorConfig_callback(TimerMotors_t _motorId, uint32_t ReadValue)
}
case MOTOR_CONFIG_FS_SPD:
ConfigStages[_motorId]++;
- if(MotorsCfg[_motorId].has_kvaldec)//temporary using kvaldec for x_FS_SPD
+ if(MotorsCfg[_motorId].has_fsspd)//temporary using kvaldec for x_FS_SPD
{
temp = x_SET_PARAM | x_FS_SPD;
temp = temp << 24;
- temp |= (/*FSCalc*/(MotorsCfg[_motorId].kvaldec))<<8;
+ temp |= (/*FSCalc*/(MotorsCfg[_motorId].fsspd))<<8;
if( MillisecWriteToMotor(_motorId, temp, 4, FPGA_MotorConfig_callback) < 0 ) return ERROR;
break;
}
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c
index 0e923f468..08ba6d2b4 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c
@@ -295,8 +295,8 @@ uint32_t StartDiagnosticsRequestFunc(MessageContainer* requestContainer)
// ReportInitParams InitParams;
//ControlStart();
DiagnosticRequestAccepted = true;
-#warning test only - shoud be started and stopped with job execution
- DiagnosticsStart();
+//#warning test only - shoud be started and stopped with job execution
+// DiagnosticsStart();
StartDiagnosticsRequest* request = start_diagnostics_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
strcpy (DiagnosticsToken, requestContainer->token);
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
index e564e52d0..aa9e6ec94 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
@@ -145,37 +145,41 @@ uint32_t WinderPresegmentReady(uint32_t deviceID, uint32_t ReadValue)
return PreSegmentReady(Module_Winder,ModuleDone);
}
-uint32_t Winder_Presegment(void *JobDetails)
+uint32_t Winder_Presegment(void *JobDetails, uint32_t SegmentId)
{
JobTicket* JobTicket = JobDetails;
int process_speed = JobTicket->processparameters->dyeingspeed;
float screw_speed = 0;
float RotationsPerSecond;
- ScrewCurrentDirection = (1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].directionthreadwize);
+ if (SegmentId == 0) // do all this only in the beginning of the job. do not touch after that (assuming spool does not change mid job)
+ {
+ ScrewCurrentDirection = (1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].directionthreadwize);
+
+ // * speed is set by the winding parameters and by winder rotational speed (read POSITION every 10msec)
+ // * calculate
+ // * 1. calculate speed according to JobTicket->processparameters->dyeingspeed
+ // * calculation input: traverse length in milimeters/pulses, number of rotations per traverse ==> length of traverse per rotation.
+ screw_speed = InternalWinderCfg.segmentoffsetpulses / InternalWinderCfg.NumberOfRotationPerPassage;
+ // calculation input#2: number of rotations per second - (basically: speed/winder perimeter. later - according to winder actual speed - calculate according to winder position accumulation in the last second.
+ RotationsPerSecond = process_speed / (InternalWinderCfg.diameter * PI);
+ // calculation input#3: speed = rotation per second * traverse per rotation = traverse per second. speed set: traverse per second (mm) * pulses per mm.
+ ScrewSpeed = screw_speed*RotationsPerSecond;
- // * speed is set by the winding parameters and by winder rotational speed (read POSITION every 10msec)
- // * calculate
- // * 1. calculate speed according to JobTicket->processparameters->dyeingspeed
- // * calculation input: traverse length in milimeters/pulses, number of rotations per traverse ==> length of traverse per rotation.
- screw_speed = InternalWinderCfg.segmentoffsetpulses / InternalWinderCfg.NumberOfRotationPerPassage;
- // calculation input#2: number of rotations per second - (basically: speed/winder perimeter. later - according to winder actual speed - calculate according to winder position accumulation in the last second.
- RotationsPerSecond = process_speed / (InternalWinderCfg.diameter * PI);
- // calculation input#3: speed = rotation per second * traverse per rotation = traverse per second. speed set: traverse per second (mm) * pulses per mm.
- ScrewSpeed = screw_speed*RotationsPerSecond;
+ MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_SCREW,ScrewSpeed);
+ //screw_speed = InternalWinderCfg.milimetersperrotation
+ // * 2. determine optimal micro-step setting
+ // * 3. calculate cart travel length from winding parameters
+ // * 4. start move of travel length
+ // * 5. register motor nBusy callback. this callback will flip between move(traverse length, hardstop) and goto(0), with handline og the coneshape and adjusting maxspeed
+ ScrewNumberOfSteps = InternalWinderCfg.segmentoffsetpulses*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].microstep;
+ MotorMove (HARDWARE_MOTOR_TYPE__MOTO_SCREW,ScrewCurrentDirection,ScrewNumberOfSteps); //process: set point 0, set max speed, move to the specified length, return back.
+ ScrewControlId = AddControlCallback(ScrewDirectionChange, eOneMillisecond,MotorControlGetnBusyState,(IfTypeMotors*0x100+HARDWARE_MOTOR_TYPE__MOTO_SCREW), HARDWARE_MOTOR_TYPE__MOTO_SCREW, 0);
- MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_SCREW,ScrewSpeed);
- //screw_speed = InternalWinderCfg.milimetersperrotation
-// * 2. determine optimal micro-step setting
-// * 3. calculate cart travel length from winding parameters
-// * 4. start move of travel length
-// * 5. register motor nBusy callback. this callback will flip between move(traverse length, hardstop) and goto(0), with handline og the coneshape and adjusting maxspeed
- ScrewNumberOfSteps = InternalWinderCfg.segmentoffsetpulses*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].microstep;
- MotorMove (HARDWARE_MOTOR_TYPE__MOTO_SCREW,ScrewCurrentDirection,ScrewNumberOfSteps); //process: set point 0, set max speed, move to the specified length, return back.
- ScrewControlId = AddControlCallback(ScrewDirectionChange, eOneMillisecond,MotorControlGetnBusyState,(IfTypeMotors*0x100+HARDWARE_MOTOR_TYPE__MOTO_SCREW), HARDWARE_MOTOR_TYPE__MOTO_SCREW, 0);
+ // MotorSetSpeedWithCallback (HARDWARE_MOTOR_TYPE__MOTO_SCREW, screw_speed,WinderPresegmentReady);
+ //in a callback: calculate backing rate for top and bottom, update point 0, update passing length, call the appropriate move to 0 / move;
- // MotorSetSpeedWithCallback (HARDWARE_MOTOR_TYPE__MOTO_SCREW, screw_speed,WinderPresegmentReady);
- //in a callback: calculate backing rate for top and bottom, update point 0, update passing length, call the appropriate move to 0 / move;
+ }
PreSegmentReady(Module_Winder,ModuleDone);
return OK;
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h
index b7401c77f..4a7f1144c 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h
@@ -23,7 +23,7 @@ uint32_t ThreadInitialTestStub();
//uint32_t MotorPidRequestMessage(HardwarePidControl* request);
uint32_t Winder_Init(void);
uint32_t Winder_Prepare(void);
-uint32_t Winder_Presegment(void *JobDetails);
+uint32_t Winder_Presegment(void *JobDetails, uint32_t SegmentId);
uint32_t Winder_End(void);
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
index f569373bf..a1045aed8 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
@@ -135,7 +135,7 @@ static ReturnCode PrepareState(void *JobDetails)
ReturnCode retcode;
retcode = JobSuccess;
//start (fast??) heating
- DiagnosticsStop();
+ DiagnosticsStart();
if (Configured[Module_IDS])
{
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
index 9558dc814..28a87e826 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
@@ -202,7 +202,7 @@ static uint32_t PreSegmentState(void *JobDetails, int SegmentId)
}
if (Configured[Module_Winder])
{
- Winder_Presegment(JobDetails);
+ Winder_Presegment(JobDetails,SegmentId);
}
if (Configured[Module_IDS])
{