aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-07-31 15:48:35 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-07-31 15:48:35 +0300
commitfbf63b589fbdf167182b2d294cbff243f88bfe6d (patch)
tree9d6fbced388dc4d4eb43ad2026333f66cf8323d1 /Software/Embedded_SW/Embedded/Modules
parente514b66b261c24257b149ecc6aaa52195509a2b5 (diff)
parent30c2694801b4f880c219a3b5b3738be49796aabc (diff)
downloadTango-fbf63b589fbdf167182b2d294cbff243f88bfe6d.tar.gz
Tango-fbf63b589fbdf167182b2d294cbff243f88bfe6d.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c24
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c20
5 files changed, 37 insertions, 16 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
index c67334625..6220405d4 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
@@ -129,13 +129,13 @@ void DiagnosticCollection(void)
pollermotor[DiagnosticsIndex] = MotorGetSpeed (HARDWARE_MOTOR_TYPE__MOTO_LDRIVING);
windermotor[DiagnosticsIndex] = MotorGetSpeed (HARDWARE_MOTOR_TYPE__MOTO_WINDER);
screwmotor[DiagnosticsIndex] = MotorGetSpeed (HARDWARE_MOTOR_TYPE__MOTO_SCREW);
- mixertemperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_MIXCHIP_TEMP)/100;
+ mixertemperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_AN_ENCLOSURETEMP3)/100;
headzone1temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP1)/100;
headzone2temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP2)/100;
headzone3temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP3)/100;
headzone4temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP4)/100;
headzone5temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP5)/100;
- headzone6temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_AN_ENCLOSURETEMP3)/100;
+ headzone6temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_MIXCHIP_TEMP)/100;
dryerzone1temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DRYER_TEMP1)/100;
dryerzone2temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DRYER_TEMP2)/100;
dryerzone3temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DRYER_TEMP3)/100;
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
index 7d5839a55..08940899e 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
@@ -164,7 +164,8 @@ uint32_t DispenserHomingRequestFunc(MessageContainer* requestContainer)
if ( Motor_Id_to_LS_Id[MotorId] != MAX_GPI)
{
//open dispenser valve dispenser to midtank direction
- Valve_Set((Valves_t) request->index, MidTank_Dispenser);
+ Control3WayValvesWithCallback ((Valves_t) request->index, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
+ //Valve_Set((Valves_t) request->index, MidTank_Dispenser);
//open dry air valve in the dispenser
Valve_Set((Valves_t) (request->index+VALVE_2W_MID_AIR_LF), Atm_MidTank_ON);
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index a145ac1f9..c0f0fae1f 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -46,7 +46,7 @@ HeaterCommand HeaterCmd[MAX_HEATERS_NUM];
uint32_t ControlIdtoHeaterId [MAX_HEATERS_NUM] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
uint32_t DryerHeaterMaxTempControl = 0xFF;
-uint32_t HeaterId2PT100Id[MAX_HEATERS_NUM] = {TEMP_SENSE_ANALOG_DRYER_TEMP1,TEMP_SENSE_ANALOG_DRYER_TEMP1,TEMP_SENSE_ANALOG_DRYER_TEMP3,TEMP_SENSE_ANALOG_DYEINGH_TEMP1,TEMP_SENSE_ANALOG_DYEINGH_TEMP2,TEMP_SENSE_ANALOG_DYEINGH_TEMP3,TEMP_SENSE_ANALOG_DYEINGH_TEMP4,TEMP_SENSE_ANALOG_DYEINGH_TEMP5,TEMP_SENSE_ANALOG_MIXCHIP_TEMP,TEMP_SENSE_ANALOG_MIXCHIP_TEMP};
+uint32_t HeaterId2PT100Id[MAX_HEATERS_NUM] = {TEMP_SENSE_ANALOG_DRYER_TEMP1,TEMP_SENSE_ANALOG_DRYER_TEMP1,TEMP_SENSE_ANALOG_DRYER_TEMP3,TEMP_SENSE_ANALOG_DYEINGH_TEMP1,TEMP_SENSE_ANALOG_DYEINGH_TEMP2,TEMP_SENSE_ANALOG_DYEINGH_TEMP3,TEMP_SENSE_ANALOG_DYEINGH_TEMP4,TEMP_SENSE_ANALOG_DYEINGH_TEMP5,TEMP_SENSE_ANALOG_MIXCHIP_TEMP,TEMP_SENSE_AN_ENCLOSURETEMP3};
uint32_t DryerInternalPT100Id = TEMP_SENSE_ANALOG_DRYER_TEMP2;
bool HeatersRestart = false;
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c
index 8a51bc210..f2901ad84 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c
@@ -36,29 +36,33 @@ float CalculateDispenserPressure (int DispenserId)
DispenserPressure[DispenserId] = 3000 - temp;
*/
- float Vlow = 0.004 * 130; // 4mA*130ohm (0 Pascal)
- float VHigh = 0.020 *130; // 20mA*130ohm (1M Pascal)
+ float Vlow = 0.004 * 130; // 4mA*130ohm = 0.52 V(0 Pascal)
+ float VHigh = 0.020 *130; // 20mA*130ohm = 2.6V (1M Pascal)
- float Bits_0Pascal = Vlow * 4096 / 3; // Vlow * 4096bit / 3Vref
- float Bits_1MPascal = VHigh * 4096 / 3; // VHigh * 4096bit / 3Vref
+ float Bits_0Pascal = Vlow * 4096 / 3; // Vlow * 4096bit / 3Vref = 709.973328 bits
+ float Bits_1MPascal = VHigh * 4096 / 3; // VHigh * 4096bit / 3Vref = 3549.86646 bits
- float a = (1 - 0) / (Bits_1MPascal - Bits_0Pascal);// Mpascal/Bits
+ float a = (1 - 0) / (Bits_1MPascal - Bits_0Pascal);// Mpascal/Bits = 0.000352125
+
+ float b = 0 - (a * Bits_0Pascal );
data = ADC_GetReading(DispenserIdToPressureSensorId[DispenserId]);
- temp = Bits_1MPascal - data;
+ if(data<Bits_0Pascal)
+ data = Bits_0Pascal;//40mA 0Bar
- temp = a * temp;
+ temp = a * data + b;
- DispenserPressure[DispenserId] = 1 - temp; // [Mpascal] ( 1 Mpascal = 10 Bar )
+ DispenserPressure[DispenserId] = temp; // [Mpascal] ( 1 Mpascal = 10 Bar )
//unmark one of them to convert from Mpascal to :
//-----------------------------------
- //DispenserPressure[DispenserId] / = 1000000; //Pascal
+ //DispenserPressure[DispenserId] /= 1000000; //Pascal
//DispenserPressure[DispenserId] *=10; //Bar;
+ DispenserPressure[DispenserId] *=10000000; //uBar;
//DispenserPressure[DispenserId] *=145.0377; //PSI;
- return( DispenserPressure[DispenserId]);
+ return(DispenserPressure[DispenserId]);
}
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c
index 32f3a9b16..e18435554 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c
@@ -12,6 +12,7 @@
#include "drivers/twine_graphicslib/graphics_adapter.h"
#include "Stub_Status.h"
+#include <math.h>
void Stub_DispenserRequest(MessageContainer* requestContainer)
{
@@ -20,7 +21,19 @@ void Stub_DispenserRequest(MessageContainer* requestContainer)
StubDispenserRequest* request = stub_dispenser_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
- //request->dispenserid
+ ADCAcquireInit();
+ SysCtlDelay(10000);
+ ADCAcquireStart(0,1);
+ SysCtlDelay(10000);
+ ADC_TriggerCollection();
+ SysCtlDelay(10000);
+
+ ADC0SS0Handler();
+ SysCtlDelay(100000);
+
+
+
+ //request->dispenserid
//request->start
//request->setdirection
//request->setmicrostepdivision
@@ -39,8 +52,11 @@ void Stub_DispenserRequest(MessageContainer* requestContainer)
writeFloat(request->setspeed);
StubDispenserResponse response = STUB_DISPENSER_RESPONSE__INIT;
+
+ response.dispenserid = (uint32_t)((round)(CalculateDispenserPressure(0x00000004)));//CHAN_DISPENSE_PRESSURE_6);
+
- response.dispenserid = request->dispenserid;
+ //response.dispenserid = request->dispenserid;
response.has_dispenserid = true;
//response.dispenserposition