Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Projects/P-NUCLEO-WB55.USBDongle/Applications/Thread/Thread_Coap_DataTransfer/STM32_WPAN/App/app_thread.c')
-rw-r--r--Projects/P-NUCLEO-WB55.USBDongle/Applications/Thread/Thread_Coap_DataTransfer/STM32_WPAN/App/app_thread.c115
1 files changed, 43 insertions, 72 deletions
diff --git a/Projects/P-NUCLEO-WB55.USBDongle/Applications/Thread/Thread_Coap_DataTransfer/STM32_WPAN/App/app_thread.c b/Projects/P-NUCLEO-WB55.USBDongle/Applications/Thread/Thread_Coap_DataTransfer/STM32_WPAN/App/app_thread.c
index 2c26d2689..af8cad43f 100644
--- a/Projects/P-NUCLEO-WB55.USBDongle/Applications/Thread/Thread_Coap_DataTransfer/STM32_WPAN/App/app_thread.c
+++ b/Projects/P-NUCLEO-WB55.USBDongle/Applications/Thread/Thread_Coap_DataTransfer/STM32_WPAN/App/app_thread.c
@@ -71,35 +71,32 @@ static void RxCpltCallback(void);
static void APP_THREAD_CheckMsgValidity(void);
static void APP_THREAD_SendNextBuffer(void);
-static void APP_THREAD_DummyReqHandler(void * p_context,
- otCoapHeader * pHeader,
- otMessage * pMessage,
- const otMessageInfo * pMessageInfo);
-static void APP_THREAD_CoapDataReqHandler(otCoapHeader * pHeader,
- otMessage * pMessage,
- const otMessageInfo * pMessageInfo);
+static void APP_THREAD_CoapDataReqHandler(void * pContext,
+ otCoapHeader * pHeader,
+ otMessage * pMessage,
+ const otMessageInfo * pMessageInfo);
static void APP_THREAD_SendDataResponse(otCoapHeader * pRequestHeader,
const otMessageInfo * pMessageInfo);
-static void APP_THREAD_ProvisioningReqHandler(otCoapHeader * pHeader,
- otMessage * pMessage,
- const otMessageInfo * pMessageInfo);
+static void APP_THREAD_ProvisioningReqHandler(void * pContext,
+ otCoapHeader * pHeader,
+ otMessage * pMessage,
+ const otMessageInfo * pMessageInfo);
static otError APP_THREAD_ProvisioningRespSend(otCoapHeader* pRequestHeader,
const otMessageInfo * pMessageInfo);
static void APP_THREAD_ProvisioningReqSend(void);
-static void APP_THREAD_ProvisioningRespHandler(otCoapHeader * pHeader,
+static void APP_THREAD_ProvisioningRespHandler(
+ void * pContext,
+ otCoapHeader * pHeader,
otMessage * pMessage,
const otMessageInfo * pMessageInfo,
otError Result);
static void APP_THREAD_SendCoapUnicastRequest(void);
-static void APP_THREAD_DataRespHandler(otCoapHeader * pHeader,
- otMessage * pMessage,
- const otMessageInfo * pMessageInfo,
- otError Result);
-static void APP_THREAD_DummyRespHandler(void * p_context,
- otCoapHeader * pHeader,
- otMessage * pMessage,
- const otMessageInfo * pMessageInfo,
- otError Result);
+static void APP_THREAD_DataRespHandler(
+ void * pContext,
+ otCoapHeader * pHeader,
+ otMessage * pMessage,
+ const otMessageInfo * pMessageInfo,
+ otError Result);
static void APP_THREAD_AskProvisioning(void);
/* Private variables -----------------------------------------------*/
@@ -128,8 +125,8 @@ PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static TL_CmdPacket_t ThreadOtCmdBuffer;
PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static uint8_t ThreadNotifRspEvtBuffer[sizeof(TL_PacketHeader_t) + TL_EVT_HDR_SIZE + 255U];
PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static TL_CmdPacket_t ThreadCliCmdBuffer;
-static otCoapResource OT_RessourceDataTransfer = {C_RESSOURCE_DATA_TRANSFER, APP_THREAD_DummyReqHandler, (void*)APP_THREAD_CoapDataReqHandler, NULL};
-static otCoapResource OT_RessourceProvisionning = {C_RESSOURCE_Provisioning, APP_THREAD_DummyReqHandler, (void*)APP_THREAD_ProvisioningReqHandler, NULL};
+static otCoapResource OT_RessourceDataTransfer = {C_RESSOURCE_DATA_TRANSFER, APP_THREAD_CoapDataReqHandler, "myDataTransferCtx", NULL};
+static otCoapResource OT_RessourceProvisionning = {C_RESSOURCE_Provisioning, APP_THREAD_ProvisioningReqHandler,"myProvisionningCtx", NULL};
static otMessageInfo OT_MessageInfo = {0};
static otCoapHeader OT_Header = {0};
static uint8_t OT_Command = 0;
@@ -410,19 +407,6 @@ static void APP_THREAD_StateNotif(uint32_t NotifFlags, void *pContext)
}
/**
- * @brief Dummy request handler
- *
- * @param None
- * @retval None
- */
-static void APP_THREAD_DummyReqHandler(void * p_context,
- otCoapHeader * pHeader,
- otMessage * pMessage,
- const otMessageInfo * pMessageInfo)
-{
-}
-
-/**
* @brief Warn the user that an error has occurred.In this case,
* the LEDs on the Board will start blinking.
*
@@ -504,14 +488,16 @@ static void APP_THREAD_SendNextBuffer(void)
/**
* @brief Data request handler triggered at the reception of the COAP message
+ * @param pContext : Context
* @param pHeader header pointer
* @param pMessage message pointer
* @param pMessageInfo message info pointer
* @retval None
*/
-static void APP_THREAD_CoapDataReqHandler(otCoapHeader * pHeader,
- otMessage * pMessage,
- const otMessageInfo * pMessageInfo)
+static void APP_THREAD_CoapDataReqHandler(void * pContext,
+ otCoapHeader * pHeader,
+ otMessage * pMessage,
+ const otMessageInfo * pMessageInfo)
{
do
{
@@ -581,14 +567,16 @@ static void APP_THREAD_SendDataResponse(otCoapHeader * pRequestHeader,
/**
* @brief This function is used to handle the APP_THREAD_AskProvisioning handler
*
+ * @param pContext : Context
* @param pHeader header pointer
* @param pMessage message pointer
* @param pMessageInfo message info pointer
* @retval None
*/
-static void APP_THREAD_ProvisioningReqHandler(otCoapHeader * pHeader,
- otMessage * pMessage,
- const otMessageInfo * pMessageInfo)
+static void APP_THREAD_ProvisioningReqHandler(void * pContext,
+ otCoapHeader * pHeader,
+ otMessage * pMessage,
+ const otMessageInfo * pMessageInfo)
{
(void)pMessage;
@@ -692,8 +680,8 @@ static void APP_THREAD_ProvisioningReqSend()
error = otCoapSendRequest(NULL,
pOT_Message,
&OT_MessageInfo,
- &APP_THREAD_DummyRespHandler,
- (void*)&APP_THREAD_ProvisioningRespHandler);
+ &APP_THREAD_ProvisioningRespHandler,
+ "myContext");
} while (false);
if (error != OT_ERROR_NONE && pOT_Message != NULL)
@@ -706,18 +694,22 @@ static void APP_THREAD_ProvisioningReqSend()
* @brief This function is used to manage the APP_THREAD_AskProvisioning response
* handler.
*
+ * @param pContext context
* @param pHeader header
* @param pMessage message pointer
* @param pMessageInfo message info pointer
* @param Result error code if any
* @retval None
*/
-static void APP_THREAD_ProvisioningRespHandler(otCoapHeader * pHeader,
+static void APP_THREAD_ProvisioningRespHandler(void * pContext,
+ otCoapHeader * pHeader,
otMessage * pMessage,
const otMessageInfo * pMessageInfo,
otError Result)
{
- (void)pHeader;
+ UNUSED(pContext);
+ UNUSED(pHeader);
+
if (Result == OT_ERROR_NONE)
{
if ((otMessageRead(pMessage, otMessageGetOffset(pMessage), &OT_Command, sizeof(OT_Command)) == sizeof(OT_Command)))
@@ -791,8 +783,8 @@ static void APP_THREAD_SendCoapUnicastRequest()
error = otCoapSendRequest(NULL,
pOT_Message,
&OT_MessageInfo,
- &APP_THREAD_DummyRespHandler,
- (void*)&APP_THREAD_DataRespHandler);
+ &APP_THREAD_DataRespHandler,
+ "myCtx");
if (error != OT_ERROR_NONE && pOT_Message != NULL)
{
@@ -804,18 +796,21 @@ static void APP_THREAD_SendCoapUnicastRequest()
* @brief This function manages the data response handler
* and reschedules the sending of data.
*
+ * @param pContext context
* @param pHeader header
* @param pMessage message pointer
* @param pMessageInfo message info pointer
* @param Result error code
* @retval None
*/
-static void APP_THREAD_DataRespHandler(otCoapHeader * pHeader,
+static void APP_THREAD_DataRespHandler(void * pContext,
+ otCoapHeader * pHeader,
otMessage * pMessage,
const otMessageInfo * pMessageInfo,
otError Result)
{
/* Prevent unused argument(s) compilation warning */
+ UNUSED(pContext);
UNUSED(pHeader);
UNUSED(pMessage);
UNUSED(pMessageInfo);
@@ -833,30 +828,6 @@ static void APP_THREAD_DataRespHandler(otCoapHeader * pHeader,
}
/**
- * @brief This function is used to handle a dummy response handler
- *
- * @param p_context context
- * @param pHeader coap header
- * @param pMessage message
- * @paramp pMessageInfo otMessage information
- * @param Result error status
- * @retval None
- */
-static void APP_THREAD_DummyRespHandler(void * p_context,
- otCoapHeader * pHeader,
- otMessage * pMessage,
- const otMessageInfo * pMessageInfo,
- otError Result)
-{
- /* Prevent unused argument(s) compilation warning */
- UNUSED(p_context);
- UNUSED(pHeader);
- UNUSED(pMessage);
- UNUSED(pMessageInfo);
- UNUSED(Result);
-}
-
-/**
* @brief Check if the Coprocessor Wireless Firmware loaded supports Thread
* and display associated informations
* @param None