XDK API  3.6.0
Documentation
XDK Common User Guide

Explains XDK common user guide and how the modules can be used for an application


This simple guide is intended, for the developers who intend to develop a application using the XDK Common module or for developers who intend to use/improve existing sample application.

XDK application uses Common modules for System startup and feature interfaces(like BLE, Wlan). By default all the feature macros are enabled in common_feature.mk. XDK_FEATURE_SET macro is used to select the features needed by application.

XDK_FEATURE_SET ?='ALL'
- ALL ----> All the features will be enabled
- NONE ----> All the features will be disabled
- SELECT ----> Application has to select the required features

XDK Common module implements the following components,

Startup:

This module contains "Main" routine and the APIs , in which user can easily integrate application specific routines

Connectivity:

This module contains the following network interfaces,

  1. BLE : This interface is enabled with XDK_CONNECTIVITY_BLE feature macro. This module handles the BLE peripheral feature which has implementation support for Sensor service, BCDS bidirectional service and Custom service.
  2. HTTPRestClient : This interface is enabled with XDK_CONNECTIVITY_HTTPRESTCLIENT feature macro. This module handles the HTTP rest client services (POST and GET) with and without security support.
  3. LED : This interface is enabled with XDK_CONNECTIVITY_LED feature macro. This module handles the LED features.
  4. LoRa : This interface is enabled with XDK_CONNECTIVITY_LORA feature macro. This module handles the LORA peripheral feature.
  5. LWM2M : This interface is enabled with XDK_CONNECTIVITY_LORA feature macro. This module supports few standard OMA objects. It also supports the following standard IPSO (OMA standardized) objects and XDK (BCDS vendor specific) objects like Sensor device, Alert notification.
  6. MQTT : This interface is enabled with XDK_CONNECTIVITY_MQTT feature macro. This module handles the MQTT communication support from AWS and ServalStack.
  7. UDP : This interface is enabled with XDK_CONNECTIVITY_UDP feature macro. This module handles UDP service from ServalStack.
  8. WLAN : This interface is enabled with XDK_CONNECTIVITY_WLAN feature macro. This module handles the WLAN services (Personal WPA2 and Enterprise WPA2 connection).

Sensor:

This module contains the following sensor interfaces,

  1. BUTTON : This interface is enabled with XDK_SENSOR_BUTTON feature macro. This module handles the Button features.
  2. EXTERNAL : This interface is enabled with XDK_SENSOR_EXTERNALSENSOR feature macro. This module interfaces External Sensor features for MAX31865 and LEM.
  3. LEM : This interface is enabled by default for internal Lem Sensor.
  4. SENSOR : This interface is enabled with XDK_SENSOR_SENSOR feature macro. Interface file for the In-built Sensor BMI160, BMA280, BMG160, MAX44009, BMM150, BME280.
  5. VIRTUAL : This interface is enabled with XDK_SENSOR_VIRTUALSENSOR feature macro. This module handles the generic Sensor data sampling and reporting.
  6. NOISE : This interface is enabled by default. This module interfaces the internal Noise sensor.

Utility:

This module contains the following utility interfaces,

  1. CAYENNELPPSERIALIZER : This interface is enabled by default. The Cayenne Low Power Payload (LPP) provides a convenient and easy way to send data over LPWAN networks such as LoRaWAN.
  2. PPMPSERIALIZER : This interface is enabled by default for serializing PPMP payload.
  3. FOTA : This interface is enabled by default for handling FOTA related activities like Firmware validation and Firmware update from the SD Card.
  4. SERVALPAL : This interface is enabled with XDK_UTILITY_SERVALPAL feature macro. This module handles the Serval stack Platform Adaptation Layer setup.
  5. SNTP : This interface is enabled with XDK_UTILITY_SNTP feature macro. This module handles the SNTP timestamp (from server and system).
  6. STORAGE : This interface is enabled with XDK_UTILITY_STORAGE feature macro. This module handles storage in SD card and WiFi file system.
  7. TIMESTAMP : This interface is enabled by default. This module is responsible for time stamp conversions to ISO 8601 format.
  8. UTILS : This interface is enabled by default for XDK utility.

Other_Components:

This module contains other components like,

  1. MCU_ADC : This interface is enabled by default and handles the ADC Channel configurations, manages the data.
  2. BATTERYMONITOR : This interface is enabled by default and is used to measure the battery voltage.
  3. cJSON : This interface is enabled by default and used to parse json payload.
  4. EXTENSIONPORTSPI : This interface is enabled by default and used for SPI communication interface.

All rights reserved. The use is subject to the XDK SDK EULA by Bosch Connected Devices and Solutions GmbH.
This documentation file has been automatically generated on Thu Mar 14 2019 19:12:49 by doxygen 1.8.8