Skip to content

Commit

Permalink
Merge some new modules from autoas/as repository
Browse files Browse the repository at this point in the history
See:
* https://github.com/autoas/as (for DoIP, Eth*, SD, SoAd and XCP improvements)
* https://github.com/elupus/autosar-xcp (for initial XCP support)
  • Loading branch information
openAUTOSAR committed Feb 23, 2020
1 parent 60cd3d2 commit 002ba3c
Show file tree
Hide file tree
Showing 46 changed files with 9,303 additions and 124 deletions.
1 change: 1 addition & 0 deletions communication/DoIP/DoIP.c
Original file line number Diff line number Diff line change
Expand Up @@ -499,6 +499,7 @@ static void registerSocket(uint16 slotIndex, uint16 sockNr, uint16 activationTyp
assert(slotIndex < DOIP_MAX_TESTER_CONNECTIONS);

connectionStatus[slotIndex].sockNr = sockNr;
connectionStatus[slotIndex].activationType = (uint8)activationType;
connectionStatus[slotIndex].sa = sa;

connectionStatus[slotIndex].generalInactivityTimer = 0;
Expand Down
45 changes: 22 additions & 23 deletions communication/DoIP/DoIP.h
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
/* -------------------------------- Arctic Core ------------------------------
* Arctic Core - the open source AUTOSAR platform http://arccore.com
*
* Copyright (C) 2011 ArcCore AB <contact@arccore.com>
*
* This source code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published by the
* Free Software Foundation; See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
* -------------------------------- Arctic Core ------------------------------*/

#ifndef DOIP_H_
#define DOIP_H_

#include "DoIP_Types.h"
#include "DoIP_MemMap.h"


#endif /* DOIP_H_ */
/*-------------------------------- Arctic Core ------------------------------
* Copyright (C) 2013, ArcCore AB, Sweden, www.arccore.com.
* Contact: <contact@arccore.com>
*
* You may ONLY use this file:
* 1)if you have a valid commercial ArcCore license and then in accordance with
* the terms contained in the written license agreement between you and ArcCore,
* or alternatively
* 2)if you follow the terms found in GNU General Public License version 2 as
* published by the Free Software Foundation and appearing in the file
* LICENSE.GPL included in the packaging of this file or here
* <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>
*-------------------------------- Arctic Core -----------------------------*/

#ifndef DOIP_H_
#define DOIP_H_

#include "DoIP_Types.h"
#include "DoIP_MemMap.h"


#endif /* DOIP_H_ */
45 changes: 22 additions & 23 deletions communication/DoIP/DoIP_Types.h
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
/* -------------------------------- Arctic Core ------------------------------
* Arctic Core - the open source AUTOSAR platform http://arccore.com
*
* Copyright (C) 2011 ArcCore AB <contact@arccore.com>
*
* This source code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published by the
* Free Software Foundation; See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
* -------------------------------- Arctic Core ------------------------------*/

#ifndef DOIP_TYPES_H_
#define DOIP_TYPES_H_

#include "ComStack_Types.h"
#include "DoIP_Cfg.h"

#endif /* DOIP_TYPES_H_ */

/*-------------------------------- Arctic Core ------------------------------
* Copyright (C) 2013, ArcCore AB, Sweden, www.arccore.com.
* Contact: <contact@arccore.com>
*
* You may ONLY use this file:
* 1)if you have a valid commercial ArcCore license and then in accordance with
* the terms contained in the written license agreement between you and ArcCore,
* or alternatively
* 2)if you follow the terms found in GNU General Public License version 2 as
* published by the Free Software Foundation and appearing in the file
* LICENSE.GPL included in the packaging of this file or here
* <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>
*-------------------------------- Arctic Core -----------------------------*/

#ifndef DOIP_TYPES_H_
#define DOIP_TYPES_H_

#include "ComStack_Types.h"
#include "DoIP_Cfg.h"

#endif /* DOIP_TYPES_H_ */

37 changes: 37 additions & 0 deletions communication/Eth/Eth.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*-------------------------------- Arctic Core ------------------------------
* Copyright (C) 2013, ArcCore AB, Sweden, www.arccore.com.
* Contact: <contact@arccore.com>
*
* You may ONLY use this file:
* 1)if you have a valid commercial ArcCore license and then in accordance with
* the terms contained in the written license agreement between you and ArcCore,
* or alternatively
* 2)if you follow the terms found in GNU General Public License version 2 as
* published by the Free Software Foundation and appearing in the file
* LICENSE.GPL included in the packaging of this file or here
* <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>
*-------------------------------- Arctic Core -----------------------------*/
#ifdef USE_ETH
#include "Eth.h"
#include "Det.h"
#include "Dem.h"
#include "Eth_MemMap.h"
#include "SchM_Eth.h"

