CORDET Framework - C2 Implementation
CrPsLptCreate.c
Go to the documentation of this file.
1 
25 #include "CrPsLptCreate.h"
26 
28 #include "FwSmDCreate.h"
29 #include "FwSmConfig.h"
30 
31 #include <stdlib.h>
32 
33 /* ----------------------------------------------------------------------------------------------------------------- */
34 FwSmDesc_t CrPsLptCreate(void* smData)
35 {
36  const FwSmCounterU2_t N_OUT_OF_INACTIVE = 2; /* The number of transitions out of state INACTIVE */
37  const FwSmCounterU2_t N_OUT_OF_DOWN_TRANSFER = 2; /* The number of transitions out of state DOWN_TRANSFER */
38  const FwSmCounterU2_t N_OUT_OF_UP_TRANSFER = 2; /* The number of transitions out of state UP_TRANSFER */
39 
41  FwSmDesc_t smDesc = FwSmCreate(
42  3, /* NSTATES - The number of states */
43  0, /* NCPS - The number of choice pseudo-states */
44  7, /* NTRANS - The number of transitions */
45  9, /* NACTIONS - The number of state and transition actions */
46  2 /* NGUARDS - The number of transition guards */
47  );
48 
50  FwSmSetData(smDesc, smData);
51  FwSmAddState(smDesc, CrPsLpt_INACTIVE, N_OUT_OF_INACTIVE, NULL, NULL, NULL, NULL);
53  FwSmAddState(smDesc, CrPsLpt_UP_TRANSFER, N_OUT_OF_UP_TRANSFER, &CrPsLptUpTransferEntryAction, &CrPsLptUpTransferExitAction, &CrPsLptUpTransferDoAction, NULL);
54  FwSmAddTransStaToSta(smDesc, StartUpTransfer, CrPsLpt_INACTIVE, CrPsLpt_UP_TRANSFER, NULL, NULL);
55  FwSmAddTransStaToSta(smDesc, StartDownTransfer, CrPsLpt_INACTIVE, CrPsLpt_DOWN_TRANSFER, NULL, NULL);
56  FwSmAddTransStaToSta(smDesc, Abort, CrPsLpt_DOWN_TRANSFER, CrPsLpt_INACTIVE, &CrPsLptGenerateAbortEvent, NULL);
57  FwSmAddTransStaToSta(smDesc, Execute, CrPsLpt_DOWN_TRANSFER, CrPsLpt_INACTIVE, NULL, &CrPsLptIsTransferFinished);
58  FwSmAddTransStaToSta(smDesc, Execute, CrPsLpt_UP_TRANSFER, CrPsLpt_INACTIVE, &CrPsLptLoadReport, &CrPsLptIsFailed);
59  FwSmAddTransStaToSta(smDesc, EndUpTransfer, CrPsLpt_UP_TRANSFER, CrPsLpt_INACTIVE, NULL, NULL);
60  FwSmAddTransIpsToSta(smDesc, CrPsLpt_INACTIVE, &CrPsLptInitialization);
61 
62  return smDesc;
63 }
FwSmBool_t CrPsLptIsTransferFinished(FwSmDesc_t smDesc)
Guard on the transition from DOWN_TRANSFER to INACTIVE.
Definition: CrPsLptFunc.c:238
void CrPsLptDownTransferExitAction(FwSmDesc_t smDesc)
Exit Action for the state DOWN_TRANSFER.
Definition: CrPsLptFunc.c:83
FwSmBool_t CrPsLptIsFailed(FwSmDesc_t smDesc)
Guard on the transition from UP_TRANSFER to INACTIVE.
Definition: CrPsLptFunc.c:281
Create one instance of the CrPsLpt state machine.
void CrPsLptUpTransferDoAction(FwSmDesc_t smDesc)
Do Action for the state UP_TRANSFER.
Definition: CrPsLptFunc.c:179
FwSmDesc_t CrPsLptCreate(void *smData)
CrPsLpt function definitions.
Definition: CrPsLptCreate.c:34
void CrPsLptDownTransferEntryAction(FwSmDesc_t smDesc)
Entry Action for the state DOWN_TRANSFER.
Definition: CrPsLptFunc.c:58
void CrPsLptUpTransferExitAction(FwSmDesc_t smDesc)
Exit Action for the state UP_TRANSFER.
Definition: CrPsLptFunc.c:216
void CrPsLptLoadReport(FwSmDesc_t smDesc)
Action on the transition from UP_TRANSFER to INACTIVE.
Definition: CrPsLptFunc.c:257
void CrPsLptInitialization(FwSmDesc_t smDesc)
Action on the transition from Initial State to INACTIVE.
Definition: CrPsLptFunc.c:295
#define CrPsLpt_DOWN_TRANSFER
Make sure to include this header file only once.
Definition: CrPsLptCreate.h:43
void CrPsLptGenerateAbortEvent(FwSmDesc_t smDesc)
Action on the transition from DOWN_TRANSFER to INACTIVE.
Definition: CrPsLptFunc.c:227
void CrPsLptDownTransferDoAction(FwSmDesc_t smDesc)
Do Action for the state DOWN_TRANSFER.
Definition: CrPsLptFunc.c:99
void CrPsLptUpTransferEntryAction(FwSmDesc_t smDesc)
Entry Action for the state UP_TRANSFER.
Definition: CrPsLptFunc.c:163
#define Execute
The identifiers of transition commands (triggers)
Definition: CrPsLptCreate.h:48
P&P Software GmbH, Copyright 2012-2013, All Rights Reserved