2021-10-18 01:54:19 +03:00
/******************************************************************************
* \ attention
*
* < h2 > < center > & copy ; COPYRIGHT 2020 STMicroelectronics < / center > < / h2 >
*
* Licensed under ST MYLIBERTY SOFTWARE LICENSE AGREEMENT ( the " License " ) ;
* You may not use this file except in compliance with the License .
* You may obtain a copy of the License at :
*
* www . st . com / myliberty
*
* Unless required by applicable law or agreed to in writing , software
* distributed under the License is distributed on an " AS IS " BASIS ,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied ,
* AND SPECIFICALLY DISCLAIMING THE IMPLIED WARRANTIES OF MERCHANTABILITY ,
* FITNESS FOR A PARTICULAR PURPOSE , AND NON - INFRINGEMENT .
* See the License for the specific language governing permissions and
* limitations under the License .
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
* PROJECT : ST25R391x firmware
* Revision :
* LANGUAGE : ISO C99
*/
/*! \file rfal_AnalogConfig.h
*
* \ author bkam
*
* \ brief RF Chip Analog Configuration Settings
*
*
* \ addtogroup RFAL
* @ {
*
* \ addtogroup RFAL - HAL
* \ brief RFAL Hardware Abstraction Layer
* @ {
*
* \ addtogroup AnalogConfig
* \ brief RFAL Analog Config Module
* @ {
*
*/
# ifndef RFAL_ANALOG_CONFIG_H
# define RFAL_ANALOG_CONFIG_H
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* INCLUDES
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
# include "platform.h"
# include "st_errno.h"
# include "rfal_rf.h"
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* DEFINES
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
2022-01-05 19:10:18 +03:00
# define RFAL_ANALOG_CONFIG_LUT_SIZE \
( 87U ) /*!< Maximum number of Configuration IDs in the Loop Up Table */
# define RFAL_ANALOG_CONFIG_LUT_NOT_FOUND \
( 0xFFU ) /*!< Index value indicating no Configuration IDs found */
# define RFAL_ANALOG_CONFIG_TBL_SIZE \
( 1024U ) /*!< Maximum number of Register-Mask-Value in the Setting List */
# define RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_MASK \
( 0x8000U ) /*!< Mask bit of Poll Mode in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_TECH_MASK \
( 0x7F00U ) /*!< Mask bits for Technology in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_BITRATE_MASK \
( 0x00F0U ) /*!< Mask bits for Bit rate in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_DIRECTION_MASK \
( 0x000FU ) /*!< Mask bits for Direction in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_CHIP_SPECIFIC_MASK \
( 0x00FFU ) /*!< Mask bits for Chip Specific Technology */
# define RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_SHIFT \
( 15U ) /*!< Shift value of Poll Mode in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_TECH_SHIFT \
( 8U ) /*!< Shift value for Technology in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_BITRATE_SHIFT \
( 4U ) /*!< Shift value for Technology in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_DIRECTION_SHIFT \
( 0U ) /*!< Shift value for Direction in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_POLL \
( 0x0000U ) /*!< Poll Mode bit setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_LISTEN \
( 0x8000U ) /*!< Listen Mode bit setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_TECH_CHIP \
( 0x0000U ) /*!< Chip-Specific bit setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_TECH_NFCA \
( 0x0100U ) /*!< NFC-A Technology bits setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_TECH_NFCB \
( 0x0200U ) /*!< NFC-B Technology bits setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_TECH_NFCF \
( 0x0400U ) /*!< NFC-F Technology bits setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_TECH_AP2P \
( 0x0800U ) /*!< AP2P Technology bits setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_TECH_NFCV \
( 0x1000U ) /*!< NFC-V Technology bits setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_TECH_RFU (0x2000U) /*!< RFU for Technology bits */
# define RFAL_ANALOG_CONFIG_BITRATE_COMMON \
( 0x0000U ) /*!< Common settings for all bit rates in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_BITRATE_106 \
( 0x0010U ) /*!< 106kbits/s settings in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_BITRATE_212 \
( 0x0020U ) /*!< 212kbits/s settings in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_BITRATE_424 \
( 0x0030U ) /*!< 424kbits/s settings in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_BITRATE_848 \
( 0x0040U ) /*!< 848kbits/s settings in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_BITRATE_1695 \
( 0x0050U ) /*!< 1695kbits/s settings in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_BITRATE_3390 \
( 0x0060U ) /*!< 3390kbits/s settings in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_BITRATE_6780 \
( 0x0070U ) /*!< 6780kbits/s settings in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_BITRATE_1OF4 \
( 0x00C0U ) /*!< 1 out of 4 for NFC-V setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_BITRATE_1OF256 \
( 0x00D0U ) /*!< 1 out of 256 for NFC-V setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_NO_DIRECTION \
( 0x0000U ) /*!< No direction setting in Analog Conf ID (Chip Specific only) */
# define RFAL_ANALOG_CONFIG_TX \
( 0x0001U ) /*!< Transmission bit setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_RX \
( 0x0002U ) /*!< Reception bit setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_ANTICOL \
( 0x0003U ) /*!< Anticollision setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_DPO \
( 0x0004U ) /*!< DPO setting in Analog Configuration ID */
# define RFAL_ANALOG_CONFIG_CHIP_INIT \
( 0x0000U ) /*!< Chip-Specific event: Startup;Reset;Initialize */
# define RFAL_ANALOG_CONFIG_CHIP_DEINIT \
( 0x0001U ) /*!< Chip-Specific event: Deinitialize */
# define RFAL_ANALOG_CONFIG_CHIP_FIELD_ON \
( 0x0002U ) /*!< Chip-Specific event: Field On */
# define RFAL_ANALOG_CONFIG_CHIP_FIELD_OFF \
( 0x0003U ) /*!< Chip-Specific event: Field Off */
# define RFAL_ANALOG_CONFIG_CHIP_WAKEUP_ON \
( 0x0004U ) /*!< Chip-Specific event: Wake-up On */
# define RFAL_ANALOG_CONFIG_CHIP_WAKEUP_OFF \
( 0x0005U ) /*!< Chip-Specific event: Wake-up Off */
# define RFAL_ANALOG_CONFIG_CHIP_LISTEN_ON \
( 0x0006U ) /*!< Chip-Specific event: Listen On */
# define RFAL_ANALOG_CONFIG_CHIP_LISTEN_OFF \
( 0x0007U ) /*!< Chip-Specific event: Listen Off */
# define RFAL_ANALOG_CONFIG_CHIP_POLL_COMMON \
( 0x0008U ) /*!< Chip-Specific event: Poll common */
# define RFAL_ANALOG_CONFIG_CHIP_LISTEN_COMMON \
( 0x0009U ) /*!< Chip-Specific event: Listen common */
# define RFAL_ANALOG_CONFIG_CHIP_LOWPOWER_ON \
( 0x000AU ) /*!< Chip-Specific event: Low Power On */
# define RFAL_ANALOG_CONFIG_CHIP_LOWPOWER_OFF \
( 0x000BU ) /*!< Chip-Specific event: Low Power Off */
# define RFAL_ANALOG_CONFIG_UPDATE_LAST \
( 0x00U ) /*!< Value indicating Last configuration set during update */
# define RFAL_ANALOG_CONFIG_UPDATE_MORE \
( 0x01U ) /*!< Value indicating More configuration set coming during update */
2021-10-18 01:54:19 +03:00
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* GLOBAL MACROS
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
2022-01-05 19:10:18 +03:00
# define RFAL_ANALOG_CONFIG_ID_GET_POLL_LISTEN(id) \
( RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_MASK & ( id ) ) /*!< Check if id indicates Listen mode */
# define RFAL_ANALOG_CONFIG_ID_GET_TECH(id) \
( RFAL_ANALOG_CONFIG_TECH_MASK & ( id ) ) /*!< Get the technology of Configuration ID */
# define RFAL_ANALOG_CONFIG_ID_IS_CHIP(id) \
( RFAL_ANALOG_CONFIG_TECH_MASK & ( id ) ) /*!< Check if ID indicates Chip-specific */
# define RFAL_ANALOG_CONFIG_ID_IS_NFCA(id) \
( RFAL_ANALOG_CONFIG_TECH_NFCA & ( id ) ) /*!< Check if ID indicates NFC-A */
# define RFAL_ANALOG_CONFIG_ID_IS_NFCB(id) \
( RFAL_ANALOG_CONFIG_TECH_NFCB & ( id ) ) /*!< Check if ID indicates NFC-B */
# define RFAL_ANALOG_CONFIG_ID_IS_NFCF(id) \
( RFAL_ANALOG_CONFIG_TECH_NFCF & ( id ) ) /*!< Check if ID indicates NFC-F */
# define RFAL_ANALOG_CONFIG_ID_IS_AP2P(id) \
( RFAL_ANALOG_CONFIG_TECH_AP2P & ( id ) ) /*!< Check if ID indicates AP2P */
# define RFAL_ANALOG_CONFIG_ID_IS_NFCV(id) \
( RFAL_ANALOG_CONFIG_TECH_NFCV & ( id ) ) /*!< Check if ID indicates NFC-V */
# define RFAL_ANALOG_CONFIG_ID_GET_BITRATE(id) \
( RFAL_ANALOG_CONFIG_BITRATE_MASK & ( id ) ) /*!< Get Bitrate of Configuration ID */
# define RFAL_ANALOG_CONFIG_ID_IS_COMMON(id) \
( RFAL_ANALOG_CONFIG_BITRATE_MASK & ( id ) ) /*!< Check if ID indicates common bitrate */
# define RFAL_ANALOG_CONFIG_ID_IS_106(id) \
( RFAL_ANALOG_CONFIG_BITRATE_106 & ( id ) ) /*!< Check if ID indicates 106kbits/s */
# define RFAL_ANALOG_CONFIG_ID_IS_212(id) \
( RFAL_ANALOG_CONFIG_BITRATE_212 & ( id ) ) /*!< Check if ID indicates 212kbits/s */
# define RFAL_ANALOG_CONFIG_ID_IS_424(id) \
( RFAL_ANALOG_CONFIG_BITRATE_424 & ( id ) ) /*!< Check if ID indicates 424kbits/s */
# define RFAL_ANALOG_CONFIG_ID_IS_848(id) \
( RFAL_ANALOG_CONFIG_BITRATE_848 & ( id ) ) /*!< Check if ID indicates 848kbits/s */
# define RFAL_ANALOG_CONFIG_ID_IS_1695(id) \
( RFAL_ANALOG_CONFIG_BITRATE_1695 & ( id ) ) /*!< Check if ID indicates 1695kbits/s */
# define RFAL_ANALOG_CONFIG_ID_IS_3390(id) \
( RFAL_ANALOG_CONFIG_BITRATE_3390 & ( id ) ) /*!< Check if ID indicates 3390kbits/s */
# define RFAL_ANALOG_CONFIG_ID_IS_6780(id) \
( RFAL_ANALOG_CONFIG_BITRATE_6780 & ( id ) ) /*!< Check if ID indicates 6780kbits/s */
# define RFAL_ANALOG_CONFIG_ID_IS_1OF4(id) \
( RFAL_ANALOG_CONFIG_BITRATE_1OF4 & ( id ) ) /*!< Check if ID indicates 1 out of 4 bitrate */
# define RFAL_ANALOG_CONFIG_ID_IS_1OF256(id) \
( RFAL_ANALOG_CONFIG_BITRATE_1OF256 & ( id ) ) /*!< Check if ID indicates 1 out of 256 bitrate */
# define RFAL_ANALOG_CONFIG_ID_GET_DIRECTION(id) \
( RFAL_ANALOG_CONFIG_DIRECTION_MASK & ( id ) ) /*!< Get Direction of Configuration ID */
# define RFAL_ANALOG_CONFIG_ID_IS_TX(id) \
( RFAL_ANALOG_CONFIG_TX & ( id ) ) /*!< Check if id indicates TX */
# define RFAL_ANALOG_CONFIG_ID_IS_RX(id) \
( RFAL_ANALOG_CONFIG_RX & ( id ) ) /*!< Check if id indicates RX */
# define RFAL_ANALOG_CONFIG_CONFIG_NUM(x) \
( sizeof ( x ) / sizeof ( ( x ) [ 0 ] ) ) /*!< Get Analog Config number */
2021-10-18 01:54:19 +03:00
/*! Set Analog Config ID value by: Mode, Technology, Bitrate and Direction */
2022-01-05 19:10:18 +03:00
# define RFAL_ANALOG_CONFIG_ID_SET(mode, tech, br, direction) \
( RFAL_ANALOG_CONFIG_ID_GET_POLL_LISTEN ( mode ) | RFAL_ANALOG_CONFIG_ID_GET_TECH ( tech ) | \
RFAL_ANALOG_CONFIG_ID_GET_BITRATE ( br ) | RFAL_ANALOG_CONFIG_ID_GET_DIRECTION ( direction ) )
2021-10-18 01:54:19 +03:00
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* GLOBAL DATA TYPES
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
2022-01-05 19:10:18 +03:00
typedef uint8_t
rfalAnalogConfigMode ; /*!< Polling or Listening Mode of Configuration */
typedef uint8_t
rfalAnalogConfigTech ; /*!< Technology of Configuration */
typedef uint8_t
rfalAnalogConfigBitrate ; /*!< Bitrate of Configuration */
typedef uint8_t
rfalAnalogConfigDirection ; /*!< Transmit/Receive direction of Configuration */
typedef uint8_t
rfalAnalogConfigRegAddr [ 2 ] ; /*!< Register Address to ST Chip */
typedef uint8_t
rfalAnalogConfigRegMask ; /*!< Register Mask Value */
typedef uint8_t
rfalAnalogConfigRegVal ; /*!< Register Value */
typedef uint16_t
rfalAnalogConfigId ; /*!< Analog Configuration ID */
typedef uint16_t
rfalAnalogConfigOffset ; /*!< Analog Configuration offset address in the table */
typedef uint8_t
rfalAnalogConfigNum ; /*!< Number of Analog settings for the respective Configuration ID */
2021-10-18 01:54:19 +03:00
/*! Struct that contain the Register-Mask-Value set. Make sure that the whole structure size is even and unaligned! */
typedef struct {
2022-01-05 19:10:18 +03:00
rfalAnalogConfigRegAddr addr ; /*!< Register Address */
rfalAnalogConfigRegMask mask ; /*!< Register Mask Value */
rfalAnalogConfigRegVal val ; /*!< Register Value */
2021-10-18 01:54:19 +03:00
} rfalAnalogConfigRegAddrMaskVal ;
/*! Struct that represents the Analog Configs */
typedef struct {
2022-01-05 19:10:18 +03:00
uint8_t id [ sizeof ( rfalAnalogConfigId ) ] ; /*!< Configuration ID */
rfalAnalogConfigNum num ; /*!< Number of Config Sets to follow */
rfalAnalogConfigRegAddrMaskVal regSet [ ] ;
/*!< Register-Mask-Value sets */ /* PRQA S 1060 # MISRA 18.7 - Flexible Array Members are the only meaningful way of denoting a variable length input buffer which follows a fixed header structure. */
2021-10-18 01:54:19 +03:00
} rfalAnalogConfig ;
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* GLOBAL FUNCTION PROTOTYPES
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
/*!
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* \ brief Initialize the Analog Configuration
*
* Reset the Analog Configuration LUT pointer to reference to default settings .
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
2022-01-05 19:10:18 +03:00
void rfalAnalogConfigInitialize ( void ) ;
2021-10-18 01:54:19 +03:00
/*!
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* \ brief Indicate if the current Analog Configuration Table is complete and ready to be used .
*
* \ return true if current Analog Configuration Table is complete and ready to be used .
* \ return false if current Analog Configuration Table is incomplete
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
2022-01-05 19:10:18 +03:00
bool rfalAnalogConfigIsReady ( void ) ;
2021-10-18 01:54:19 +03:00
/*!
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* \ brief Write the whole Analog Configuration table in raw format
*
* Writes the Analog Configuration and Look Up Table with the given raw table
*
* NOTE : Function does not check the validity of the given Table contents
*
* \ param [ in ] configTbl : location of config Table to be loaded
* \ param [ in ] configTblSize : size of the config Table to be loaded
*
* \ return ERR_NONE : if setting is updated
* \ return ERR_PARAM : if configTbl is invalid
* \ return ERR_NOMEM : if the given Table is bigger exceeds the max size
* \ return ERR_REQUEST : if the update Configuration Id is disabled
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
2022-01-05 19:10:18 +03:00
ReturnCode rfalAnalogConfigListWriteRaw ( const uint8_t * configTbl , uint16_t configTblSize ) ;
2021-10-18 01:54:19 +03:00
/*!
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* \ brief Write the Analog Configuration table with new analog settings .
*
* Writes the Analog Configuration and Look Up Table with the new list of register - mask - value
* and Configuration ID respectively .
*
* NOTE : Function does not check for the validity of the Register Address .
*
* \ param [ in ] more : 0x00 indicates it is last Configuration ID settings ;
* 0x01 indicates more Configuration ID setting ( s ) are coming .
* \ param [ in ] * config : reference to the configuration list of current Configuraiton ID .
*
* \ return ERR_PARAM : if Configuration ID or parameter is invalid
* \ return ERR_NOMEM : if LUT is full
* \ return ERR_REQUEST : if the update Configuration Id is disabled
* \ return ERR_NONE : if setting is updated
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
2022-01-05 19:10:18 +03:00
ReturnCode rfalAnalogConfigListWrite ( uint8_t more , const rfalAnalogConfig * config ) ;
2021-10-18 01:54:19 +03:00
/*!
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* \ brief Read the whole Analog Configuration table in raw format
*
* Reads the whole Analog Configuration Table in raw format
*
* \ param [ out ] tblBuf : location to the buffer to place the Config Table
* \ param [ in ] tblBufLen : length of the buffer to place the Config Table
* \ param [ out ] configTblSize : Config Table size
*
* \ return ERR_PARAM : if configTbl or configTblSize is invalid
* \ return ERR_NOMEM : if configTblSize is not enough for the whole table
* \ return ERR_NONE : if read is successful
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
2022-01-05 19:10:18 +03:00
ReturnCode
rfalAnalogConfigListReadRaw ( uint8_t * tblBuf , uint16_t tblBufLen , uint16_t * configTblSize ) ;
2021-10-18 01:54:19 +03:00
/*!
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* \ brief Read the Analog Configuration table .
*
* Read the Analog Configuration Table
*
* \ param [ in ] configOffset : offset to the next Configuration ID in the List Table to be read .
* \ param [ out ] more : 0x00 indicates it is last Configuration ID settings ;
* 0x01 indicates more Configuration ID setting ( s ) are coming .
* \ param [ out ] config : configuration id , number of configuration sets and register - mask - value sets
* \ param [ in ] numConfig : the remaining configuration settings space available ;
*
* \ return ERR_NOMEM : if number of Configuration for respective Configuration ID is greater the the remaining configuration setting space available
* \ return ERR_NONE : if read is successful
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
2022-01-05 19:10:18 +03:00
ReturnCode rfalAnalogConfigListRead (
rfalAnalogConfigOffset * configOffset ,
uint8_t * more ,
rfalAnalogConfig * config ,
rfalAnalogConfigNum numConfig ) ;
2021-10-18 01:54:19 +03:00
/*!
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* \ brief Set the Analog settings of indicated Configuration ID .
*
* Update the chip with indicated analog settings of indicated Configuration ID .
*
* \ param [ in ] configId : configuration ID
*
* \ return ERR_PARAM if Configuration ID is invalid
* \ return ERR_INTERNAL if error updating setting to chip
* \ return ERR_NONE if new settings is applied to chip
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
2022-01-05 19:10:18 +03:00
ReturnCode rfalSetAnalogConfig ( rfalAnalogConfigId configId ) ;
2021-10-18 01:54:19 +03:00
/*!
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* \ brief Generates Analog Config mode ID
*
* Converts RFAL mode and bitrate into Analog Config Mode ID .
*
* Update the chip with indicated analog settings of indicated Configuration ID .
*
* \ param [ in ] md : RFAL mode format
* \ param [ in ] br : RFAL bit rate format
* \ param [ in ] dir : Analog Config communication direction
*
* \ return Analog Config Mode ID
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
2022-01-05 19:10:18 +03:00
uint16_t rfalAnalogConfigGenModeID ( rfalMode md , rfalBitRate br , uint16_t dir ) ;
2021-10-18 01:54:19 +03:00
# endif /* RFAL_ANALOG_CONFIG_H */
/**
* @ }
*
* @ }
*
* @ }
*/