void Eth_Init( const Eth_ConfigType* CfgPtr );
Std_ReturnType Eth_ControllerInit( uint8 CtrlIdx, uint8 CfgIdx );
Std_ReturnType Eth_SetControllerMode( uint8 CtrlIdx, Eth_ModeType CtrlMode );
Std_ReturnType Eth_GetControllerMode( uint8 CtrlIdx, Eth_ModeType* CtrlModePtr );
void Eth_GetPhysAddr( uint8 CtrlIdx, uint8* PhysAddrPtr );
void Eth_SetPhysAddr( uint8 CtrlIdx, const uint8* PhysAddrPtr );
Std_ReturnType Eth_UpdatePhysAddrFilter( uint8 CtrlIdx, uint8* PhysAddrPtr, Eth_FilterActionType Action );
Eth_ReturnType Eth_WriteMii( uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal );
Eth_ReturnType Eth_ReadMii( uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16* RegValPtr );
void Eth_GetCounterState( uint8 CtrlIdx, uint16 CtrOffs, uint32* CtrValPtr );
BufReq_ReturnType Eth_ProvideTxBuffer( uint8 CtrlIdx, uint8* BufIdxPtr, Eth_DataType** BufPtr, uint16* LenBytePtr );
Std_ReturnType Eth_Transmit( uint8 CtrlIdx, uint8 BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, uint8* PhysAddrPtr );
void Eth_Receive( uint8 CtrlIdx, Eth_RxStatusType* RxStatusPtr );
void Eth_TxConfirmation( uint8 CtrlIdx );
void Eth_GetVersionInfo( Std_VersionInfoType* VersionInfoPtr );
#endif

37 changes: 37 additions & 0 deletions communication/Eth/Eth.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*-------------------------------- Arctic Core ------------------------------
* Copyright (C) 2013, ArcCore AB, Sweden, www.arccore.com.
* Contact: <contact@arccore.com>
*
* You may ONLY use this file:
* 1)if you have a valid commercial ArcCore license and then in accordance with
* the terms contained in the written license agreement between you and ArcCore,
* or alternatively
* 2)if you follow the terms found in GNU General Public License version 2 as
* published by the Free Software Foundation and appearing in the file
* LICENSE.GPL included in the packaging of this file or here
* <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>
*-------------------------------- Arctic Core -----------------------------*/

#ifndef ETH_H_
#define ETH_H_

#include "Eth_Types.h"
//#include "Eth_MemMap.h"

void Eth_Init( const Eth_ConfigType* CfgPtr );
Std_ReturnType Eth_ControllerInit( uint8 CtrlIdx, uint8 CfgIdx );
Std_ReturnType Eth_SetControllerMode( uint8 CtrlIdx, Eth_ModeType CtrlMode );
Std_ReturnType Eth_GetControllerMode( uint8 CtrlIdx, Eth_ModeType* CtrlModePtr );
void Eth_GetPhysAddr( uint8 CtrlIdx, uint8* PhysAddrPtr );
void Eth_SetPhysAddr( uint8 CtrlIdx, const uint8* PhysAddrPtr );
Std_ReturnType Eth_UpdatePhysAddrFilter( uint8 CtrlIdx, uint8* PhysAddrPtr, Eth_FilterActionType Action );
Eth_ReturnType Eth_WriteMii( uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal );
Eth_ReturnType Eth_ReadMii( uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16* RegValPtr );
void Eth_GetCounterState( uint8 CtrlIdx, uint16 CtrOffs, uint32* CtrValPtr );
BufReq_ReturnType Eth_ProvideTxBuffer( uint8 CtrlIdx, uint8* BufIdxPtr, Eth_DataType** BufPtr, uint16* LenBytePtr );
Std_ReturnType Eth_Transmit( uint8 CtrlIdx, uint8 BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, uint8* PhysAddrPtr );
void Eth_Receive( uint8 CtrlIdx, Eth_RxStatusType* RxStatusPtr );
void Eth_TxConfirmation( uint8 CtrlIdx );
void Eth_GetVersionInfo( Std_VersionInfoType* VersionInfoPtr );

#endif /* ETH_H_ */
23 changes: 23 additions & 0 deletions communication/Eth/Eth_GeneralTypes.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*-------------------------------- Arctic Core ------------------------------
* Copyright (C) 2013, ArcCore AB, Sweden, www.arccore.com.
* Contact: <contact@arccore.com>
*
* You may ONLY use this file:
* 1)if you have a valid commercial ArcCore license and then in accordance with
* the terms contained in the written license agreement between you and ArcCore,
* or alternatively
* 2)if you follow the terms found in GNU General Public License version 2 as
* published by the Free Software Foundation and appearing in the file
* LICENSE.GPL included in the packaging of this file or here
* <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>
*-------------------------------- Arctic Core -----------------------------*/

#ifndef ETH_GENERALTYPES_H_
#define ETH_GENERALTYPES_H_

#include "ComStack_Types.h"
#ifdef USE_ETH
#include "Eth_Cfg.h"
#endif

#endif /* ETH_GENERALTYPES_H_ */
37 changes: 37 additions & 0 deletions communication/Eth/Eth_Types.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*-------------------------------- Arctic Core ------------------------------
* Copyright (C) 2013, ArcCore AB, Sweden, www.arccore.com.
* Contact: <contact@arccore.com>
*
* You may ONLY use this file:
* 1)if you have a valid commercial ArcCore license and then in accordance with
* the terms contained in the written license agreement between you and ArcCore,
* or alternatively
* 2)if you follow the terms found in GNU General Public License version 2 as
* published by the Free Software Foundation and appearing in the file
* LICENSE.GPL included in the packaging of this file or here
* <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>
*-------------------------------- Arctic Core -----------------------------*/

#ifndef ETH_TYPES_H_
#define ETH_TYPES_H_

#include "Eth_GeneralTypes.h"

/* This type defines the controller modes */
typedef enum{
ETH_MODE_DOWN, /* Controller disabled */
ETH_MODE_ACTIVE, /* Controller enabled*/
}Eth_ModeType;

/* Status supervision used for Development Error Detection. The state shall be available for debugging */
typedef enum{
ETH_STATE_UNINIT, /* Driver is not yet configured */
ETH_STATE_INIT, /* Driver is configured */
ETH_STATE_ACTIVE, /* Driver is active */
}Eth_StateType;

typedef uint16 Eth_FrameType;

typedef uint32 Eth_DataType;

#endif /* ETH_TYPES_H_ */
45 changes: 45 additions & 0 deletions communication/EthIf/EthIf.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/*-------------------------------- Arctic Core ------------------------------
* Copyright (C) 2013, ArcCore AB, Sweden, www.arccore.com.
* Contact: <contact@arccore.com>
*
* You may ONLY use this file:
* 1)if you have a valid commercial ArcCore license and then in accordance with
* the terms contained in the written license agreement between you and ArcCore,
* or alternatively
* 2)if you follow the terms found in GNU General Public License version 2 as
* published by the Free Software Foundation and appearing in the file
* LICENSE.GPL included in the packaging of this file or here
* <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>
*-------------------------------- Arctic Core -----------------------------*/
#ifdef USE_ETHIF
#include "Eth.h"
#include "SchM_EthIf.h"
#include "EthTrcv.h"
#include "Det.h"
#include "Dem.h"
#include "EthIf_MemMap.h"
#include "EthIf.h"
#include "EthIf_cbk.h"



void EthIf_Init( const EthIf_ConfigType* CfgPtr );
Std_ReturnType EthIf_ControllerInit( uint8 CtrlIdx, uint8 CfgIdx );
Std_ReturnType EthIf_SetControllerMode( uint8 CtrlIdx, Eth_ModeType CtrlMode );
Std_ReturnType EthIf_GetControllerMode( uint8 CtrlIdx, Eth_ModeType* CtrlModePtr );
Std_ReturnType EthIf_TransceiverInit( uint8 TrcvIdx, uint8 CfgIdx );
Std_ReturnType EthIf_SetTransceiverMode( uint8 TrcvIdx, EthTrcv_ModeType TrcvMode );
Std_ReturnType EthIf_GetTransceiverMode( uint8 TrcvIdx, EthTrcv_ModeType* TrcvModePtr );
void EthIf_GetPhysAddr( uint8 CtrlIdx, uint8* PhysAddrPtr );
void EthIf_SetPhysAddr( uint8 CtrlIdx, const uint8 PhysAddrPtr );
Std_ReturnType EthIf_UpdatePhysAddrFilter( uint8 CtrlIdx, uint8* PhysAddrPtr, Eth_FilterActionType Action );
BufReq_ReturnType EthIf_ProvideTxBuffer( uint8 CtrlIdx, Eth_FrameType FrameType, uint8 Priority, uint8* BufIdxPtr, uint8** BufPtr, uint16* LenBytePtr );
Std_ReturnType EthIf_Transmit( uint8 CtrlIdx, uint8 BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, uint8* PhysAddrPtr );
void EthIf_GetVersionInfo( Std_VersionInfoType* VersionInfoPtr );

void EthIf_RxIndication( uint8 CtrlIdx, Eth_FrameType FrameType, boolean IsBroadcast, uint8* PhysAddrPtr, Eth_DataType* DataPtr, uint16 LenByte );
void EthIf_TxConfirmation( uint8 CtrlIdx, uint8 BufIdx );

void EthIf_MainFunctionRx( void );
void EthIf_MainFunctionTx( void );
#endif /* USE_ETHIF*/
41 changes: 41 additions & 0 deletions communication/EthIf/EthIf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*-------------------------------- Arctic Core ------------------------------
* Copyright (C) 2013, ArcCore AB, Sweden, www.arccore.com.
* Contact: <contact@arccore.com>
*
* You may ONLY use this file:
* 1)if you have a valid commercial ArcCore license and then in accordance with
* the terms contained in the written license agreement between you and ArcCore,
* or alternatively
* 2)if you follow the terms found in GNU General Public License version 2 as
* published by the Free Software Foundation and appearing in the file
* LICENSE.GPL included in the packaging of this file or here
* <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>
*-------------------------------- Arctic Core -----------------------------*/

#ifndef ETHIF_H_
#define ETHIF_H_
#include "EthIf_Types.h"
#ifdef USE_ETHIF
#include "EthIf_MemMap.h"

void EthIf_Init( const EthIf_ConfigType* CfgPtr );
Std_ReturnType EthIf_ControllerInit( uint8 CtrlIdx, uint8 CfgIdx );
Std_ReturnType EthIf_SetControllerMode( uint8 CtrlIdx, Eth_ModeType CtrlMode );
Std_ReturnType EthIf_GetControllerMode( uint8 CtrlIdx, Eth_ModeType* CtrlModePtr );
Std_ReturnType EthIf_TransceiverInit( uint8 TrcvIdx, uint8 CfgIdx );
Std_ReturnType EthIf_SetTransceiverMode( uint8 TrcvIdx, EthTrcv_ModeType TrcvMode );
Std_ReturnType EthIf_GetTransceiverMode( uint8 TrcvIdx, EthTrcv_ModeType* TrcvModePtr );
void EthIf_GetPhysAddr( uint8 CtrlIdx, uint8* PhysAddrPtr );
void EthIf_SetPhysAddr( uint8 CtrlIdx, const uint8 PhysAddrPtr );
Std_ReturnType EthIf_UpdatePhysAddrFilter( uint8 CtrlIdx, uint8* PhysAddrPtr, Eth_FilterActionType Action );
BufReq_ReturnType EthIf_ProvideTxBuffer( uint8 CtrlIdx, Eth_FrameType FrameType, uint8 Priority, uint8* BufIdxPtr, uint8** BufPtr, uint16* LenBytePtr );
Std_ReturnType EthIf_Transmit( uint8 CtrlIdx, uint8 BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, uint8* PhysAddrPtr );
void EthIf_GetVersionInfo( Std_VersionInfoType* VersionInfoPtr );

void EthIf_RxIndication( uint8 CtrlIdx, Eth_FrameType FrameType, boolean IsBroadcast, uint8* PhysAddrPtr, Eth_DataType* DataPtr, uint16 LenByte );
void EthIf_TxConfirmation( uint8 CtrlIdx, uint8 BufIdx );

void EthIf_MainFunctionRx( void );
void EthIf_MainFunctionTx( void );
#endif /* USE_ETHIF */
#endif /* ETHIF_H_ */
25 changes: 25 additions & 0 deletions communication/EthIf/EthIf_Types.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/*-------------------------------- Arctic Core ------------------------------
* Copyright (C) 2013, ArcCore AB, Sweden, www.arccore.com.
* Contact: <contact@arccore.com>
*
* You may ONLY use this file:
* 1)if you have a valid commercial ArcCore license and then in accordance with
* the terms contained in the written license agreement between you and ArcCore,
* or alternatively
* 2)if you follow the terms found in GNU General Public License version 2 as
* published by the Free Software Foundation and appearing in the file
* LICENSE.GPL included in the packaging of this file or here
* <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>
*-------------------------------- Arctic Core -----------------------------*/

#ifndef ETHIF_TYPES_H_
#define ETHIF_TYPES_H_

#include "Eth_GeneralTypes.h"

typedef enum {
ETHCTRL_STATE_UNINIT,
ETHCTRL_STATE_INIT,
}EthIf_StateType;

#endif /* ETHIF_TYPES_H_ */
Loading

0 comments on commit 002ba3c

Please sign in to comment.