aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c41
1 files changed, 38 insertions, 3 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
index 8d736f352..88c5d2d8c 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
@@ -611,9 +611,44 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
if((request -> delay & 0xFFF000) == 0xCAF000)//Actuator
{
- //HeadCard_Actuators_Control((ACTUATORS)(((request -> delay) & 0x100)>>8), /*(bool)((request -> delay & 0x10)>>4), */(bool)((request -> delay & 0x01)));//Actuators: ID, power, Direction
- Trigger_Head_Actuators_Control((ACTUATORS)(((request -> delay) & 0x100)>>8), (bool)((request -> delay & 0x10)>>4), (bool)((request -> delay & 0x01)));//Actuators: ID, power, Direction
- //response.progress = HeadCard_Actuators_Status((ACTUATORS)((request -> delay) & 0x100)>>8);
+ if((request -> delay & 0x00000F) >1)
+ {
+ if((request -> delay & 0xFFFFFF) == 0xCAF002)//ACTUATOR-IN down without delay and without stop the actuator
+ {
+ Trigger_Head_Actuators_Stub(ACTIN, true, false);
+ }
+ else
+ if((request -> delay & 0xFFFFFF) == 0xCAF003)//ACTUATOR-IN up without delay and without stop the actuator
+ {
+ Trigger_Head_Actuators_Stub(ACTIN, true, true);
+ }
+ else
+ if((request -> delay & 0xFFFFFF) == 0xCAF008)//Stop ACTUATOR-IN
+ {
+ Trigger_Head_Actuators_Stub(ACTIN, false, true);
+ }
+ else
+ if((request -> delay & 0xFFFFFF) == 0xCAF102)//ACTUATOR-OUT down without delay and without stop the actuator
+ {
+ Trigger_Head_Actuators_Stub(ACTOT, true, false);
+ }
+ else
+ if((request -> delay & 0xFFFFFF) == 0xCAF103)//ACTUATOR-OUT up without delay and without stop the actuator
+ {
+ Trigger_Head_Actuators_Stub(ACTOT, true, true);
+ }
+ else
+ if((request -> delay & 0xFFFFFF) == 0xCAF108)//Stop ACTUATOR-OUT
+ {
+ Trigger_Head_Actuators_Stub(ACTOT, false, true);
+ }
+ }
+ else
+ {
+ //HeadCard_Actuators_Control((ACTUATORS)(((request -> delay) & 0x100)>>8), /*(bool)((request -> delay & 0x10)>>4), */(bool)((request -> delay & 0x01)));//Actuators: ID, power, Direction
+ Trigger_Head_Actuators_Control((ACTUATORS)(((request -> delay) & 0x100)>>8), (bool)((request -> delay & 0x10)>>4), (bool)((request -> delay & 0x01)));//Actuators: ID, power, Direction
+ //response.progress = HeadCard_Actuators_Status((ACTUATORS)((request -> delay) & 0x100)>>8);
+ }
response.has_progress = true;
}
else