« Back to Function sub system ActDrive

State machine ActRectifier

(Not Available)

State machine states

    • The initial transition must stop any driving activity.
      • Destination:QUIET
      • Condition: (Not Available)
      • Actions:
        • ActDrive
          Sets the direction of the actuators to not move.
          Code
          rectifiedActAction=(t_pwm)0;
          actDirection=CFG_ACT_DIRECTION_QUIET;
        • ActDrive
          This action is used to execute the submachine ActDriving.
          Code
          ActDriving();
    • The action must start in Bw direction
      • Destination:BW
      • Condition: negativeActionRequested
        Code
        actAction<0
      • Actions:
        • ActDrive
          The actuation output must equal the module of the actuation request.
          Code
          if (actAction>=0){
          rectifiedActAction=(t_pwm)actAction;
          } else {
          rectifiedActAction=(t_pwm)(-actAction);
          }
        • ActDrive
          Sets the direction of the actuators to move in Bw position.
          Code
          actDirection=CFG_ACT_DIRECTION_BW;
        • ActDrive
          This action is used to execute the submachine ActDriving.
          Code
          ActDriving();
    • The movement has to start in Fw direction.
      • Destination:FW
      • Condition: positiveActionRequested
        Code
        actAction>0
      • Actions:
        • ActDrive
          The actuation output must equal the module of the actuation request.
          Code
          if (actAction>=0){
          rectifiedActAction=(t_pwm)actAction;
          } else {
          rectifiedActAction=(t_pwm)(-actAction);
          }
        • ActDrive
          Sets the direction of the actuators to move in Fw position.
          Code
          actDirection=CFG_ACT_DIRECTION_FW;
        • ActDrive
          This action is used to execute the submachine ActDriving.
          Code
          ActDriving();
  • FW

    • The actuator must keep moving in FW.
      • Destination:FW
      • Condition: positiveActionRequested
        Code
        actAction>0
      • Actions:
        • ActDrive
          The actuation output must equal the module of the actuation request.
          Code
          if (actAction>=0){
          rectifiedActAction=(t_pwm)actAction;
          } else {
          rectifiedActAction=(t_pwm)(-actAction);
          }
        • ActDrive
          Sets the direction of the actuators to move in Fw position.
          Code
          actDirection=CFG_ACT_DIRECTION_FW;
        • ActDrive
          This action is used to execute the submachine ActDriving.
          Code
          ActDriving();
    • The actuator must stop moving.
  • BW

    • The actuation must stay in negative direction.
      • Destination:BW
      • Condition: negativeActionRequested
        Code
        actAction<0
      • Actions:
        • ActDrive
          The actuation output must equal the module of the actuation request.
          Code
          if (actAction>=0){
          rectifiedActAction=(t_pwm)actAction;
          } else {
          rectifiedActAction=(t_pwm)(-actAction);
          }
        • ActDrive
          Sets the direction of the actuators to move in Bw position.
          Code
          actDirection=CFG_ACT_DIRECTION_BW;
        • ActDrive
          This action is used to execute the submachine ActDriving.
          Code
          ActDriving();
    • The action direction changes from BW to FW
      • Destination:FW
      • Condition: positiveActionRequested
        Code
        actAction>0
      • Actions:
        • ActDrive
          The actuation output must equal the module of the actuation request.
          Code
          if (actAction>=0){
          rectifiedActAction=(t_pwm)actAction;
          } else {
          rectifiedActAction=(t_pwm)(-actAction);
          }
        • ActDrive
          Sets the direction of the actuators to move in Fw position.
          Code
          actDirection=CFG_ACT_DIRECTION_FW;
        • ActDrive
          This action is used to execute the submachine ActDriving.
          Code
          ActDriving();
    • The driving is negative and changes to zero.