Imported more library files
Not compiling currently
This commit is contained in:
@@ -0,0 +1,194 @@
|
||||
/*
|
||||
* Copyright (c) 2023, The OpenThread Authors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the copyright holder nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file
|
||||
* This file includes the platform-specific initializers.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef PLATFORM_EFR32_H_
|
||||
#define PLATFORM_EFR32_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <openthread/instance.h>
|
||||
|
||||
#include "em_device.h"
|
||||
#if defined(_SILICON_LABS_32B_SERIES_2)
|
||||
#include "em_system.h"
|
||||
#else
|
||||
#include "sl_hal_system.h"
|
||||
#endif
|
||||
|
||||
#include "rail.h"
|
||||
|
||||
#include "alarm.h"
|
||||
#include "uart.h"
|
||||
|
||||
// Global OpenThread instance structure
|
||||
extern otInstance *sInstance;
|
||||
|
||||
#ifdef SL_COMPONENT_CATALOG_PRESENT
|
||||
#include "sl_component_catalog.h"
|
||||
#endif // SL_COMPONENT_CATALOG_PRESENT
|
||||
|
||||
#ifndef SL_CATALOG_KERNEL_PRESENT
|
||||
#define sl_ot_rtos_task_can_access_pal() (true)
|
||||
#else
|
||||
#include "sl_ot_rtos_adaptation.h"
|
||||
#endif
|
||||
|
||||
// Global reference to rail handle
|
||||
#ifndef SL_CATALOG_RAIL_MULTIPLEXER_PRESENT
|
||||
#define gRailHandle emPhyRailHandle // use gRailHandle in the OpenThread PAL.
|
||||
#endif
|
||||
|
||||
extern RAIL_Handle_t gRailHandle; // coex needs the emPhyRailHandle symbol.
|
||||
|
||||
/**
|
||||
* This function performs all platform-specific initialization of
|
||||
* OpenThread's drivers.
|
||||
*
|
||||
*/
|
||||
void sl_ot_sys_init(void);
|
||||
|
||||
/**
|
||||
* This function initializes the radio service used by OpenThead.
|
||||
*
|
||||
*/
|
||||
void efr32RadioInit(void);
|
||||
|
||||
/**
|
||||
* This function deinitializes the radio service used by OpenThead.
|
||||
*
|
||||
*/
|
||||
void efr32RadioDeinit(void);
|
||||
|
||||
/**
|
||||
* This function performs radio driver processing.
|
||||
*
|
||||
* @param[in] aInstance The OpenThread instance structure.
|
||||
*
|
||||
*/
|
||||
void efr32RadioProcess(otInstance *aInstance);
|
||||
|
||||
/**
|
||||
* This function performs CPC driver processing.
|
||||
*
|
||||
*/
|
||||
void efr32CpcProcess(void);
|
||||
|
||||
/**
|
||||
* This function performs SPI driver processing.
|
||||
*
|
||||
*/
|
||||
void efr32SpiProcess(void);
|
||||
|
||||
/**
|
||||
* Initialization of Misc module.
|
||||
*
|
||||
*/
|
||||
void efr32MiscInit(void);
|
||||
|
||||
/**
|
||||
* Initialization of ADC module for random number generator.
|
||||
*
|
||||
*/
|
||||
void efr32RandomInit(void);
|
||||
|
||||
/**
|
||||
* Initialization of Logger driver.
|
||||
*
|
||||
*/
|
||||
void efr32LogInit(void);
|
||||
|
||||
/**
|
||||
* Deinitialization of Logger driver.
|
||||
*
|
||||
*/
|
||||
void efr32LogDeinit(void);
|
||||
|
||||
/**
|
||||
* Print reset info.
|
||||
*
|
||||
*/
|
||||
void efr32PrintResetInfo(void);
|
||||
|
||||
/**
|
||||
* Set 802.15.4 CCA mode
|
||||
*
|
||||
* A call to this function should be made after RAIL has been
|
||||
* initialized and a valid handle is available. On platforms that
|
||||
* don't support different CCA modes, a call to this function with
|
||||
* non-Default CCA mode (i.e. with any value except
|
||||
* RAIL_IEEE802154_CCA_MODE_RSSI) will return a failure.
|
||||
*
|
||||
* @param[in] aMode Mode of CCA operation.
|
||||
* @return RAIL Status code indicating success of the function call.
|
||||
*/
|
||||
RAIL_Status_t efr32RadioSetCcaMode(uint8_t aMode);
|
||||
|
||||
/**
|
||||
* This callback is used to check if is safe to put the EFR32 into a
|
||||
* low energy sleep mode.
|
||||
*
|
||||
* The callback should return true if it is ok to enter sleep mode.
|
||||
* Note that the callback must add an EM1 requirement if it intends
|
||||
* to idle (EM1) instead of entering a deep sleep (EM2) mode.
|
||||
*/
|
||||
|
||||
bool efr32AllowSleepCallback(void);
|
||||
|
||||
/**
|
||||
* Load the channel configurations.
|
||||
*
|
||||
* @param[in] aChannel The radio channel.
|
||||
* @param[in] aTxPower The radio transmit power in dBm.
|
||||
*
|
||||
* @retval OT_ERROR_NONE Successfully enabled/disabled .
|
||||
* @retval OT_ERROR_INVALID_ARGS Invalid channel.
|
||||
*
|
||||
*/
|
||||
otError efr32RadioLoadChannelConfig(uint8_t aChannel, int8_t aTxPower);
|
||||
|
||||
otError railStatusToOtError(RAIL_Status_t status);
|
||||
|
||||
/**
|
||||
* This function performs Serial processing.
|
||||
*
|
||||
*/
|
||||
void efr32SerialProcess(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // PLATFORM_EFR32_H_
|
||||
Reference in New Issue
Block a user