Microchip® Advanced Software Framework

heart_rate_app.c File Reference

BLE Heart Rate Service Application Implementations.

Copyright (c) 2020-2021 Microchip Technology Inc. and its subsidiaries.

#include "heart_rate_app.h"
#include "ble_manager.h"
#include "heart_rate.h"
#include "common/include/nm_common.h"
#include <asf.h>
#include "console.h"
#include "driver/include/m2m_wifi.h"
#include "driver/include/m2m_periph.h"
#include "m2m_ble.h"
#include "at_ble_api.h"
#include "wifi_prov.h"
#include "hr_sensor.h"

Macros

#define APP_BTN_EVENT_BTN1_LONG_PRESS   2
 
#define APP_BTN_EVENT_BTN1_SHORT_PRESS   1
 
#define APP_BTN_EVENT_BTN2_LONG_PRESS   8
 
#define APP_BTN_EVENT_BTN2_SHORT_PRESS   4
 
#define APP_STATE_COMPLETE   6
 
#define APP_STATE_IDLE   0
 
#define APP_STATE_PROVISIONING   2
 
#define APP_STATE_WAITING_FOR_BUTTON_PRESS   3
 
#define APP_STATE_WAITING_FOR_PROFILE_SWITCH   5
 
#define APP_STATE_WAITING_FOR_WIFI_CONNECTION   4
 
#define APP_STATE_WAITING_FOR_WIFI_DISCONNECTION   1
 
#define APP_WIFI_PROV_DISPLAY_NAME   ("3400 DEMO")
 
#define HEX2ASCII(x)   (((x)>=10)? (((x)-10)+'A') : ((x)+'0'))
 
#define STRING_HEADER
 

Functions

static
at_ble_event_parameter_t
gu8BleParam 
__aligned (4)
 
static void app_ble_heart_rate (void)
 
static void app_button_press_callback (uint8 btn, uint8 press)
 
static void app_main (void)
 
static void app_wifi_handle_event (uint8 u8MsgType, void *pvMsg)
 
static void app_wifi_init (tpfAppWifiCb wifi_cb_func)
 
void ble_heart_rate_init (void)
 
static void ble_heart_rate_process (void)
 
void ble_heart_rate_process_event (at_ble_events_t event, at_ble_event_parameter_t *params)
 
static void led_init (void)
 
int main (void)
 
uint32 nmi_inet_addr (char *pcIpAddr)
 

Variables

static volatile uint8 gu8BtnEvent
 
static uint8 gu8ScanIndex
 
static volatile uint8 gu8WiFiConnectionState = M2M_WIFI_DISCONNECTED
 
uint16_t rr_interval_value = RR_VALUE_MIN
 

#define APP_BTN_EVENT_BTN1_LONG_PRESS   2
#define APP_BTN_EVENT_BTN1_SHORT_PRESS   1
#define APP_BTN_EVENT_BTN2_LONG_PRESS   8
#define APP_BTN_EVENT_BTN2_SHORT_PRESS   4
#define APP_STATE_COMPLETE   6
#define APP_STATE_IDLE   0
#define APP_STATE_PROVISIONING   2
#define APP_STATE_WAITING_FOR_BUTTON_PRESS   3
#define APP_STATE_WAITING_FOR_PROFILE_SWITCH   5
#define APP_STATE_WAITING_FOR_WIFI_CONNECTION   4
#define APP_STATE_WAITING_FOR_WIFI_DISCONNECTION   1
#define APP_WIFI_PROV_DISPLAY_NAME   ("3400 DEMO")
#define HEX2ASCII (   x)    (((x)>=10)? (((x)-10)+'A') : ((x)+'0'))

Referenced by app_wifi_init().

#define STRING_HEADER
Value:
"-- Wifi BLE Provisioning demo with Heart Rate--\r\n" \
"-- "BOARD_NAME" --\r\n" \
"-- Compiled: "__DATE__" "__TIME__" --\r\n"
#define BOARD_NAME
Name string macro.
Definition: samd21_xplained_pro.h:65

Referenced by main().

static at_ble_event_parameter_t gu8BleParam __aligned ( )
static
static void app_ble_heart_rate ( void  )
static
static void app_button_press_callback ( uint8  btn,
uint8  press 
)
static
static void app_main ( void  )
static
void ble_heart_rate_init ( void  )
void ble_heart_rate_process_event ( at_ble_events_t  event,
at_ble_event_parameter_t params 
)
uint32 nmi_inet_addr ( char *  pcIpAddr)
         Synchronous function which returns a BSD socket compliant Internet Protocol (IPv4) socket address.
         This IPv4 address in the input string parameter could either be specified as a hostname, or as a numeric string
         representation like n.n.n.n known as the IPv4 dotted-decimal format (i.e. "192.168.10.1").
         This function is used whenever an ip address needs to be set in the proper format
         (i.e. for the @ref tstrM2MIPConfig structure).
Parameters
[in]pcIpAddrA null terminated string containing the IP address in IPv4 dotted-decimal address.
Returns
Unsigned 32-bit integer representing the IP address in Network byte order (eg. "192.168.10.1" will be expressed as 0x010AA8C0).

volatile uint8 gu8BtnEvent
static
uint8 gu8ScanIndex
static

Referenced by app_wifi_handle_event().

volatile uint8 gu8WiFiConnectionState = M2M_WIFI_DISCONNECTED
static

Referenced by app_wifi_handle_event().

uint16_t rr_interval_value = RR_VALUE_MIN

to count the rr interval value

Referenced by ble_heart_rate_process().