diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2018-04-15 17:39:56 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2018-04-15 17:39:56 +0300 |
| commit | b74e275177921d0fc40b089aa6af33dcb44359e3 (patch) | |
| tree | c14c2cbcf2d61693d7ced62a314f48f07efa8367 /Software/Embedded_SW/Embedded/Modules/Thread/Thread.h | |
| parent | 9c0bad738d47742f39f2b02b240591653da6bc12 (diff) | |
| download | Tango-b74e275177921d0fc40b089aa6af33dcb44359e3.tar.gz Tango-b74e275177921d0fc40b089aa6af33dcb44359e3.zip | |
Initial Motors control testing
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); |
