aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-05-02 17:09:14 +0300
committerShlomo Hecht <shlomo@twine-s.com>2018-05-02 17:09:14 +0300
commit1b7e387658909121f368438d79f0d93edd3ab6aa (patch)
tree12fe52ca78a77196f13a84c20cbf41f750bdb56e /Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c
parentd352d3b3bd785d9eb8a93347333de0b357f7ce0e (diff)
downloadTango-1b7e387658909121f368438d79f0d93edd3ab6aa.tar.gz
Tango-1b7e387658909121f368438d79f0d93edd3ab6aa.zip
state machine changes, memory allocation bug
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c29
1 files changed, 10 insertions, 19 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c
index f4ad58da8..899cda64a 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c
@@ -7,9 +7,15 @@
#include "ids.h"
#include "PMR/common/MessageContainer.pb-c.h"
#include "PMR/Hardware/HardwareDispenser.pb-c.h"
+#include "PMR/Hardware/HardwarePidControl.pb-c.h"
+#include "PMR/Printing/JobSpool.pb-c.h"
+#include "PMR/Printing/JobSpoolType.pb-c.h"
+#include "drivers/Motors/Motor.h"
-DispenserConfigStruc DispensersCfg[ MAX_SYSTEM_DISPENSERS];
+#define MAX_CONTROL_SAMPLES 10
+
+HardwareDispenser DispensersCfg[ MAX_SYSTEM_DISPENSERS];
uint32_t DispenserIdToMotorId[MAX_SYSTEM_DISPENSERS] = {MOTOR_DISPENSER_1,MOTOR_DISPENSER_2,MOTOR_DISPENSER_3,MOTOR_DISPENSER_4,MOTOR_DISPENSER_5,MOTOR_DISPENSER_6,MOTOR_DISPENSER_7,MOTOR_DISPENSER_8};
@@ -21,27 +27,12 @@ uint32_t DispenserConfigMessage(HardwareDispenser * request)
int Dispenser_i;
Dispenser_i = request->hardwaredispensertype;
- if ((Dispenser_i)&&(Dispenser_i< MAX_SYSTEM_DISPENSERS))
+ if (Dispenser_i< MAX_SYSTEM_DISPENSERS)
{
-
- DispensersCfg[Dispenser_i].id = request->hardwaredispensertype;
- DispensersCfg[Dispenser_i].minfrequency = request->minfrequency;
- DispensersCfg[Dispenser_i].maxfrequency = request->maxfrequency;
- DispensersCfg[Dispenser_i].minmicrostep = request->minmicrostep;
- DispensersCfg[Dispenser_i].maxmicrostep = request->maxmicrostep;
- DispensersCfg[Dispenser_i].correctiongain = request->correctiongain;
- DispensersCfg[Dispenser_i].ratiotodryerspeed = request->ratiotodryerspeed;
- DispensersCfg[Dispenser_i].kp = request->kp;
- DispensersCfg[Dispenser_i].ki = request->ki;
- DispensersCfg[Dispenser_i].kd = request->kd;
- DispensersCfg[Dispenser_i].changeslope = request->changeslope;
- DispensersCfg[Dispenser_i].highlengthmicrosecond = request->highlengthmicrosecond;
- DispensersCfg[Dispenser_i].dispensercapacity= request->capacity;
-// DispensersCfg[Dispenser_i].midtankcapacity = request->midtankcapacity;
- DispensersCfg[Dispenser_i].nlperpulse = request->nlperpulse;
- DispensersCfg[Dispenser_i].controltiming = request->controltiming;
+ memcpy (&DispensersCfg[Dispenser_i],request,sizeof(HardwareDispenser));
return status;
}
else return Dispenser_i;
}
+