diff options
| author | Avi Levkovich <avi@twine-s.com> | 2018-04-16 09:27:48 +0300 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2018-04-16 09:27:48 +0300 |
| commit | eafb576fe1bf76898b9cc17671a89d1585e2c8e4 (patch) | |
| tree | d833a983eb84c53b35b19a45af475aa3e88953c0 /Software/Embedded_SW/Embedded/Modules/Thread/Thread.h | |
| parent | cf441513c1010eb4363e985b3b7af61a8503456e (diff) | |
| parent | 53f93d7fd2d2aa4571bad6e93e0c519fce242753 (diff) | |
| download | Tango-eafb576fe1bf76898b9cc17671a89d1585e2c8e4.tar.gz Tango-eafb576fe1bf76898b9cc17671a89d1585e2c8e4.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/Thread.h')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/Thread/Thread.h | 41 |
1 files changed, 14 insertions, 27 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h b/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h index d2675452c..c737b9ea8 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h @@ -8,6 +8,7 @@ #include "PMR/Hardware/HardwareDancer.pb-c.h" #include "PMR/Hardware/HardwareDancerType.pb-c.h" #include "PMR/Hardware/HardwareWinder.pb-c.h" +#include "PMR/Hardware/HardwarePidControl.pb-c.h" #include "PMR/Printing/JobSpool.pb-c.h" #include "PMR/Printing/JobSpoolType.pb-c.h" @@ -17,23 +18,6 @@ typedef struct { - HardwareMotorType id; - uint32_t minfreq; - uint32_t maxfreq; - uint32_t minmicrostep; - uint32_t maxmicrostep; - double linearratio; - uint32_t medianposition; - double correctiongain; - double ratio2dryerspeed; - double kp; - double ki; - double kd; - double changeslope; - double hightimeoutusec; -}MotorConfigStruc; -typedef struct -{ uint32_t startoffsetpulses; uint32_t spoolbackingrate; uint32_t segmentoffsetpulses;// the spool winding initial length in mm @@ -43,14 +27,6 @@ typedef struct double diameter; }InternalWinderConfigStruc; -typedef struct -{ - bool fixorgradual; - double k; - double x; - int32_t pulsepermmspring; - int id; //HardwareDancerType -}DancerConfigStruc; typedef enum threadMotorsEnum { @@ -62,17 +38,28 @@ typedef enum threadMotorsEnum MAX_THREAD_MOTORS_NUM }threadMotorsEnum; #define MAX_THREAD_FEED_MOTORS WINDER_MOTOR+1 +#define MAX_SYSTEM_DANCERS HARDWARE_DANCER_TYPE__RightDancer+1 + extern TimerMotors_t ThreadMotorIdToMotorId[MAX_THREAD_MOTORS_NUM]; extern DANCER_ENUM ThreadMotorIdToDancerId[MAX_THREAD_MOTORS_NUM]; +extern HardwarePidControlType ThreadMotorIdToControlId[MAX_THREAD_MOTORS_NUM]; + +extern HardwareMotor MotorsCfg[NUM_OF_MOTORS]; +extern HardwarePidControl MotorsControl[MAX_THREAD_MOTORS_NUM]; +extern InternalWinderConfigStruc InternalWinderCfg; +extern HardwareDancer DancersCfg[MAX_SYSTEM_DANCERS]; -extern MotorConfigStruc MotorsCfg[MAX_THREAD_MOTORS_NUM]; -extern InternalWinderConfigStruc InternalWinderCfg; +#define MAX_CONTROL_SAMPLES 6 +extern uint32_t MotorSamples[MAX_THREAD_MOTORS_NUM][MAX_CONTROL_SAMPLES]; +extern int MotorSamplePointer[MAX_THREAD_MOTORS_NUM]; +extern double NormalizedErrorCoEfficient[MAX_THREAD_MOTORS_NUM]; uint32_t InternalWinderConfigMessage(HardwareWinder* request); uint32_t MotorsConfigMessage(HardwareMotor * request); uint32_t InternalWindingConfigMessage(JobSpool* request); uint32_t ThreadInitialTestStub(HardwareMotor * request); +uint32_t MotorPidRequestMessage(HardwarePidControl* request); uint32_t DancerConfigMessage(HardwareDancer * request); |
