Wirepas SDK
dualmcu_app/app.c
/* Copyright 2017 Wirepas Ltd. All Rights Reserved.
*
* See file LICENSE.txt for full license details.
*
*/
/*
* \file app.c
* \brief This file is a template to Dual MCU API app for all paltforms
*/
#include <stdlib.h>
#include "hal_api.h"
#include "io.h"
#include "waps.h"
#include "api.h"
#include "waps/sap/multicast.h"
#include "app_scheduler.h"
// Interface config
const app_interface_config_s m_interface_config =
{
.interface = APP_UART_INT,
.baudrate = UART_BAUDRATE,
.flow_ctrl = UART_FLOWCONTROL
};
void newAppConfigCb(const uint8_t * bytes,
uint8_t seq,
uint16_t interval)
{
Waps_sinkUpdated(seq, bytes, interval);
}
static void dataSentCb(const app_lib_data_sent_status_t * status)
{
Waps_packetSent(status->tracking_id,
status->src_endpoint,
status->dest_endpoint,
status->queue_time,
status->dest_address,
status->success);
}
void onScannedNborsCb(void)
{
Waps_onScannedNbors();
}
void App_init(const app_global_functions_t * functions)
{
// Open HAL
// Initialize Scheduler
// Initialize IO's (enable clock and initialize pins)
Io_init();
// Initialize the Dual-MCU API protocol
Waps_init();
//register callbacks
lib_data->setDataReceivedCb(Waps_receiveUnicast);
lib_data->setBcastDataReceivedCb(Waps_receiveBcast);
lib_data->setDataSentCb(dataSentCb);
lib_data->setNewAppConfigCb(newAppConfigCb);
lib_settings->registerGroupQuery(Multicast_isGroupCb);
lib_state->setOnScanNborsCb(onScannedNborsCb,
}
App_Scheduler_init
void App_Scheduler_init(void)
Initialize scheduler.
APP_LIB_STATE_SCAN_NBORS_ONLY_REQUESTED
@ APP_LIB_STATE_SCAN_NBORS_ONLY_REQUESTED
Definition: state.h:99
app_lib_data_sent_status_t::dest_address
app_addr_t dest_address
Definition: data.h:328
app_lib_data_sent_status_t::queue_time
uint32_t queue_time
Definition: data.h:333
app_lib_data_sent_status_t::tracking_id
app_lib_data_tracking_id_t tracking_id
Definition: data.h:336
app_scheduler.h
hal_api.h
Collection of common interfaces that Wirepas HAL implements.
HAL_Open
bool HAL_Open(void)
Initialize HAL.
app_lib_data_sent_status_t::src_endpoint
uint8_t src_endpoint
Definition: data.h:338
app_lib_data_sent_status_t::dest_endpoint
uint8_t dest_endpoint
Definition: data.h:340
app_lib_data_sent_status_t::success
bool success
Definition: data.h:342
app_global_functions_t
List of global functions, passed to App_entrypoint()
Definition: app.h:157
app_lib_data_sent_status_t
Struct to tracking callback function.
Definition: data.h:325
api.h