Пример #1
1
Std_ReturnType Dem_SetEventStatus (Dem_EventIdType pdav0, Dem_EventStatusType EventStatus)
{
  Std_ReturnType status;

  return status;
}

Std_ReturnType Dem_ResetEventStatus (Dem_EventIdType pdav0)
{
  Std_ReturnType status;

  return status;
}

Std_ReturnType Dem_GetEventStatus (Dem_EventIdType pdav0, P2VAR(Dem_EventStatusExtendedType, AUTOMATIC, RTE_APPL_DATA) EventStatusExtended)
{
  Std_ReturnType status;

  return status;
}

Std_ReturnType Dem_GetEventFailed (Dem_EventIdType pdav0, P2VAR(boolean, AUTOMATIC, RTE_APPL_DATA) EventFailed)
{
  Std_ReturnType status;

  return status;
}

Std_ReturnType Dem_GetEventTested (Dem_EventIdType pdav0, P2VAR(boolean, AUTOMATIC, RTE_APPL_DATA) EventTested)
{
Пример #2
0
/* Requirements : AR_SPI_SR272 */
static FUNC (void, SPI_CODE)Spi_HwJobClear(uint16_least SequenceID)
{
    uint16_least JobIdx_u16; /* index to loop over the max number of jobs */
    uint16_least JobId_u16;  /* ID of a job*/
    P2VAR(Spi_JobSortedType, AUTOMATIC, SPI_VAR_NOINIT) JobChain_pt; /* pointer for a sequence chain of jobs */
    P2VAR(Spi_JobSortedType, AUTOMATIC, SPI_VAR_NOINIT) JobAkt_pt;   /* pointer for a job chain in a sequence */

    /* get first assigned job of a sequence, starts a index 1 */
    JobId_u16   = Spi_ConfigPtr_pt->Spi_SeqCfg[SequenceID].Spi_JobList[2U] ;
    JobIdx_u16  = Spi_JobPrioConvTbl_at[JobId_u16];
    JobChain_pt = &Spi_JobsSorted_at[JobIdx_u16];

    /* now clean up the remaining chained jobs */
    while(JobChain_pt != NULL_PTR)
    {
        /* clear all pending jobs belonging to this sequence */
        JobId_u16 = JobChain_pt->JobID_u8;
        if(  (JobChain_pt->JobStatus_u8 == SPI_JOB_PENDING)
          || (JobChain_pt->JobStatus_u8 == SPI_JOB_QUEUED))
        {
            /* set job state */
            JobChain_pt->JobStatus_u8  = SPI_JOB_OK;
            Spi_ConfigPtr_pt->Spi_GlobalStatus_pt->Spi_JobResult[JobId_u16] = SPI_JOB_OK;
        }
        /* save current job */
        JobAkt_pt   = JobChain_pt;
        /* get next job */
        JobChain_pt = JobAkt_pt->JobNext_pt;
        /* and remove the reference */
        JobAkt_pt->JobNext_pt = NULL_PTR;
    }
    /* clear number of jobs */
    Spi_HwSeqEvent_at[SequenceID].NrOfJobs_u8 = 0U ;
    return;
}
Пример #3
0
/* Requirements : AR_SPI_SR63, AR_SPI_SR152, AR_SPI_SR202 */
static FUNC(void, SPI_CODE) Spi_HwSeqCleanUp(uint16_least HW_Inst_Nr_u8)
{
    uint16_least JobIdx_u16;    /* Index of a job   */
    uint16_least JobId_u16;     /* ID of a job      */
    uint16_least SeqId_u16;    /* Id of a sequence */

    P2VAR(Spi_JobSortedType, AUTOMATIC, SPI_VAR_NOINIT) JobChain_pt; /* pointer for a job chain in a sequence */
    P2VAR(Spi_JobSortedType, AUTOMATIC, SPI_VAR_NOINIT) JobAkt_pt;   /* pointer for a job chain in a sequence */

    /* this sequence was reported as finished */
    SeqId_u16 = Spi_HwSeqIdInst_t[HW_Inst_Nr_u8].SeqIdRep_u8;
    /* this is set by the DLC module, every time a job has completed */
    JobId_u16   = Spi_HwJobEvent_at[HW_Inst_Nr_u8].TaskID_u8;
    JobIdx_u16  = Spi_JobPrioConvTbl_at[JobId_u16];
    /* set chain pointer */
    JobChain_pt = &Spi_JobsSorted_at[JobIdx_u16];

    Spi_GlobalSuspend();
    /* next seek all jobs belonging to this sequence  and clear these jobs */
    while(JobChain_pt != NULL_PTR)
    {
        JobId_u16 = JobChain_pt->JobID_u8;
        /* reset sequence ID */
        JobChain_pt->SeqID_u8 = 0xFFU;
        /* set jobstate */
        JobChain_pt->JobStatus_u8  = SPI_JOB_FAILED;
        Spi_ConfigPtr_pt->Spi_GlobalStatus_pt->Spi_JobResult[JobId_u16] = SPI_JOB_FAILED;
        /* save current job */
        JobAkt_pt = JobChain_pt;
        /* get next job */
        JobChain_pt = JobAkt_pt->JobNext_pt;
        /* and remove the reference */
        JobAkt_pt->JobNext_pt = NULL_PTR;
    }
    /* clear number of jobs */
    Spi_HwSeqEvent_at[SeqId_u16].NrOfJobs_u8 = 0U;
    /* clear transmission mode */
    Spi_HwSeqEvent_at[SeqId_u16].Guard_u8    = SPI_HW_UNDEF;

    Spi_HwSeqIdInst_t[HW_Inst_Nr_u8].SeqNrPend_u8--;
    /* set sequence result */
    Spi_ConfigPtr_pt->Spi_GlobalStatus_pt->Spi_SeqResult[SeqId_u16] = SPI_SEQ_FAILED ;
    Spi_GlobalRestore();
    /* goto next sequence */
    Spi_HwSeqNext(HW_Inst_Nr_u8);
    /* now call configured sequence error notification */
    if(Spi_ConfigPtr_pt->Spi_SeqCfg[SeqId_u16].Spi_SequenceEndNotification != NULL_PTR)
    {
        Spi_ConfigPtr_pt->Spi_SeqCfg[SeqId_u16].Spi_SequenceEndNotification() ;
    }
}
Пример #4
0
    MemIf024: If a called function of the Memory Abstraction Interface API has detected an error
    to an illegal parameter DeviceIndex and has a return value, it shall be set as follows:
        MemIf_GetStatus:        MEMIF_UNINIT
        MemIf_GetJobResult:     MEMIF_JOB_FAILED
        All other functions:    E_NOT_OK
    */

// EA_BLOCK_IDENTIFIER/FEE_BLOCK_NUMBER = NvMNvBlockBaseNumber << NvMDatasetSelectionBits.

FUNC(void, MEMIF_CODE) MemIf_SetMode(MemIf_ModeType Mode)
{

}

FUNC(Std_ReturnType, MEMIF_CODE) MemIf_Read(uint8 DeviceIndex, uint16 BlockNumber, uint16 BlockOffset,
                                            P2VAR(uint8, AUTOMATIC, MEMIF_APPL_DATA) DataBufferPtr,
                                            uint16 Length
                                            )
{
    
    return E_OK;
}


FUNC(Std_ReturnType, MEMIF_CODE) MemIf_Write(uint8 DeviceIndex, uint16 BlockNumber,
                                             P2VAR(uint8, AUTOMATIC, MEMIF_APPL_DATA) DataBufferPtr
                                             )
{
    
    return E_OK;
}

#define PWM_STOP_SEC_DBTOC_DATA_UNSPECIFIED
#include "MemMap.h"

#define PWM_START_SEC_CONFIG_DATA_UNSPECIFIED
#include "MemMap.h"


/* Structure for each TAUA Unit Configuration set */
CONST(Tdd_Pwm_TAUABCUnitConfigType,PWM_CONST) Pwm_GstTAUABCUnitConfig[] =
{
  /* TAUA, B or C Index: 0 */
  {
    /* pTAUABCUnitUserCntlRegs */
    (P2VAR(Tdd_Pwm_TAUABCUnitUserRegs, AUTOMATIC, PWM_CONFIG_DATA)) 0xFF808040ul,

    /* pTAUABCUnitOsCntlRegs */
    (P2VAR(Tdd_Pwm_TAUABCUnitOsRegs, AUTOMATIC, PWM_CONFIG_DATA)) 0xFF808240ul,

    /* usTAUChannelMask */
    0x0055,

    /* usTOMMask */
    0x0054,

    /* usTOCMask */
    0x0000,

    /* usTOLMask */
    0x0054,
Пример #6
0
void WsFodMgr_MainFunction (void)
{
  WdgM_CheckpointIdType CheckpointId;
  Dem_FaultDetectionCounterType EventIdFaultDetectionCounter;
  Dem_DTCType DTCofEvent;
  Dem_DTCKindType DTCKind;
  boolean EventTested;
  boolean EventFailed;
  Dem_EventStatusExtendedType EventStatusExtended;
  Dem_EventStatusType EventStatus;
  NvM_DstPtrType DstPtr_0;
  NvM_SrcPtrType SrcPtr;
  NvM_DstPtrType DstPtr;
  boolean BlockChanged;
  uint8 DataIndexPtr;
  uint8 DataIndex;
  NvM_RequestResultType RequestResultPtr;
  GenericByte DiagCtrlFreeze;
  uint8 DiagCtrlFod;
  P2CONST(ResData, AUTOMATIC, AUTOMATIC) ResDataVal;
  P2CONST(FodDataV40, AUTOMATIC, AUTOMATIC) SCI_FODMGR_FodDataValue;
  P2VAR(FodDetectTh, AUTOMATIC, AUTOMATIC) Value_6;
  FodDetectTh Value_5;
  P2VAR(FodDetectTh, AUTOMATIC, AUTOMATIC) Value_4;
  FodDetectTh Value_3;
  P2VAR(FodDetectTh, AUTOMATIC, AUTOMATIC) Value_2;
  FodDetectTh Value_1;
  P2VAR(FodDetectTh, AUTOMATIC, AUTOMATIC) Value_0;
  FodDetectTh Value;
  P2VAR(SftyBoolTF, AUTOMATIC, AUTOMATIC) SftyBoolValue_8;
  SftyBoolTF SftyBoolValue_7;
  P2VAR(SftyBoolTF, AUTOMATIC, AUTOMATIC) SftyBoolValue_6;
  SftyBoolTF SftyBoolValue_5;
  P2VAR(SftyBoolTF, AUTOMATIC, AUTOMATIC) SftyBoolValue_4;
  SftyBoolTF SftyBoolValue_3;
  P2VAR(SftyBoolTF, AUTOMATIC, AUTOMATIC) SftyBoolValue_2;
  SftyBoolTF SftyBoolValue_1;
  P2VAR(SftyBoolTF, AUTOMATIC, AUTOMATIC) SftyBoolValue_0;
  SftyBoolTF SftyBoolValue;
  P2VAR(SftyBoolOO, AUTOMATIC, AUTOMATIC) SCI_FODMGR_SftyOnOffValue_0;
  SftyBoolOO SCI_FODMGR_SftyOnOffValue;
  GenericByte NvFlag_0;
  GenericByte NvFlag;
  Std_ReturnType status;

  NvFlag = Rte_IrvRead_WsFodMgr_MainFunction_NvFlag();

  Rte_IrvWrite_WsFodMgr_MainFunction_NvFlag(NvFlag_0);

  Rte_IWrite_WsFodMgr_MainFunction_PP_ForeignObjectDetected_SCI_FODMGR_SftyOnOffValue(&SCI_FODMGR_SftyOnOffValue);

  SCI_FODMGR_SftyOnOffValue_0 = Rte_IWriteRef_WsFodMgr_MainFunction_PP_ForeignObjectDetected_SCI_FODMGR_SftyOnOffValue();

  Rte_IWrite_WsFodMgr_MainFunction_PP_FodCheckDuringChrg_SftyBoolValue(&SftyBoolValue);

  SftyBoolValue_0 = Rte_IWriteRef_WsFodMgr_MainFunction_PP_FodCheckDuringChrg_SftyBoolValue();

  Rte_IWrite_WsFodMgr_MainFunction_PP_FodCheckStartUpChrg_SftyBoolValue(&SftyBoolValue_1);

  SftyBoolValue_2 = Rte_IWriteRef_WsFodMgr_MainFunction_PP_FodCheckStartUpChrg_SftyBoolValue();

  Rte_IWrite_WsFodMgr_MainFunction_PP_FodCheckZMDown_SftyBoolValue(&SftyBoolValue_3);

  SftyBoolValue_4 = Rte_IWriteRef_WsFodMgr_MainFunction_PP_FodCheckZMDown_SftyBoolValue();

  Rte_IWrite_WsFodMgr_MainFunction_PP_FodCheckZMUp_SftyBoolValue(&SftyBoolValue_5);

  SftyBoolValue_6 = Rte_IWriteRef_WsFodMgr_MainFunction_PP_FodCheckZMUp_SftyBoolValue();

  Rte_IWrite_WsFodMgr_MainFunction_PP_FodPreCheck_SftyBoolValue(&SftyBoolValue_7);

  SftyBoolValue_8 = Rte_IWriteRef_WsFodMgr_MainFunction_PP_FodPreCheck_SftyBoolValue();

  Rte_IWrite_WsFodMgr_MainFunction_PP_FodCheckDuringChrgTh_Value(Value);

  Value_0 = Rte_IWriteRef_WsFodMgr_MainFunction_PP_FodCheckDuringChrgTh_Value();

  Rte_IWrite_WsFodMgr_MainFunction_PP_FodCheckZMDownTh_Value(Value_1);

  Value_2 = Rte_IWriteRef_WsFodMgr_MainFunction_PP_FodCheckZMDownTh_Value();

  Rte_IWrite_WsFodMgr_MainFunction_PP_FodCheckZMUpTh_Value(Value_3);

  Value_4 = Rte_IWriteRef_WsFodMgr_MainFunction_PP_FodCheckZMUpTh_Value();

  Rte_IWrite_WsFodMgr_MainFunction_PP_FodPreCheckTh_Value(Value_5);

  Value_6 = Rte_IWriteRef_WsFodMgr_MainFunction_PP_FodPreCheckTh_Value();

  SCI_FODMGR_FodDataValue = Rte_IRead_WsFodMgr_MainFunction_RP_FodData_SCI_FODMGR_FodDataValue();

  ResDataVal = Rte_IRead_WsFodMgr_MainFunction_RP_ResData_ResDataVal();

  DiagCtrlFod = Rte_IRead_WsFodMgr_MainFunction_WspDiagCtrl_cmdFodActivate_DiagCtrlFod();

  DiagCtrlFreeze = Rte_IRead_WsFodMgr_MainFunction_WspDiagCtrl_cmdFodFreeze_DiagCtrlFreeze();

  status = Rte_Call_RP_NvMService_GetErrorStatus(&RequestResultPtr);

  status = Rte_Call_RP_NvMService_SetDataIndex(DataIndex);

  status = Rte_Call_RP_NvMService_GetDataIndex(&DataIndexPtr);

  status = Rte_Call_RP_NvMService_SetRamBlockStatus(BlockChanged);

  status = Rte_Call_RP_NvMService_ReadBlock(DstPtr);

  status = Rte_Call_RP_NvMService_WriteBlock(SrcPtr);

  status = Rte_Call_RP_NvMService_RestoreBlockDefaults(DstPtr_0);

  status = Rte_Call_RP_NvMService_InvalidateNvBlock();

  status = Rte_Call_Event_METAL_ON_PAD_SetEventStatus(EventStatus);

  status = Rte_Call_Event_METAL_ON_PAD_ResetEventStatus();

  status = Rte_Call_Event_METAL_ON_PAD_GetEventStatus(&EventStatusExtended);

  status = Rte_Call_Event_METAL_ON_PAD_GetEventFailed(&EventFailed);

  status = Rte_Call_Event_METAL_ON_PAD_GetEventTested(&EventTested);

  status = Rte_Call_Event_METAL_ON_PAD_GetDTCOfEvent(DTCKind, &DTCofEvent);

  status = Rte_Call_Event_METAL_ON_PAD_PrestoreFreezeFrame();

  status = Rte_Call_Event_METAL_ON_PAD_ClearPrestoredFreezeFrame();

  status = Rte_Call_Event_METAL_ON_PAD_GetFaultDetectionCounter(&EventIdFaultDetectionCounter);

  status = Rte_Call_alive_WdgMSvEnt_FodMgr_CheckpointReached(CheckpointId);

  status = Rte_Call_alive_WdgMSvEnt_FodMgr_UpdateAliveCounter();

}
Пример #7
0
  status = Rte_Call_Event_METAL_ON_PAD_GetDTCOfEvent(DTCKind, &DTCofEvent);

  status = Rte_Call_Event_METAL_ON_PAD_PrestoreFreezeFrame();

  status = Rte_Call_Event_METAL_ON_PAD_ClearPrestoredFreezeFrame();

  status = Rte_Call_Event_METAL_ON_PAD_GetFaultDetectionCounter(&EventIdFaultDetectionCounter);

  status = Rte_Call_alive_WdgMSvEnt_FodMgr_CheckpointReached(CheckpointId);

  status = Rte_Call_alive_WdgMSvEnt_FodMgr_UpdateAliveCounter();

}

void WsFodMgr_NullVector_Start (GenericByte trigger, P2VAR(GenericByte, AUTOMATIC, RTE_APPL_DATA) result)
{
  GenericByte NvFlag_0;
  GenericByte NvFlag;
  Std_ReturnType status;

  NvFlag = Rte_IrvRead_WsFodMgr_NullVector_Start_NvFlag();

  Rte_IrvWrite_WsFodMgr_NullVector_Start_NvFlag(NvFlag_0);

}

/*
  ------------------------[runnable-independent API]-------------------------

  Copy and paste the following API to those runnable entity functions where
Пример #8
0
/* s03, s04 */
static uint8 dmy_Rte_Mode_swc_in_oilp_rp_msIf_ig_ModeDeclGroup_ig_Cnt;
static uint8 dmy_Rte_Mode_swc_in_oilp_rp_msIf_ig_ModeDeclGroup_ig_Ret;
FUNC(uint8, RTE_CODE) Rte_Mode_swc_in_oilp_rp_msIf_ig_ModeDeclGroup_ig(void)
{
	dmy_Rte_Mode_swc_in_oilp_rp_msIf_ig_ModeDeclGroup_ig_Cnt++;
	return dmy_Rte_Mode_swc_in_oilp_rp_msIf_ig_ModeDeclGroup_ig_Ret;
}

/* s05,s06 */
static uint8 dmy_Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcStsGet_op_Cnt;
static uint8 dmy_Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcStsGet_op_Ret;
static uint8 dmy_Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcStsGet_op_sts;
static uint32 dmy_Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcStsGet_op_id;
FUNC(uint8, RTE_CODE) Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcStsGet_op(uint32 id, P2VAR(uint8, AUTOMATIC, RTE_APPL_DATA) sts)
{
	dmy_Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcStsGet_op_Cnt++;
	*sts = dmy_Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcStsGet_op_sts;
	dmy_Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcStsGet_op_id = id;
	return dmy_Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcStsGet_op_Ret;
}

/* s05,s06 */
static uint8 dmy_Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcValGet_op_Cnt;
static uint8 dmy_Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcValGet_op_Ret;
static uint16 dmy_Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcValGet_op_val;
static uint32 dmy_Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcValGet_op_id;
FUNC(uint8, RTE_CODE) Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcValGet_op(uint32 id, P2VAR(uint16, AUTOMATIC, RTE_APPL_DATA) val)
{
	dmy_Rte_Call_swc_in_oilp_rp_csIf_ioHwAb_normalAdcValGet_op_Cnt++;
Пример #9
0
CONST(tpl_alarm_id, AUTOMATIC) INVALID_ALARM = (-1);
#define OS_STOP_SEC_CONST_UNSPECIFIED
#include "tpl_memmap.h"

#define OS_START_SEC_CODE
#include "tpl_memmap.h"
/**
 * @internal
 *
 * tpl_raise_alarm is called by tpl_counter_tick
 * when an alarm time object is raised.
 *
 * @param time_obj  The alarm to raise.
 */
FUNC(tpl_status, OS_CODE) tpl_raise_alarm(
    P2VAR(tpl_time_obj, AUTOMATIC, OS_APPL_DATA) time_obj)
{
  VAR(tpl_status, AUTOMATIC) result = E_OK;

  /*
   * A tpl_time_obj_static * is cast to a tpl_alarm_static *
   * This violate MISRA rule 45. However, since the
   * first member of tpl_alarm_static is a tpl_time_obj_static
   * This cast behaves correctly.
   */
  /*  Get the alarm descriptor                            */
  P2VAR(tpl_alarm_static, AUTOMATIC, OS_APPL_DATA) stat_alarm =
    (tpl_alarm_static *)time_obj->stat_part;
  /*  Get the action to perform from the alarm descriptor */
  P2CONST(tpl_action, AUTOMATIC, OS_APPL_CONST) action_desc =
    stat_alarm->action;
Пример #10
0
/***********************************************************************************************************************
 *  Msn_GlobalExampleFunction()
 **********************************************************************************************************************/
/*! \brief      Example of a global function
 *  \details    This function is an example of a global function. The description of this function is always visible in
 *              the doxygen documentation.
 *  \param[in]  Channel                 Input parameter
 *  \param[out] Value                   Output parameter reference
 *  \return     E_NOT_OK - error
 *  \return     E_OK - success
 *  \pre        Input parameter 'Value' must not be NULL_PTR.
 *  \pre        Input parameter 'Channel' has to be valid.
 *  \pre        Module has to be initialized.
 *  \note       Requirement Specification example function.
 **********************************************************************************************************************/
FUNC(uint8, MSN_CODE) Msn_GlobalExampleFunction(uint8 Channel, P2VAR(uint16, AUTOMATIC, MSN_APPL_VAR) Value)
{
  /* ----- Local Variables ---------------------------------------------- */
  uint8 MyCounter;

  /* ----- Development Error Checks ------------------------------------- */
  /* Check initialization state of the component */
  Msn_CheckDetErrorReturnValue(Msn_ModuleInitialized == (uint8)MSN_INIT,
    MSN_SID_GLOBAL_EXAMPLE_FUNCTION, MSN_E_UNINIT, E_NOT_OK); /* PRQA S 3109 */ /* MD_MSR_14.3 */
  /* Check parameter 'Channel' */
  Msn_CheckDetErrorReturnValue(Channel < Msn_ConfigSet_pt->NrOfChannels,
    MSN_SID_GLOBAL_EXAMPLE_FUNCTION, MSN_E_PARAM_CHANNEL, E_NOT_OK); /* PRQA S 3109 */ /* MD_MSR_14.3 */
  /* Check parameter 'Value' */
  Msn_CheckDetErrorReturnValue(Value != NULL_PTR,
    MSN_SID_GLOBAL_EXAMPLE_FUNCTION, MSN_E_PARAM_VALUE_PTR, E_NOT_OK); /* PRQA S 3109 */ /* MD_MSR_14.3 */
/* Check E2E.h */
#if ((E2E_SW_MAJOR_VERSION != EXPECTED_E2E_SW_MAJOR_VERSION)||(E2E_SW_MINOR_VERSION != EXPECTED_E2E_SW_MINOR_VERSION)|| \
   (E2E_SW_PATCH_VERSION != EXPECTED_E2E_SW_PATCH_VERSION))
#error The SW version of the E2E.c file does not match the version of the E2E.h file
#endif

/* PRQA S 5087 ++
 * MISRA RULE C197 VIOLATION:
 */
#define  E2E_START_SEC_CODE
#include "MemMap.h"
/* PRQA S 5087 -- */

/* For detailed explanation on the exported functions see E2E_P01.h file. */

FUNC(Std_ReturnType,E2E_CODE) E2E_P01Protect( P2VAR(E2E_P01ConfigType, AUTOMATIC, E2E_APPL_DATA) pConfig,
                                              P2VAR(E2E_P01SenderStateType, AUTOMATIC, E2E_APPL_DATA) pState,
                                              P2VAR(uint8, AUTOMATIC, E2E_APPL_DATA) pData )
{
   uint8 CRC = 0,index=0,BufferIndex=0;
   uint16 LenInBytes=0,CrcOffset=0 ;
   uint8 DataBuffer[MAX_DATA_LEN_PRF1]={0};
   Std_ReturnType Ret_Status = E2E_E_OK;

   if((NULL_PTR != pConfig)&&(NULL_PTR != pState)&&(NULL_PTR != pData))
   {
      if ((pConfig->DataLength <= MAX_DATA_LEN_PRF1)&& (pState->Counter < 0xF)) /* In terms of bits,so total 30 bytes */
      {
         if((pConfig->CounterOffset%8)==0)
         {
            /* Stores the counter value in the LOWER nibble of the byte */
Пример #12
0
    if (objectNr < KnxALG_GetNumCommObjs() && appLoaded) {
        if (KnxALG_IsObjectTransmitting(objectNr)) {
            return FALSE;
        } else {
            KnxALG_SetRAMFlags(objectNr, KNX_OBJ_DATA_REQUEST);
            return TRUE;
        }
    } else {
        return FALSE;
    }
}


#if KSTACK_MEMORY_MAPPING == STD_ON
FUNC(boolean, KSTACK_CODE) KnxAIL_GetRAMFlags(uint16 objectNr, P2VAR(uint8, AUTOMATIC, KSTACK_APPL_DATA) flags)
#else
boolean KnxAIL_GetRAMFlags(uint16 objectNr, uint8 * flags)
#endif /* KSTACK_MEMORY_MAPPING */
{
    boolean appLoaded = LSM_IsAppLoaded();

    if (objectNr < KnxALG_GetNumCommObjs() && appLoaded) {
        *flags = KnxALG_GetRAMFlags(objectNr);
        return TRUE;
    }

    return FALSE;
}

Пример #13
0
  * This file contains an Rte component template / example code
  *
  * This file has been automatically generated by
  * EB tresos AutoCore Rte Generator Version 6.1.75
  * on Mon Apr 16 09:34:11 CEST 2018. !!!IGNORE-LINE!!!
  */

 /* \addtogroup Rte Runtime Environment
  * @{ */

#include "Rte_SCI_DiagCtrl.h"

/*------------------------[runnable entity skeletons]------------------------*/

#ifdef RTE_PTR2ARRAYTYPE_PASSING
Std_ReturnType DiagCtrl_zMover_ReturnControlToECU (P2CONST(Dcm_Data0x81C2_RCTE_COR_ArrayType, AUTOMATIC, RTE_APPL_CONST) ControlOptionRecord, P2CONST(Dcm_Data0x81C2_RCTE_CEMR_ArrayType, AUTOMATIC, RTE_APPL_CONST) ControlEnableMaskRecord, P2VAR(Dcm_Data0x81C2_RCTE_CSR_ArrayType, AUTOMATIC, RTE_APPL_DATA) ControlStatusRecord, P2VAR(NegativeResponseCodeType, AUTOMATIC, RTE_APPL_DATA) ErrorCode)
#else
Std_ReturnType DiagCtrl_zMover_ReturnControlToECU (P2CONST(uint8, AUTOMATIC, RTE_APPL_CONST) ControlOptionRecord, P2CONST(uint8, AUTOMATIC, RTE_APPL_CONST) ControlEnableMaskRecord, P2VAR(uint8, AUTOMATIC, RTE_APPL_DATA) ControlStatusRecord, P2VAR(NegativeResponseCodeType, AUTOMATIC, RTE_APPL_DATA) ErrorCode)
#endif
{
  P2VAR(GenericByte, AUTOMATIC, AUTOMATIC) DiagCtrlFreeze_0;
  GenericByte DiagCtrlFreeze;
  Std_ReturnType status;

  Rte_IWrite_DiagCtrl_zMover_ReturnControlToECU_WspDiagCtrl_cmdZMovFreeze_DiagCtrlFreeze(DiagCtrlFreeze);

  DiagCtrlFreeze_0 = Rte_IWriteRef_DiagCtrl_zMover_ReturnControlToECU_WspDiagCtrl_cmdZMovFreeze_DiagCtrlFreeze();

  return status;
}