aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-02-27 17:05:48 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-02-27 17:05:48 +0200
commit124de0fe327a87aca0de1f38b7481cba51a01276 (patch)
tree1bf76e18c16a677430bca1a5819831c531660248 /Software/Embedded_SW/Embedded/Modules
parentb51e6204dba42b3b664a9b9ddbc6d268e0ec3bff (diff)
downloadTango-124de0fe327a87aca0de1f38b7481cba51a01276.tar.gz
Tango-124de0fe327a87aca0de1f38b7481cba51a01276.zip
Improvements to the WHS blower control (feature #1561)
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c48
2 files changed, 36 insertions, 16 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
index 00ce306cf..5170b7cef 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
@@ -726,8 +726,8 @@ uint32_t MillisecLowLoop(uint32_t tick)
if (WHS_Type == WHS_TYPE_NEW)
{
Trigger_WHS_PT100_Read_All();
- WHS_Blower_Avarege_ORF1(); //drier
- WHS_Blower_Avarege_ORF3(); //head
+ WHS_Blower_Avarege(HEAD_FLOW_METER);
+ WHS_Blower_Avarege(DRIER_FLOW_METER);
WHS_Start_Blower_Control_Closed_Loop ();
}
}
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
index cbe70b444..35a9aef5b 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
@@ -109,11 +109,12 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
}
}
else
- if((request->amount == 0x3E8) && (request->delay <= 0x0fff))// set WHS Blower speed 0x00-0xfff
+ if(request->amount == 0x3E8) //&& (request->delay <= 0x0fff))// set WHS Blower speed 0x00-0xfff
{
if (WHS_Type == WHS_TYPE_NEW)
{
- Trigger_SetWHSBlowerVoltage (request->delay);
+ WHS_enable_control_loop( request->delay & 0x1000);//disable control loop: 0=disable 1= enable
+ Trigger_SetWHSBlowerVoltage (request->delay & 0x0FFF);
response.progress = 0;
response.has_progress = false;
}
@@ -144,19 +145,38 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
{
uint16_t tempu16 = 0;
double temp_double = 0.0;
+ uint8_t display_byte = 0;
+ uint16_t A2D_data = 0;
+
if (WHS_Type == WHS_TYPE_NEW)
{
-
- if (request->delay & 0x8000) // bit15 select the chip address
- {
- SetDisplayView( CURRENT );
- }
- else
+ display_byte = ((request->delay & 0x3000)>>12);
+ switch (display_byte)
{
- SetDisplayView( AVERAGE );
+ case 0:
+ //stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /*DisplayView =*/0x0000); //
+ SetLeftDisplayView (HeadAVERAGE);
+ SetWriteDisplayView(DrierAVERAGE);
+ break;
+ case 1:
+ //stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /*DisplayView =*/0x1000); //
+ SetLeftDisplayView (HeadAVERAGE);
+ SetWriteDisplayView(HeadCURRENT);
+ break;
+ case 2:
+ //stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /*DisplayView =*/0x2000); //
+ SetLeftDisplayView (DrierAVERAGE);
+ SetWriteDisplayView(DrierCURRENT);
+ break;
+ case 3:
+ //stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /*DisplayView =*/0x3000); //
+ SetLeftDisplayView (HeadCURRENT);
+ SetWriteDisplayView(DrierCURRENT);
+ break;
}
- switch(request->delay )// get A2D
+ A2D_data = (request->delay & 0x0FFF);
+ switch(A2D_data )// get A2D
{
case 0:
get_orf_1(&tempu16);
@@ -186,16 +206,16 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
tempu16 = 0; //get_cur_vlv2(&tempu16);
break;
case 10:
- temp_double = get_ORF1_Q();
+ temp_double = get_Q(HEAD_FLOW_METER);
break;
case 12:
- temp_double = get_ORF3_Q();
+ temp_double = get_Q(DRIER_FLOW_METER);
break;
case 20:
- temp_double = get_average_ORF1_Q(); //HEAD
+ temp_double = get_average_Q(HEAD_FLOW_METER); //HEAD
break;
case 22:
- temp_double = get_average_ORF3_Q(); //Drier
+ temp_double = get_average_Q(DRIER_FLOW_METER); //Drier
break;
case 11: