/* **************************************************************************** PROJECT : VLIB macro driver FILE : $Id: r_csisw_api.h 7640 2016-02-12 13:14:23Z florian.zimmermann $ ============================================================================ DESCRIPTION Generic part of the macro driver - CSISW (software CSI) ============================================================================ C O P Y R I G H T ============================================================================ Copyright (c) 2014 by Renesas Electronics (Europe) GmbH. Arcadiastrasse 10 D-40472 Duesseldorf Germany All rights reserved. ============================================================================ Purpose: only for testing DISCLAIMER This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all applicable laws, including copyright laws. THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of this software. By using this software, you agree to the additional terms and conditions found by accessing the following link: http://www.renesas.com/disclaimer * Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. **************************************************************************** */ #ifndef R_CSISW_API_H_ #define R_CSISW_API_H_ #ifdef __cplusplus extern "C" { #endif /******************************************************************************* Title: CSISW Driver API An application using CSISW should only need to include this r_csisw_api.h */ /******************************************************************************* Section: Global Constants */ /******************************************************************************* Constant: R_CSISW_VERSION_HI and R_CSISW_VERSION_LO Driver version information */ #define R_CSISW_VERSION_HI 0 #define R_CSISW_VERSION_LO 1 /******************************************************************************* Section: Global Types */ /******************************************************************************* Enum: r_csisw_Error_t CSISW macro driver error code. If an error occures these enums give information about the reason. Values: R_CSISW_ERR_OK - No error R_CSISW_ERR_NG - Unspecified error */ typedef enum { R_CSISW_ERR_OK = 0x0, R_CSISW_ERR_NG , R_CSISW_ERR_RANGE , R_CSISW_ERR_LOCKED , R_CSISW_ERR_NOTLOCKED } r_csisw_Error_t; /******************************************************************************* Enum: r_csisw_TxRxMode_t Tx-only, Rx-only or Tx and Rx configuration Values: R_CSISW_TX_ONLY - Tx-only mode R_CSISW_RX_ONLY - Rx-only mode R_CSISW_TX_RX - Tx and Rx enabled mode R_CSISW_TX_RX_OFF - Tx and Rx disabled (idle/init state) */ typedef enum { R_CSISW_TX_ONLY, R_CSISW_RX_ONLY, R_CSISW_TX_RX, R_CSISW_TX_RX_OFF } r_csisw_TxRxMode_t; /******************************************************************************* Section: Global API Functions */ /******************************************************************************* Function: R_CSISW_GetVersionStr Get the driver version number in human readable form (string). Parameters: void Returns: ReceiveString - Pointer to receive string destination */ const int8_t * R_CSISW_GetVersionStr(void); /******************************************************************************* Function: R_CSISW_GetMajorVersion Get the driver major version number. Parameters: void Returns: - Major version number */ const uint16_t R_CSISW_GetMajorVersion(void); /******************************************************************************* Function: R_CSISW_GetMinorVersion Get the driver minor version number. Parameters: void Returns: - Minor version number */ const uint16_t R_CSISW_GetMinorVersion(void); /******************************************************************************* Function: R_CSISW_Init Driver init function. Parameters: Unit - Macro instance number Returns: see: <r_csisw_Error_t> */ r_csisw_Error_t R_CSISW_Init(uint32_t Unit); /******************************************************************************* Function: R_CSISW_Enable Driver enable function. Parameters: Unit - Macro instance number Returns: see: <r_csisw_Error_t> */ r_csisw_Error_t R_CSISW_Enable(uint32_t Unit, r_csisw_TxRxMode_t TxRxMode); /******************************************************************************* Function: R_CSISW_Read Read one CSI value by software bitbanging. Parameters: Unit - Instance number Buffer - Destination array for the Data to be read MaxNum - Max number of data that can be read Returns: see: <r_csisw_Error_t> */ r_csisw_Error_t R_CSISW_Read(uint32_t Unit, void *Buffer, uint32_t MaxNum); /******************************************************************************* Function: R_CSISW_Write Write one CSI value by software bitbanging. Parameters: Unit - Instance number Buffer - Data to be copied Num - Number of data Returns: see: <r_csisw_Error_t> */ r_csisw_Error_t R_CSISW_Write(uint32_t Unit, void *Buffer, uint32_t Num); /******************************************************************************* Function: R_CSISW_DeInit Driver deinit function. Parameters: Unit - Macro Instance number Returns: see: <r_csisw_Error_t> */ r_csisw_Error_t R_CSISW_DeInit(uint32_t Unit); #ifdef __cplusplus } #endif #endif /* R_CSISW_API_H_ */