diff --git a/examples/Makefile b/examples/Makefile
index e7dd23b949fd3c1ea583fe8c6b3a36b0c20a3b17..ba389533fbde73aff70eeeb8ace2892f67e68433 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -3,7 +3,7 @@
 
 # `wildcard ./*/` works in both linux and linux/wine, while `wildcard */` enumerates nothing under wine
 SUBDIRS = $(sort $(dir $(wildcard ./*/)))
-SUBDIRS:=$(filter-out ./ ./CC3200/ ./ESP8266_RTOS/ ./MSP432/ ./STM32F4_CC3100/, $(SUBDIRS))
+SUBDIRS:=$(filter-out ./ ./CC3200/ ./ESP8266_RTOS/ ./MSP432/ ./PIC32/ ./STM32F4_CC3100/, $(SUBDIRS))
 
 ifeq ($(OS), Windows_NT)
   SUBDIRS:=$(filter-out ./load_balancer/ ./netcat/ ./raspberry_pi_mjpeg_led/ ./captive_dns_server/, $(SUBDIRS))
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.X/Makefile b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..fca8e2ccd1ea7fad28edee1341799410c330132e
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/Makefile
@@ -0,0 +1,113 @@
+#
+#  There exist several targets which are by default empty and which can be 
+#  used for execution of your targets. These targets are usually executed 
+#  before and after some main targets. They are: 
+#
+#     .build-pre:              called before 'build' target
+#     .build-post:             called after 'build' target
+#     .clean-pre:              called before 'clean' target
+#     .clean-post:             called after 'clean' target
+#     .clobber-pre:            called before 'clobber' target
+#     .clobber-post:           called after 'clobber' target
+#     .all-pre:                called before 'all' target
+#     .all-post:               called after 'all' target
+#     .help-pre:               called before 'help' target
+#     .help-post:              called after 'help' target
+#
+#  Targets beginning with '.' are not intended to be called on their own.
+#
+#  Main targets can be executed directly, and they are:
+#  
+#     build                    build a specific configuration
+#     clean                    remove built files from a configuration
+#     clobber                  remove all built files
+#     all                      build all configurations
+#     help                     print help mesage
+#  
+#  Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
+#  .help-impl are implemented in nbproject/makefile-impl.mk.
+#
+#  Available make variables:
+#
+#     CND_BASEDIR                base directory for relative paths
+#     CND_DISTDIR                default top distribution directory (build artifacts)
+#     CND_BUILDDIR               default top build directory (object files, ...)
+#     CONF                       name of current configuration
+#     CND_ARTIFACT_DIR_${CONF}   directory of build artifact (current configuration)
+#     CND_ARTIFACT_NAME_${CONF}  name of build artifact (current configuration)
+#     CND_ARTIFACT_PATH_${CONF}  path to build artifact (current configuration)
+#     CND_PACKAGE_DIR_${CONF}    directory of package (current configuration)
+#     CND_PACKAGE_NAME_${CONF}   name of package (current configuration)
+#     CND_PACKAGE_PATH_${CONF}   path to package (current configuration)
+#
+# NOCDDL
+
+
+# Environment 
+MKDIR=mkdir
+CP=cp
+CCADMIN=CCadmin
+RANLIB=ranlib
+
+
+# build
+build: .build-post
+
+.build-pre:
+# Add your pre 'build' code here...
+
+.build-post: .build-impl
+# Add your post 'build' code here...
+
+
+# clean
+clean: .clean-post
+
+.clean-pre:
+# Add your pre 'clean' code here...
+# WARNING: the IDE does not call this target since it takes a long time to
+# simply run make. Instead, the IDE removes the configuration directories
+# under build and dist directly without calling make.
+# This target is left here so people can do a clean when running a clean
+# outside the IDE.
+
+.clean-post: .clean-impl
+# Add your post 'clean' code here...
+
+
+# clobber
+clobber: .clobber-post
+
+.clobber-pre:
+# Add your pre 'clobber' code here...
+
+.clobber-post: .clobber-impl
+# Add your post 'clobber' code here...
+
+
+# all
+all: .all-post
+
+.all-pre:
+# Add your pre 'all' code here...
+
+.all-post: .all-impl
+# Add your post 'all' code here...
+
+
+# help
+help: .help-post
+
+.help-pre:
+# Add your pre 'help' code here...
+
+.help-post: .help-impl
+# Add your post 'help' code here...
+
+
+
+# include project implementation makefile
+include nbproject/Makefile-impl.mk
+
+# include project make variables
+include nbproject/Makefile-variables.mk
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-genesis.properties b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-genesis.properties
new file mode 100644
index 0000000000000000000000000000000000000000..0d27c4247db4ad7addd38fe1f1d48701897110d0
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-genesis.properties
@@ -0,0 +1,9 @@
+#
+#Fri Sep 30 14:33:25 EEST 2016
+mx795_CC3100_e16.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=7787462309de955deefcc6f5508f88a9
+mx795_CC3100_e16.languagetoolchain.version=1.42
+configurations-xml=57b90aa5c34b820a6cb86bde88422e21
+com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=02b44c60b7ea0aab28d65f169487b894
+host.platform=linux
+conf.ids=mx795_CC3100_e16
+mx795_CC3100_e16.languagetoolchain.dir=/opt/microchip/xc32/v1.42/bin
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-impl.mk b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-impl.mk
new file mode 100644
index 0000000000000000000000000000000000000000..a45555fa0314b6bc7647a0770b3cdd5a66b96ded
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-impl.mk
@@ -0,0 +1,69 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a pre- and a post- target defined where you can add customization code.
+#
+# This makefile implements macros and targets common to all configurations.
+#
+# NOCDDL
+
+
+# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
+# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
+# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
+# and .clean-reqprojects-conf unless SUB has the value 'no'
+SUB_no=NO
+SUBPROJECTS=${SUB_${SUB}}
+BUILD_SUBPROJECTS_=.build-subprojects
+BUILD_SUBPROJECTS_NO=
+BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
+CLEAN_SUBPROJECTS_=.clean-subprojects
+CLEAN_SUBPROJECTS_NO=
+CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
+
+
+# Project Name
+PROJECTNAME=mqtt_client.X
+
+# Active Configuration
+DEFAULTCONF=mx795_CC3100_e16
+CONF=${DEFAULTCONF}
+
+# All Configurations
+ALLCONFS=mx795_CC3100_e16 
+
+
+# build
+.build-impl: .build-pre
+	${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf
+
+
+# clean
+.clean-impl: .clean-pre
+	${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf
+
+# clobber
+.clobber-impl: .clobber-pre .depcheck-impl
+	    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=mx795_CC3100_e16 clean
+
+
+
+# all
+.all-impl: .all-pre .depcheck-impl
+	    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=mx795_CC3100_e16 build
+
+
+
+# dependency checking support
+.depcheck-impl:
+#	@echo "# This code depends on make tool being used" >.dep.inc
+#	@if [ -n "${MAKE_VERSION}" ]; then \
+#	    echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
+#	    echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
+#	    echo "include \$${DEPFILES}" >>.dep.inc; \
+#	    echo "endif" >>.dep.inc; \
+#	else \
+#	    echo ".KEEP_STATE:" >>.dep.inc; \
+#	    echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
+#	fi
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-local-mx795_CC3100_e16.mk b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-local-mx795_CC3100_e16.mk
new file mode 100644
index 0000000000000000000000000000000000000000..5e5a42094f2cb273ffc431b38df6e04eba8f96ed
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-local-mx795_CC3100_e16.mk
@@ -0,0 +1,36 @@
+#
+# Generated Makefile - do not edit!
+#
+#
+# This file contains information about the location of compilers and other tools.
+# If you commmit this file into your revision control server, you will be able to 
+# to checkout the project and build it from the command line with make. However,
+# if more than one person works on the same project, then this file might show
+# conflicts since different users are bound to have compilers in different places.
+# In that case you might choose to not commit this file and let MPLAB X recreate this file
+# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at
+# least once so the file gets created and the project can be built. Finally, you can also
+# avoid using this file at all if you are only building from the command line with make.
+# You can invoke make with the values of the macros:
+# $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ...  
+#
+PATH_TO_IDE_BIN=/opt/microchip/mplabx/v3.40/mplab_ide/platform/../mplab_ide/modules/../../bin/
+# Adding MPLAB X bin directory to path.
+PATH:=/opt/microchip/mplabx/v3.40/mplab_ide/platform/../mplab_ide/modules/../../bin/:$(PATH)
+# Path to java used to run MPLAB X when this makefile was created
+MP_JAVA_PATH="/opt/microchip/mplabx/v3.40/sys/java/jre1.8.0_91/bin/"
+OS_CURRENT="$(shell uname -s)"
+MP_CC="/opt/microchip/xc32/v1.42/bin/xc32-gcc"
+MP_CPPC="/opt/microchip/xc32/v1.42/bin/xc32-g++"
+# MP_BC is not defined
+MP_AS="/opt/microchip/xc32/v1.42/bin/xc32-as"
+MP_LD="/opt/microchip/xc32/v1.42/bin/xc32-ld"
+MP_AR="/opt/microchip/xc32/v1.42/bin/xc32-ar"
+DEP_GEN=${MP_JAVA_PATH}java -jar "/opt/microchip/mplabx/v3.40/mplab_ide/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar"
+MP_CC_DIR="/opt/microchip/xc32/v1.42/bin"
+MP_CPPC_DIR="/opt/microchip/xc32/v1.42/bin"
+# MP_BC_DIR is not defined
+MP_AS_DIR="/opt/microchip/xc32/v1.42/bin"
+MP_LD_DIR="/opt/microchip/xc32/v1.42/bin"
+MP_AR_DIR="/opt/microchip/xc32/v1.42/bin"
+# MP_BC_DIR is not defined
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-mx795_CC3100_e16.mk b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-mx795_CC3100_e16.mk
new file mode 100644
index 0000000000000000000000000000000000000000..69c49247e4971399b6934c68415de973b8c54ee3
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-mx795_CC3100_e16.mk
@@ -0,0 +1,529 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a -pre and a -post target defined where you can add customized code.
+#
+# This makefile implements configuration specific macros and targets.
+
+
+# Include project Makefile
+ifeq "${IGNORE_LOCAL}" "TRUE"
+# do not include local makefile. User is passing all local related variables already
+else
+include Makefile
+# Include makefile containing local settings
+ifeq "$(wildcard nbproject/Makefile-local-mx795_CC3100_e16.mk)" "nbproject/Makefile-local-mx795_CC3100_e16.mk"
+include nbproject/Makefile-local-mx795_CC3100_e16.mk
+endif
+endif
+
+# Environment
+MKDIR=mkdir -p
+RM=rm -f 
+MV=mv 
+CP=cp 
+
+# Macros
+CND_CONF=mx795_CC3100_e16
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+IMAGE_TYPE=debug
+OUTPUT_SUFFIX=elf
+DEBUGGABLE_SUFFIX=elf
+FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/mqtt_client.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+else
+IMAGE_TYPE=production
+OUTPUT_SUFFIX=hex
+DEBUGGABLE_SUFFIX=elf
+FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/mqtt_client.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+endif
+
+ifeq ($(COMPARE_BUILD), true)
+COMPARISON_BUILD=-mafrlcsj
+else
+COMPARISON_BUILD=
+endif
+
+# Object Directory
+OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
+
+# Distribution Directory
+DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
+
+# Source Files Quoted if spaced
+SOURCEFILES_QUOTED_IF_SPACED=../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netcfg.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/device.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/driver.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/fs.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/wlan.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/socket.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netapp.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/nonos.c ../src/system_config/mx795_CC3100_e16/framework/driver/rtcc/src/drv_rtcc_static.c ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static.c ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_mapping.c ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_tasks.c ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.c ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_rm_tasks.c ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_mapping.c ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static.c ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_byte_model.c ../src/system_config/mx795_CC3100_e16/framework/system/clk/src/sys_clk_static.c ../src/system_config/mx795_CC3100_e16/framework/system/console/src/sys_console_static.c ../src/system_config/mx795_CC3100_e16/framework/system/ports/src/sys_ports_static.c ../src/system_config/mx795_CC3100_e16/system_init.c ../src/system_config/mx795_CC3100_e16/system_interrupt.c ../src/system_config/mx795_CC3100_e16/system_exceptions.c ../src/system_config/mx795_CC3100_e16/system_tasks.c ../src/app.c ../src/main.c ../src/cc3100_port.c ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/debug/src/sys_debug.c ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon.c ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon_pic32mx.c ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/int/src/sys_int_pic32.c ../../../../../mongoose.c
+
+# Object Files Quoted if spaced
+OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/1831220292/netcfg.o ${OBJECTDIR}/_ext/1831220292/device.o ${OBJECTDIR}/_ext/1831220292/driver.o ${OBJECTDIR}/_ext/1831220292/fs.o ${OBJECTDIR}/_ext/1831220292/wlan.o ${OBJECTDIR}/_ext/1831220292/socket.o ${OBJECTDIR}/_ext/1831220292/netapp.o ${OBJECTDIR}/_ext/1831220292/nonos.o ${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o ${OBJECTDIR}/_ext/1474605348/drv_spi_static.o ${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o ${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o ${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o ${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o ${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o ${OBJECTDIR}/_ext/453830916/drv_usart_static.o ${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o ${OBJECTDIR}/_ext/1456866848/sys_clk_static.o ${OBJECTDIR}/_ext/1510159531/sys_console_static.o ${OBJECTDIR}/_ext/1602879792/sys_ports_static.o ${OBJECTDIR}/_ext/1396533431/system_init.o ${OBJECTDIR}/_ext/1396533431/system_interrupt.o ${OBJECTDIR}/_ext/1396533431/system_exceptions.o ${OBJECTDIR}/_ext/1396533431/system_tasks.o ${OBJECTDIR}/_ext/1360937237/app.o ${OBJECTDIR}/_ext/1360937237/main.o ${OBJECTDIR}/_ext/1360937237/cc3100_port.o ${OBJECTDIR}/_ext/1952159421/sys_debug.o ${OBJECTDIR}/_ext/1921105363/sys_devcon.o ${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o ${OBJECTDIR}/_ext/993332121/sys_int_pic32.o ${OBJECTDIR}/_ext/948168960/mongoose.o
+POSSIBLE_DEPFILES=${OBJECTDIR}/_ext/1831220292/netcfg.o.d ${OBJECTDIR}/_ext/1831220292/device.o.d ${OBJECTDIR}/_ext/1831220292/driver.o.d ${OBJECTDIR}/_ext/1831220292/fs.o.d ${OBJECTDIR}/_ext/1831220292/wlan.o.d ${OBJECTDIR}/_ext/1831220292/socket.o.d ${OBJECTDIR}/_ext/1831220292/netapp.o.d ${OBJECTDIR}/_ext/1831220292/nonos.o.d ${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o.d ${OBJECTDIR}/_ext/1474605348/drv_spi_static.o.d ${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o.d ${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o.d ${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o.d ${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o.d ${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o.d ${OBJECTDIR}/_ext/453830916/drv_usart_static.o.d ${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o.d ${OBJECTDIR}/_ext/1456866848/sys_clk_static.o.d ${OBJECTDIR}/_ext/1510159531/sys_console_static.o.d ${OBJECTDIR}/_ext/1602879792/sys_ports_static.o.d ${OBJECTDIR}/_ext/1396533431/system_init.o.d ${OBJECTDIR}/_ext/1396533431/system_interrupt.o.d ${OBJECTDIR}/_ext/1396533431/system_exceptions.o.d ${OBJECTDIR}/_ext/1396533431/system_tasks.o.d ${OBJECTDIR}/_ext/1360937237/app.o.d ${OBJECTDIR}/_ext/1360937237/main.o.d ${OBJECTDIR}/_ext/1360937237/cc3100_port.o.d ${OBJECTDIR}/_ext/1952159421/sys_debug.o.d ${OBJECTDIR}/_ext/1921105363/sys_devcon.o.d ${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o.d ${OBJECTDIR}/_ext/993332121/sys_int_pic32.o.d ${OBJECTDIR}/_ext/948168960/mongoose.o.d
+
+# Object Files
+OBJECTFILES=${OBJECTDIR}/_ext/1831220292/netcfg.o ${OBJECTDIR}/_ext/1831220292/device.o ${OBJECTDIR}/_ext/1831220292/driver.o ${OBJECTDIR}/_ext/1831220292/fs.o ${OBJECTDIR}/_ext/1831220292/wlan.o ${OBJECTDIR}/_ext/1831220292/socket.o ${OBJECTDIR}/_ext/1831220292/netapp.o ${OBJECTDIR}/_ext/1831220292/nonos.o ${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o ${OBJECTDIR}/_ext/1474605348/drv_spi_static.o ${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o ${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o ${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o ${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o ${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o ${OBJECTDIR}/_ext/453830916/drv_usart_static.o ${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o ${OBJECTDIR}/_ext/1456866848/sys_clk_static.o ${OBJECTDIR}/_ext/1510159531/sys_console_static.o ${OBJECTDIR}/_ext/1602879792/sys_ports_static.o ${OBJECTDIR}/_ext/1396533431/system_init.o ${OBJECTDIR}/_ext/1396533431/system_interrupt.o ${OBJECTDIR}/_ext/1396533431/system_exceptions.o ${OBJECTDIR}/_ext/1396533431/system_tasks.o ${OBJECTDIR}/_ext/1360937237/app.o ${OBJECTDIR}/_ext/1360937237/main.o ${OBJECTDIR}/_ext/1360937237/cc3100_port.o ${OBJECTDIR}/_ext/1952159421/sys_debug.o ${OBJECTDIR}/_ext/1921105363/sys_devcon.o ${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o ${OBJECTDIR}/_ext/993332121/sys_int_pic32.o ${OBJECTDIR}/_ext/948168960/mongoose.o
+
+# Source Files
+SOURCEFILES=../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netcfg.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/device.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/driver.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/fs.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/wlan.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/socket.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netapp.c ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/nonos.c ../src/system_config/mx795_CC3100_e16/framework/driver/rtcc/src/drv_rtcc_static.c ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static.c ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_mapping.c ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_tasks.c ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.c ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_rm_tasks.c ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_mapping.c ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static.c ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_byte_model.c ../src/system_config/mx795_CC3100_e16/framework/system/clk/src/sys_clk_static.c ../src/system_config/mx795_CC3100_e16/framework/system/console/src/sys_console_static.c ../src/system_config/mx795_CC3100_e16/framework/system/ports/src/sys_ports_static.c ../src/system_config/mx795_CC3100_e16/system_init.c ../src/system_config/mx795_CC3100_e16/system_interrupt.c ../src/system_config/mx795_CC3100_e16/system_exceptions.c ../src/system_config/mx795_CC3100_e16/system_tasks.c ../src/app.c ../src/main.c ../src/cc3100_port.c ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/debug/src/sys_debug.c ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon.c ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon_pic32mx.c ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/int/src/sys_int_pic32.c ../../../../../mongoose.c
+
+
+CFLAGS=
+ASFLAGS=
+LDLIBSOPTIONS=
+
+############# Tool locations ##########################################
+# If you copy a project from one host to another, the path where the  #
+# compiler is installed may be different.                             #
+# If you open this project with MPLAB X in the new host, this         #
+# makefile will be regenerated and the paths will be corrected.       #
+#######################################################################
+# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build
+FIXDEPS=fixDeps
+
+.build-conf:  ${BUILD_SUBPROJECTS}
+ifneq ($(INFORMATION_MESSAGE), )
+	@echo $(INFORMATION_MESSAGE)
+endif
+	${MAKE}  -f nbproject/Makefile-mx795_CC3100_e16.mk dist/${CND_CONF}/${IMAGE_TYPE}/mqtt_client.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+
+MP_PROCESSOR_OPTION=32MX795F512L
+MP_LINKER_FILE_OPTION=
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: assemble
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+else
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: assembleWithPreprocess
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+else
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: compile
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+${OBJECTDIR}/_ext/1831220292/netcfg.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netcfg.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/netcfg.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/netcfg.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/netcfg.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/netcfg.o.d" -o ${OBJECTDIR}/_ext/1831220292/netcfg.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netcfg.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/device.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/device.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/device.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/device.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/device.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/device.o.d" -o ${OBJECTDIR}/_ext/1831220292/device.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/device.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/driver.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/driver.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/driver.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/driver.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/driver.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/driver.o.d" -o ${OBJECTDIR}/_ext/1831220292/driver.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/driver.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/fs.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/fs.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/fs.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/fs.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/fs.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/fs.o.d" -o ${OBJECTDIR}/_ext/1831220292/fs.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/fs.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/wlan.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/wlan.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/wlan.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/wlan.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/wlan.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/wlan.o.d" -o ${OBJECTDIR}/_ext/1831220292/wlan.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/wlan.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/socket.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/socket.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/socket.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/socket.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/socket.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/socket.o.d" -o ${OBJECTDIR}/_ext/1831220292/socket.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/socket.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/netapp.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netapp.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/netapp.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/netapp.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/netapp.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/netapp.o.d" -o ${OBJECTDIR}/_ext/1831220292/netapp.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netapp.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/nonos.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/nonos.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/nonos.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/nonos.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/nonos.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/nonos.o.d" -o ${OBJECTDIR}/_ext/1831220292/nonos.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/nonos.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o: ../src/system_config/mx795_CC3100_e16/framework/driver/rtcc/src/drv_rtcc_static.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1227741461" 
+	@${RM} ${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o.d" -o ${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o ../src/system_config/mx795_CC3100_e16/framework/driver/rtcc/src/drv_rtcc_static.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1474605348/drv_spi_static.o: ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1474605348" 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1474605348/drv_spi_static.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1474605348/drv_spi_static.o.d" -o ${OBJECTDIR}/_ext/1474605348/drv_spi_static.o ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o: ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_mapping.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1474605348" 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o.d" -o ${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_mapping.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o: ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_tasks.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1474605348" 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o.d" -o ${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_tasks.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o: ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1474605348" 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o.d" -o ${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o: ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_rm_tasks.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1474605348" 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o.d" -o ${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_rm_tasks.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o: ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_mapping.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/453830916" 
+	@${RM} ${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o.d 
+	@${RM} ${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o.d" -o ${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_mapping.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/453830916/drv_usart_static.o: ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/453830916" 
+	@${RM} ${OBJECTDIR}/_ext/453830916/drv_usart_static.o.d 
+	@${RM} ${OBJECTDIR}/_ext/453830916/drv_usart_static.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/453830916/drv_usart_static.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/453830916/drv_usart_static.o.d" -o ${OBJECTDIR}/_ext/453830916/drv_usart_static.o ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o: ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_byte_model.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/453830916" 
+	@${RM} ${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o.d 
+	@${RM} ${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o.d" -o ${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_byte_model.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1456866848/sys_clk_static.o: ../src/system_config/mx795_CC3100_e16/framework/system/clk/src/sys_clk_static.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1456866848" 
+	@${RM} ${OBJECTDIR}/_ext/1456866848/sys_clk_static.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1456866848/sys_clk_static.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1456866848/sys_clk_static.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1456866848/sys_clk_static.o.d" -o ${OBJECTDIR}/_ext/1456866848/sys_clk_static.o ../src/system_config/mx795_CC3100_e16/framework/system/clk/src/sys_clk_static.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1510159531/sys_console_static.o: ../src/system_config/mx795_CC3100_e16/framework/system/console/src/sys_console_static.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1510159531" 
+	@${RM} ${OBJECTDIR}/_ext/1510159531/sys_console_static.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1510159531/sys_console_static.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1510159531/sys_console_static.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1510159531/sys_console_static.o.d" -o ${OBJECTDIR}/_ext/1510159531/sys_console_static.o ../src/system_config/mx795_CC3100_e16/framework/system/console/src/sys_console_static.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1602879792/sys_ports_static.o: ../src/system_config/mx795_CC3100_e16/framework/system/ports/src/sys_ports_static.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1602879792" 
+	@${RM} ${OBJECTDIR}/_ext/1602879792/sys_ports_static.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1602879792/sys_ports_static.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1602879792/sys_ports_static.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1602879792/sys_ports_static.o.d" -o ${OBJECTDIR}/_ext/1602879792/sys_ports_static.o ../src/system_config/mx795_CC3100_e16/framework/system/ports/src/sys_ports_static.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1396533431/system_init.o: ../src/system_config/mx795_CC3100_e16/system_init.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1396533431" 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_init.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_init.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1396533431/system_init.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1396533431/system_init.o.d" -o ${OBJECTDIR}/_ext/1396533431/system_init.o ../src/system_config/mx795_CC3100_e16/system_init.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1396533431/system_interrupt.o: ../src/system_config/mx795_CC3100_e16/system_interrupt.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1396533431" 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_interrupt.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_interrupt.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1396533431/system_interrupt.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1396533431/system_interrupt.o.d" -o ${OBJECTDIR}/_ext/1396533431/system_interrupt.o ../src/system_config/mx795_CC3100_e16/system_interrupt.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1396533431/system_exceptions.o: ../src/system_config/mx795_CC3100_e16/system_exceptions.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1396533431" 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_exceptions.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_exceptions.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1396533431/system_exceptions.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1396533431/system_exceptions.o.d" -o ${OBJECTDIR}/_ext/1396533431/system_exceptions.o ../src/system_config/mx795_CC3100_e16/system_exceptions.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1396533431/system_tasks.o: ../src/system_config/mx795_CC3100_e16/system_tasks.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1396533431" 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_tasks.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_tasks.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1396533431/system_tasks.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1396533431/system_tasks.o.d" -o ${OBJECTDIR}/_ext/1396533431/system_tasks.o ../src/system_config/mx795_CC3100_e16/system_tasks.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1360937237/app.o: ../src/app.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1360937237" 
+	@${RM} ${OBJECTDIR}/_ext/1360937237/app.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1360937237/app.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1360937237/app.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1360937237/app.o.d" -o ${OBJECTDIR}/_ext/1360937237/app.o ../src/app.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1360937237/main.o: ../src/main.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1360937237" 
+	@${RM} ${OBJECTDIR}/_ext/1360937237/main.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1360937237/main.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1360937237/main.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1360937237/main.o.d" -o ${OBJECTDIR}/_ext/1360937237/main.o ../src/main.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1360937237/cc3100_port.o: ../src/cc3100_port.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1360937237" 
+	@${RM} ${OBJECTDIR}/_ext/1360937237/cc3100_port.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1360937237/cc3100_port.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1360937237/cc3100_port.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1360937237/cc3100_port.o.d" -o ${OBJECTDIR}/_ext/1360937237/cc3100_port.o ../src/cc3100_port.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1952159421/sys_debug.o: ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/debug/src/sys_debug.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1952159421" 
+	@${RM} ${OBJECTDIR}/_ext/1952159421/sys_debug.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1952159421/sys_debug.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1952159421/sys_debug.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1952159421/sys_debug.o.d" -o ${OBJECTDIR}/_ext/1952159421/sys_debug.o ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/debug/src/sys_debug.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1921105363/sys_devcon.o: ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1921105363" 
+	@${RM} ${OBJECTDIR}/_ext/1921105363/sys_devcon.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1921105363/sys_devcon.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1921105363/sys_devcon.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1921105363/sys_devcon.o.d" -o ${OBJECTDIR}/_ext/1921105363/sys_devcon.o ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o: ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon_pic32mx.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1921105363" 
+	@${RM} ${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o.d" -o ${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon_pic32mx.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/993332121/sys_int_pic32.o: ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/int/src/sys_int_pic32.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/993332121" 
+	@${RM} ${OBJECTDIR}/_ext/993332121/sys_int_pic32.o.d 
+	@${RM} ${OBJECTDIR}/_ext/993332121/sys_int_pic32.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/993332121/sys_int_pic32.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/993332121/sys_int_pic32.o.d" -o ${OBJECTDIR}/_ext/993332121/sys_int_pic32.o ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/int/src/sys_int_pic32.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/948168960/mongoose.o: ../../../../../mongoose.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/948168960" 
+	@${RM} ${OBJECTDIR}/_ext/948168960/mongoose.o.d 
+	@${RM} ${OBJECTDIR}/_ext/948168960/mongoose.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/948168960/mongoose.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/948168960/mongoose.o.d" -o ${OBJECTDIR}/_ext/948168960/mongoose.o ../../../../../mongoose.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+else
+${OBJECTDIR}/_ext/1831220292/netcfg.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netcfg.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/netcfg.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/netcfg.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/netcfg.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/netcfg.o.d" -o ${OBJECTDIR}/_ext/1831220292/netcfg.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netcfg.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/device.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/device.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/device.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/device.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/device.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/device.o.d" -o ${OBJECTDIR}/_ext/1831220292/device.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/device.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/driver.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/driver.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/driver.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/driver.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/driver.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/driver.o.d" -o ${OBJECTDIR}/_ext/1831220292/driver.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/driver.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/fs.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/fs.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/fs.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/fs.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/fs.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/fs.o.d" -o ${OBJECTDIR}/_ext/1831220292/fs.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/fs.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/wlan.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/wlan.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/wlan.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/wlan.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/wlan.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/wlan.o.d" -o ${OBJECTDIR}/_ext/1831220292/wlan.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/wlan.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/socket.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/socket.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/socket.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/socket.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/socket.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/socket.o.d" -o ${OBJECTDIR}/_ext/1831220292/socket.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/socket.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/netapp.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netapp.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/netapp.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/netapp.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/netapp.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/netapp.o.d" -o ${OBJECTDIR}/_ext/1831220292/netapp.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netapp.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1831220292/nonos.o: ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/nonos.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1831220292" 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/nonos.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1831220292/nonos.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1831220292/nonos.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1831220292/nonos.o.d" -o ${OBJECTDIR}/_ext/1831220292/nonos.o ../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/nonos.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o: ../src/system_config/mx795_CC3100_e16/framework/driver/rtcc/src/drv_rtcc_static.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1227741461" 
+	@${RM} ${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o.d" -o ${OBJECTDIR}/_ext/1227741461/drv_rtcc_static.o ../src/system_config/mx795_CC3100_e16/framework/driver/rtcc/src/drv_rtcc_static.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1474605348/drv_spi_static.o: ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1474605348" 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1474605348/drv_spi_static.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1474605348/drv_spi_static.o.d" -o ${OBJECTDIR}/_ext/1474605348/drv_spi_static.o ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o: ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_mapping.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1474605348" 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o.d" -o ${OBJECTDIR}/_ext/1474605348/drv_spi_mapping.o ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_mapping.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o: ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_tasks.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1474605348" 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o.d" -o ${OBJECTDIR}/_ext/1474605348/drv_spi_static_tasks.o ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_tasks.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o: ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1474605348" 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o.d" -o ${OBJECTDIR}/_ext/1474605348/drv_spi_static_sys_queue.o ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o: ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_rm_tasks.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1474605348" 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o.d" -o ${OBJECTDIR}/_ext/1474605348/drv_spi_static_rm_tasks.o ../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_rm_tasks.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o: ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_mapping.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/453830916" 
+	@${RM} ${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o.d 
+	@${RM} ${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o.d" -o ${OBJECTDIR}/_ext/453830916/drv_usart_mapping.o ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_mapping.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/453830916/drv_usart_static.o: ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/453830916" 
+	@${RM} ${OBJECTDIR}/_ext/453830916/drv_usart_static.o.d 
+	@${RM} ${OBJECTDIR}/_ext/453830916/drv_usart_static.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/453830916/drv_usart_static.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/453830916/drv_usart_static.o.d" -o ${OBJECTDIR}/_ext/453830916/drv_usart_static.o ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o: ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_byte_model.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/453830916" 
+	@${RM} ${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o.d 
+	@${RM} ${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o.d" -o ${OBJECTDIR}/_ext/453830916/drv_usart_static_byte_model.o ../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_byte_model.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1456866848/sys_clk_static.o: ../src/system_config/mx795_CC3100_e16/framework/system/clk/src/sys_clk_static.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1456866848" 
+	@${RM} ${OBJECTDIR}/_ext/1456866848/sys_clk_static.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1456866848/sys_clk_static.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1456866848/sys_clk_static.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1456866848/sys_clk_static.o.d" -o ${OBJECTDIR}/_ext/1456866848/sys_clk_static.o ../src/system_config/mx795_CC3100_e16/framework/system/clk/src/sys_clk_static.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1510159531/sys_console_static.o: ../src/system_config/mx795_CC3100_e16/framework/system/console/src/sys_console_static.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1510159531" 
+	@${RM} ${OBJECTDIR}/_ext/1510159531/sys_console_static.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1510159531/sys_console_static.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1510159531/sys_console_static.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1510159531/sys_console_static.o.d" -o ${OBJECTDIR}/_ext/1510159531/sys_console_static.o ../src/system_config/mx795_CC3100_e16/framework/system/console/src/sys_console_static.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1602879792/sys_ports_static.o: ../src/system_config/mx795_CC3100_e16/framework/system/ports/src/sys_ports_static.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1602879792" 
+	@${RM} ${OBJECTDIR}/_ext/1602879792/sys_ports_static.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1602879792/sys_ports_static.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1602879792/sys_ports_static.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1602879792/sys_ports_static.o.d" -o ${OBJECTDIR}/_ext/1602879792/sys_ports_static.o ../src/system_config/mx795_CC3100_e16/framework/system/ports/src/sys_ports_static.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1396533431/system_init.o: ../src/system_config/mx795_CC3100_e16/system_init.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1396533431" 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_init.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_init.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1396533431/system_init.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1396533431/system_init.o.d" -o ${OBJECTDIR}/_ext/1396533431/system_init.o ../src/system_config/mx795_CC3100_e16/system_init.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1396533431/system_interrupt.o: ../src/system_config/mx795_CC3100_e16/system_interrupt.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1396533431" 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_interrupt.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_interrupt.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1396533431/system_interrupt.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1396533431/system_interrupt.o.d" -o ${OBJECTDIR}/_ext/1396533431/system_interrupt.o ../src/system_config/mx795_CC3100_e16/system_interrupt.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1396533431/system_exceptions.o: ../src/system_config/mx795_CC3100_e16/system_exceptions.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1396533431" 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_exceptions.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_exceptions.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1396533431/system_exceptions.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1396533431/system_exceptions.o.d" -o ${OBJECTDIR}/_ext/1396533431/system_exceptions.o ../src/system_config/mx795_CC3100_e16/system_exceptions.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1396533431/system_tasks.o: ../src/system_config/mx795_CC3100_e16/system_tasks.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1396533431" 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_tasks.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1396533431/system_tasks.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1396533431/system_tasks.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1396533431/system_tasks.o.d" -o ${OBJECTDIR}/_ext/1396533431/system_tasks.o ../src/system_config/mx795_CC3100_e16/system_tasks.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1360937237/app.o: ../src/app.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1360937237" 
+	@${RM} ${OBJECTDIR}/_ext/1360937237/app.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1360937237/app.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1360937237/app.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1360937237/app.o.d" -o ${OBJECTDIR}/_ext/1360937237/app.o ../src/app.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1360937237/main.o: ../src/main.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1360937237" 
+	@${RM} ${OBJECTDIR}/_ext/1360937237/main.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1360937237/main.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1360937237/main.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1360937237/main.o.d" -o ${OBJECTDIR}/_ext/1360937237/main.o ../src/main.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1360937237/cc3100_port.o: ../src/cc3100_port.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1360937237" 
+	@${RM} ${OBJECTDIR}/_ext/1360937237/cc3100_port.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1360937237/cc3100_port.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1360937237/cc3100_port.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1360937237/cc3100_port.o.d" -o ${OBJECTDIR}/_ext/1360937237/cc3100_port.o ../src/cc3100_port.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1952159421/sys_debug.o: ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/debug/src/sys_debug.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1952159421" 
+	@${RM} ${OBJECTDIR}/_ext/1952159421/sys_debug.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1952159421/sys_debug.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1952159421/sys_debug.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1952159421/sys_debug.o.d" -o ${OBJECTDIR}/_ext/1952159421/sys_debug.o ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/debug/src/sys_debug.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1921105363/sys_devcon.o: ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1921105363" 
+	@${RM} ${OBJECTDIR}/_ext/1921105363/sys_devcon.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1921105363/sys_devcon.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1921105363/sys_devcon.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1921105363/sys_devcon.o.d" -o ${OBJECTDIR}/_ext/1921105363/sys_devcon.o ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o: ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon_pic32mx.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1921105363" 
+	@${RM} ${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o.d" -o ${OBJECTDIR}/_ext/1921105363/sys_devcon_pic32mx.o ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon_pic32mx.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/993332121/sys_int_pic32.o: ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/int/src/sys_int_pic32.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/993332121" 
+	@${RM} ${OBJECTDIR}/_ext/993332121/sys_int_pic32.o.d 
+	@${RM} ${OBJECTDIR}/_ext/993332121/sys_int_pic32.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/993332121/sys_int_pic32.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/993332121/sys_int_pic32.o.d" -o ${OBJECTDIR}/_ext/993332121/sys_int_pic32.o ../../../../../../../../../microchip/harmony/v1_08_01/framework/system/int/src/sys_int_pic32.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+${OBJECTDIR}/_ext/948168960/mongoose.o: ../../../../../mongoose.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/948168960" 
+	@${RM} ${OBJECTDIR}/_ext/948168960/mongoose.o.d 
+	@${RM} ${OBJECTDIR}/_ext/948168960/mongoose.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/948168960/mongoose.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include" -ffunction-sections -O1 -I"../src" -I"../src/system_config/mx795_CC3100_e16" -I"../src/mx795_CC3100_e16" -I"../../../../framework" -I"../src/system_config/mx795_CC3100_e16/framework" -I"../../../../../../../../../microchip/harmony/v1_08_01/framework" -MMD -MF "${OBJECTDIR}/_ext/948168960/mongoose.o.d" -o ${OBJECTDIR}/_ext/948168960/mongoose.o ../../../../../mongoose.c    -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI
+	
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: compileCPP
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+else
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: link
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+dist/${CND_CONF}/${IMAGE_TYPE}/mqtt_client.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk  ../../../../../../../../../microchip/harmony/v1_08_01/bin/framework/peripheral/PIC32MX795F512L_peripherals.a ../../../../../../../../../microchip/harmony/v1_08_01/framework/tcpip/src/crypto/aes_pic32mx.a  
+	@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 
+	${MP_CC} $(MP_EXTRA_LD_PRE)  -mdebugger -D__MPLAB_DEBUGGER_PK3=1 -mprocessor=$(MP_PROCESSOR_OPTION)  -o dist/${CND_CONF}/${IMAGE_TYPE}/mqtt_client.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED}    ../../../../../../../../../microchip/harmony/v1_08_01/bin/framework/peripheral/PIC32MX795F512L_peripherals.a ../../../../../../../../../microchip/harmony/v1_08_01/framework/tcpip/src/crypto/aes_pic32mx.a      -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI $(COMPARISON_BUILD)    -mreserve=boot@0x1FC02000:0x1FC02FEF -mreserve=boot@0x1FC02000:0x1FC024FF  -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_PK3=1,--defsym=_min_heap_size=2048,--gc-sections,--no-code-in-dinit,--no-dinit-in-serial-mem,-Map="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map",--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml
+	
+else
+dist/${CND_CONF}/${IMAGE_TYPE}/mqtt_client.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk  ../../../../../../../../../microchip/harmony/v1_08_01/bin/framework/peripheral/PIC32MX795F512L_peripherals.a ../../../../../../../../../microchip/harmony/v1_08_01/framework/tcpip/src/crypto/aes_pic32mx.a 
+	@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 
+	${MP_CC} $(MP_EXTRA_LD_PRE)  -mprocessor=$(MP_PROCESSOR_OPTION)  -o dist/${CND_CONF}/${IMAGE_TYPE}/mqtt_client.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED}    ../../../../../../../../../microchip/harmony/v1_08_01/bin/framework/peripheral/PIC32MX795F512L_peripherals.a ../../../../../../../../../microchip/harmony/v1_08_01/framework/tcpip/src/crypto/aes_pic32mx.a      -DXPRJ_mx795_CC3100_e16=$(CND_CONF)  -no-legacy-libc  -DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI $(COMPARISON_BUILD)  -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--defsym=_min_heap_size=2048,--gc-sections,--no-code-in-dinit,--no-dinit-in-serial-mem,-Map="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map",--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml
+	${MP_CC_DIR}/xc32-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/mqtt_client.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} 
+endif
+
+
+# Subprojects
+.build-subprojects:
+
+
+# Subprojects
+.clean-subprojects:
+
+# Clean Targets
+.clean-conf: ${CLEAN_SUBPROJECTS}
+	${RM} -r build/mx795_CC3100_e16
+	${RM} -r dist/mx795_CC3100_e16
+
+# Enable dependency checking
+.dep.inc: .depcheck-impl
+
+DEPFILES=$(shell "${PATH_TO_IDE_BIN}"mplabwildcard ${POSSIBLE_DEPFILES})
+ifneq (${DEPFILES},)
+include ${DEPFILES}
+endif
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-variables.mk b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-variables.mk
new file mode 100644
index 0000000000000000000000000000000000000000..45a8fb3a0f7433a1c630b257e2396ab76ec2f643
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Makefile-variables.mk
@@ -0,0 +1,13 @@
+#
+# Generated - do not edit!
+#
+# NOCDDL
+#
+CND_BASEDIR=`pwd`
+# mx795_CC3100_e16 configuration
+CND_ARTIFACT_DIR_mx795_CC3100_e16=dist/mx795_CC3100_e16/production
+CND_ARTIFACT_NAME_mx795_CC3100_e16=mqtt_client.X.production.hex
+CND_ARTIFACT_PATH_mx795_CC3100_e16=dist/mx795_CC3100_e16/production/mqtt_client.X.production.hex
+CND_PACKAGE_DIR_mx795_CC3100_e16=${CND_DISTDIR}/mx795_CC3100_e16/package
+CND_PACKAGE_NAME_mx795_CC3100_e16=mqttclient.x.tar
+CND_PACKAGE_PATH_mx795_CC3100_e16=${CND_DISTDIR}/mx795_CC3100_e16/package/mqttclient.x.tar
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Package-mx795_CC3100_e16.bash b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Package-mx795_CC3100_e16.bash
new file mode 100644
index 0000000000000000000000000000000000000000..62b5f7e484247ea292a0309546eb8466393e4603
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/Package-mx795_CC3100_e16.bash
@@ -0,0 +1,73 @@
+#!/bin/bash -x
+
+#
+# Generated - do not edit!
+#
+
+# Macros
+TOP=`pwd`
+CND_CONF=mx795_CC3100_e16
+CND_DISTDIR=dist
+TMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging
+TMPDIRNAME=tmp-packaging
+OUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/mqtt_client.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+OUTPUT_BASENAME=mqtt_client.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+PACKAGE_TOP_DIR=mqttclient.x/
+
+# Functions
+function checkReturnCode
+{
+    rc=$?
+    if [ $rc != 0 ]
+    then
+        exit $rc
+    fi
+}
+function makeDirectory
+# $1 directory path
+# $2 permission (optional)
+{
+    mkdir -p "$1"
+    checkReturnCode
+    if [ "$2" != "" ]
+    then
+      chmod $2 "$1"
+      checkReturnCode
+    fi
+}
+function copyFileToTmpDir
+# $1 from-file path
+# $2 to-file path
+# $3 permission
+{
+    cp "$1" "$2"
+    checkReturnCode
+    if [ "$3" != "" ]
+    then
+        chmod $3 "$2"
+        checkReturnCode
+    fi
+}
+
+# Setup
+cd "${TOP}"
+mkdir -p ${CND_DISTDIR}/${CND_CONF}/package
+rm -rf ${TMPDIR}
+mkdir -p ${TMPDIR}
+
+# Copy files and create directories and links
+cd "${TOP}"
+makeDirectory ${TMPDIR}/mqttclient.x/bin
+copyFileToTmpDir "${OUTPUT_PATH}" "${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
+
+
+# Generate tar file
+cd "${TOP}"
+rm -f ${CND_DISTDIR}/${CND_CONF}/package/mqttclient.x.tar
+cd ${TMPDIR}
+tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/mqttclient.x.tar *
+checkReturnCode
+
+# Cleanup
+cd "${TOP}"
+rm -rf ${TMPDIR}
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/configurations.xml b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/configurations.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2ddbef55a7c69683a26d9f00c4f19448e670ffb3
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/configurations.xml
@@ -0,0 +1,489 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configurationDescriptor version="62">
+  <logicalFolder name="root" displayName="root" projectFiles="true">
+    <logicalFolder name="HeaderFiles"
+                   displayName="Header Files"
+                   projectFiles="true">
+      <logicalFolder name="f3" displayName="app" projectFiles="true">
+        <logicalFolder name="f1" displayName="system_config" projectFiles="true">
+          <logicalFolder name="f1" displayName="mx795_CC3100_e16" projectFiles="true">
+            <logicalFolder name="f1" displayName="framework" projectFiles="true">
+              <logicalFolder name="f1" displayName="driver" projectFiles="true">
+                <logicalFolder name="f1" displayName="rtcc" projectFiles="true">
+                  <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/rtcc/drv_rtcc_static.h</itemPath>
+                </logicalFolder>
+                <logicalFolder name="f2" displayName="spi" projectFiles="true">
+                  <logicalFolder name="f1" displayName="static" projectFiles="true">
+                    <logicalFolder name="f1" displayName="src" projectFiles="true">
+                      <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_local.h</itemPath>
+                      <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.h</itemPath>
+                    </logicalFolder>
+                    <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/drv_spi_static.h</itemPath>
+                  </logicalFolder>
+                </logicalFolder>
+                <logicalFolder name="f3" displayName="usart" projectFiles="true">
+                  <logicalFolder name="f1" displayName="src" projectFiles="true">
+                    <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_local.h</itemPath>
+                  </logicalFolder>
+                  <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/usart/drv_usart_static.h</itemPath>
+                </logicalFolder>
+              </logicalFolder>
+              <logicalFolder name="f2" displayName="system" projectFiles="true">
+                <logicalFolder name="f1" displayName="clk" projectFiles="true">
+                  <itemPath>../src/system_config/mx795_CC3100_e16/framework/system/clk/sys_clk_static.h</itemPath>
+                </logicalFolder>
+              </logicalFolder>
+            </logicalFolder>
+            <itemPath>../src/system_config/mx795_CC3100_e16/system_config.h</itemPath>
+            <itemPath>../src/system_config/mx795_CC3100_e16/system_definitions.h</itemPath>
+          </logicalFolder>
+        </logicalFolder>
+        <itemPath>../src/app.h</itemPath>
+        <itemPath>../src/user_params.h</itemPath>
+      </logicalFolder>
+      <logicalFolder name="f1" displayName="framework" projectFiles="true">
+        <logicalFolder name="f1" displayName="driver" projectFiles="true">
+          <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/driver/driver.h</itemPath>
+          <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/driver/driver_common.h</itemPath>
+        </logicalFolder>
+        <logicalFolder name="f2" displayName="gfx" projectFiles="true">
+          <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/gfx/gfx_palette.h</itemPath>
+        </logicalFolder>
+        <logicalFolder name="f3" displayName="osal" projectFiles="true">
+          <logicalFolder name="f1" displayName="src" projectFiles="true">
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/osal/src/osal_impl_basic.h</itemPath>
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/osal/src/osal_impl_none.h</itemPath>
+          </logicalFolder>
+          <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/osal/osal.h</itemPath>
+          <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/osal/osal_definitions.h</itemPath>
+        </logicalFolder>
+        <logicalFolder name="f4" displayName="peripheral" projectFiles="true">
+          <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/peripheral/peripheral.h</itemPath>
+          <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/peripheral/peripheral_common.h</itemPath>
+          <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/peripheral/peripheral_common_32bit.h</itemPath>
+        </logicalFolder>
+        <logicalFolder name="f5" displayName="system" projectFiles="true">
+          <logicalFolder name="f1" displayName="clk" projectFiles="true">
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/clk/sys_clk.h</itemPath>
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/clk/sys_clk_mapping.h</itemPath>
+          </logicalFolder>
+          <logicalFolder name="f2" displayName="common" projectFiles="true">
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/common/sys_common.h</itemPath>
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/common/sys_module.h</itemPath>
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/common/sys_buffer.h</itemPath>
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/common/sys_queue.h</itemPath>
+          </logicalFolder>
+          <logicalFolder name="f3" displayName="console" projectFiles="true">
+            <logicalFolder name="f1" displayName="src" projectFiles="true">
+              <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/console/src/sys_console_local.h</itemPath>
+            </logicalFolder>
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/console/sys_console.h</itemPath>
+          </logicalFolder>
+          <logicalFolder name="f4" displayName="debug" projectFiles="true">
+            <logicalFolder name="f1" displayName="src" projectFiles="true">
+              <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/debug/src/sys_debug_local.h</itemPath>
+            </logicalFolder>
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/debug/sys_debug.h</itemPath>
+          </logicalFolder>
+          <logicalFolder name="f5" displayName="devcon" projectFiles="true">
+            <logicalFolder name="f1" displayName="src" projectFiles="true">
+              <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon_local.h</itemPath>
+            </logicalFolder>
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/sys_devcon.h</itemPath>
+          </logicalFolder>
+          <logicalFolder name="f6" displayName="int" projectFiles="true">
+            <logicalFolder name="f1" displayName="src" projectFiles="true">
+              <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/int/src/sys_int_private.h</itemPath>
+            </logicalFolder>
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/int/sys_int.h</itemPath>
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/int/sys_int_mapping.h</itemPath>
+          </logicalFolder>
+          <logicalFolder name="f7" displayName="ports" projectFiles="true">
+            <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/ports/sys_ports.h</itemPath>
+          </logicalFolder>
+          <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/system.h</itemPath>
+        </logicalFolder>
+      </logicalFolder>
+      <itemPath>../src/user.h</itemPath>
+    </logicalFolder>
+    <logicalFolder name="LinkerScript"
+                   displayName="Linker Files"
+                   projectFiles="true">
+    </logicalFolder>
+    <logicalFolder name="f1" displayName="Mongoose" projectFiles="true">
+      <itemPath>../../../../../mongoose.c</itemPath>
+      <itemPath>../../../../../mongoose.h</itemPath>
+    </logicalFolder>
+    <logicalFolder name="simplelink" displayName="simplelink" projectFiles="true">
+      <logicalFolder name="include" displayName="include" projectFiles="true">
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/include/trace.h</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/include/device.h</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/include/socket.h</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/include/fs.h</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/include/netcfg.h</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/include/netapp.h</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/include/simplelink.h</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/include/wlan_rx_filters.h</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/include/wlan.h</itemPath>
+      </logicalFolder>
+      <logicalFolder name="source" displayName="source" projectFiles="true">
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netcfg.c</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/device.c</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/driver.c</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/protocol.h</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/nonos.h</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/objInclusion.h</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/fs.c</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/wlan.c</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/driver.h</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/socket.c</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/netapp.c</itemPath>
+        <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/nonos.c</itemPath>
+      </logicalFolder>
+      <itemPath>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink/template_user.h</itemPath>
+    </logicalFolder>
+    <logicalFolder name="SourceFiles"
+                   displayName="Source Files"
+                   projectFiles="true">
+      <logicalFolder name="f3" displayName="app" projectFiles="true">
+        <logicalFolder name="f1" displayName="system_config" projectFiles="true">
+          <logicalFolder name="f1" displayName="mx795_CC3100_e16" projectFiles="true">
+            <logicalFolder name="f1" displayName="framework" projectFiles="true">
+              <logicalFolder name="f1" displayName="driver" projectFiles="true">
+                <logicalFolder name="f1" displayName="rtcc" projectFiles="true">
+                  <logicalFolder name="f1" displayName="src" projectFiles="true">
+                    <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/rtcc/src/drv_rtcc_static.c</itemPath>
+                  </logicalFolder>
+                </logicalFolder>
+                <logicalFolder name="f2" displayName="spi" projectFiles="true">
+                  <logicalFolder name="f1" displayName="static" projectFiles="true">
+                    <logicalFolder name="f1" displayName="src" projectFiles="true">
+                      <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static.c</itemPath>
+                      <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_mapping.c</itemPath>
+                      <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_tasks.c</itemPath>
+                      <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.c</itemPath>
+                      <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_rm_tasks.c</itemPath>
+                    </logicalFolder>
+                  </logicalFolder>
+                </logicalFolder>
+                <logicalFolder name="f3" displayName="usart" projectFiles="true">
+                  <logicalFolder name="f1" displayName="src" projectFiles="true">
+                    <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_mapping.c</itemPath>
+                    <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static.c</itemPath>
+                    <itemPath>../src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_byte_model.c</itemPath>
+                  </logicalFolder>
+                </logicalFolder>
+              </logicalFolder>
+              <logicalFolder name="f2" displayName="system" projectFiles="true">
+                <logicalFolder name="f1" displayName="clk" projectFiles="true">
+                  <logicalFolder name="f1" displayName="src" projectFiles="true">
+                    <itemPath>../src/system_config/mx795_CC3100_e16/framework/system/clk/src/sys_clk_static.c</itemPath>
+                  </logicalFolder>
+                </logicalFolder>
+                <logicalFolder name="f2" displayName="console" projectFiles="true">
+                  <logicalFolder name="f1" displayName="src" projectFiles="true">
+                    <itemPath>../src/system_config/mx795_CC3100_e16/framework/system/console/src/sys_console_static.c</itemPath>
+                  </logicalFolder>
+                </logicalFolder>
+                <logicalFolder name="f3" displayName="ports" projectFiles="true">
+                  <logicalFolder name="f1" displayName="src" projectFiles="true">
+                    <itemPath>../src/system_config/mx795_CC3100_e16/framework/system/ports/src/sys_ports_static.c</itemPath>
+                  </logicalFolder>
+                </logicalFolder>
+              </logicalFolder>
+            </logicalFolder>
+            <itemPath>../src/system_config/mx795_CC3100_e16/system_init.c</itemPath>
+            <itemPath>../src/system_config/mx795_CC3100_e16/system_interrupt.c</itemPath>
+            <itemPath>../src/system_config/mx795_CC3100_e16/system_exceptions.c</itemPath>
+            <itemPath>../src/system_config/mx795_CC3100_e16/system_tasks.c</itemPath>
+          </logicalFolder>
+        </logicalFolder>
+        <itemPath>../src/app.c</itemPath>
+        <itemPath>../src/main.c</itemPath>
+        <itemPath>../src/cc3100_port.c</itemPath>
+      </logicalFolder>
+      <logicalFolder name="f1" displayName="framework" projectFiles="true">
+        <logicalFolder name="f1" displayName="system" projectFiles="true">
+          <logicalFolder name="f1" displayName="debug" projectFiles="true">
+            <logicalFolder name="f1" displayName="src" projectFiles="true">
+              <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/debug/src/sys_debug.c</itemPath>
+            </logicalFolder>
+          </logicalFolder>
+          <logicalFolder name="f2" displayName="devcon" projectFiles="true">
+            <logicalFolder name="f1" displayName="src" projectFiles="true">
+              <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon.c</itemPath>
+              <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon_pic32mx.c</itemPath>
+            </logicalFolder>
+          </logicalFolder>
+          <logicalFolder name="f3" displayName="int" projectFiles="true">
+            <logicalFolder name="f1" displayName="src" projectFiles="true">
+              <itemPath>../../../../../../../../../microchip/harmony/v1_08_01/framework/system/int/src/sys_int_pic32.c</itemPath>
+            </logicalFolder>
+          </logicalFolder>
+        </logicalFolder>
+      </logicalFolder>
+    </logicalFolder>
+    <logicalFolder name="ExternalFiles"
+                   displayName="Important Files"
+                   projectFiles="false">
+      <itemPath>Makefile</itemPath>
+    </logicalFolder>
+  </logicalFolder>
+  <sourceRootList>
+    <Elem>../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink</Elem>
+    <Elem>../../../../../../../go/src/cesanta.com/mongoose</Elem>
+    <Elem>../../../../../../../microchip/harmony/v1_08_01</Elem>
+    <Elem>../../../../../../../../../CC3100SDK_1.2.0/cc3100-sdk/simplelink</Elem>
+    <Elem>../../../../..</Elem>
+  </sourceRootList>
+  <projectmakefile>Makefile</projectmakefile>
+  <confs>
+    <conf name="mx795_CC3100_e16" type="2">
+      <toolsSet>
+        <developmentServer>localhost</developmentServer>
+        <targetDevice>PIC32MX795F512L</targetDevice>
+        <targetHeader></targetHeader>
+        <targetPluginBoard></targetPluginBoard>
+        <platformTool>PKOBSKDEPlatformTool</platformTool>
+        <languageToolchain>XC32</languageToolchain>
+        <languageToolchainVersion>1.42</languageToolchainVersion>
+        <platform>2</platform>
+      </toolsSet>
+      <compileType>
+        <linkerTool>
+          <linkerLibItems>
+            <linkerLibFileItem>../../../../../../../../../microchip/harmony/v1_08_01/bin/framework/peripheral/PIC32MX795F512L_peripherals.a</linkerLibFileItem>
+            <linkerLibFileItem>../../../../../../../../../microchip/harmony/v1_08_01/framework/tcpip/src/crypto/aes_pic32mx.a</linkerLibFileItem>
+          </linkerLibItems>
+        </linkerTool>
+        <archiverTool>
+        </archiverTool>
+        <loading>
+          <useAlternateLoadableFile>false</useAlternateLoadableFile>
+          <parseOnProdLoad>false</parseOnProdLoad>
+          <alternateLoadableFile></alternateLoadableFile>
+        </loading>
+      </compileType>
+      <makeCustomizationType>
+        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>
+        <makeCustomizationPreStep></makeCustomizationPreStep>
+        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>
+        <makeCustomizationPostStep></makeCustomizationPostStep>
+        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>
+        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>
+        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>
+      </makeCustomizationType>
+      <C32>
+        <property key="additional-warnings" value="false"/>
+        <property key="addresss-attribute-use" value="false"/>
+        <property key="enable-app-io" value="false"/>
+        <property key="enable-omit-frame-pointer" value="false"/>
+        <property key="enable-symbols" value="true"/>
+        <property key="enable-unroll-loops" value="false"/>
+        <property key="exclude-floating-point" value="false"/>
+        <property key="extra-include-directories"
+                  value="../src;../src/system_config/mx795_CC3100_e16;../src/mx795_CC3100_e16;../../../../framework;../src/system_config/mx795_CC3100_e16/framework;../../../../../../../../../microchip/harmony/v1_08_01/framework"/>
+        <property key="generate-16-bit-code" value="false"/>
+        <property key="generate-micro-compressed-code" value="false"/>
+        <property key="isolate-each-function" value="true"/>
+        <property key="make-warnings-into-errors" value="false"/>
+        <property key="optimization-level" value="-O1"/>
+        <property key="place-data-into-section" value="false"/>
+        <property key="post-instruction-scheduling" value="default"/>
+        <property key="pre-instruction-scheduling" value="default"/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="strict-ansi" value="false"/>
+        <property key="support-ansi" value="false"/>
+        <property key="toplevel-reordering" value=""/>
+        <property key="use-cci" value="false"/>
+        <property key="use-iar" value="false"/>
+        <property key="use-indirect-calls" value="false"/>
+      </C32>
+      <C32-AR>
+        <property key="additional-options-chop-files" value="false"/>
+      </C32-AR>
+      <C32-AS>
+        <property key="assembler-symbols" value=""/>
+        <property key="enable-symbols" value="true"/>
+        <property key="exclude-floating-point-library" value="false"/>
+        <property key="expand-macros" value="false"/>
+        <property key="extra-include-directories-for-assembler" value=""/>
+        <property key="extra-include-directories-for-preprocessor" value=""/>
+        <property key="false-conditionals" value="false"/>
+        <property key="generate-16-bit-code" value="false"/>
+        <property key="generate-micro-compressed-code" value="false"/>
+        <property key="keep-locals" value="false"/>
+        <property key="list-assembly" value="false"/>
+        <property key="list-source" value="false"/>
+        <property key="list-symbols" value="false"/>
+        <property key="oXC32asm-list-to-file" value="false"/>
+        <property key="omit-debug-dirs" value="false"/>
+        <property key="omit-forms" value="false"/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="warning-level" value=""/>
+      </C32-AS>
+      <C32-LD>
+        <property key="additional-options-use-response-files" value="false"/>
+        <property key="allocate-dinit" value="false"/>
+        <property key="code-dinit" value="false"/>
+        <property key="ebase-addr" value=""/>
+        <property key="enable-check-sections" value="false"/>
+        <property key="exclude-floating-point-library" value="false"/>
+        <property key="exclude-standard-libraries" value="false"/>
+        <property key="extra-lib-directories" value=""/>
+        <property key="fill-flash-options-addr" value=""/>
+        <property key="fill-flash-options-const" value=""/>
+        <property key="fill-flash-options-how" value="0"/>
+        <property key="fill-flash-options-inc-const" value="1"/>
+        <property key="fill-flash-options-increment" value=""/>
+        <property key="fill-flash-options-seq" value=""/>
+        <property key="fill-flash-options-what" value="0"/>
+        <property key="generate-16-bit-code" value="false"/>
+        <property key="generate-cross-reference-file" value="false"/>
+        <property key="generate-micro-compressed-code" value="false"/>
+        <property key="heap-size" value="2048"/>
+        <property key="input-libraries" value=""/>
+        <property key="kseg-length" value=""/>
+        <property key="kseg-origin" value=""/>
+        <property key="linker-symbols" value=""/>
+        <property key="map-file" value="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map"/>
+        <property key="no-startup-files" value="false"/>
+        <property key="oXC32ld-extra-opts" value=""/>
+        <property key="optimization-level" value=""/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="remove-unused-sections" value="true"/>
+        <property key="report-memory-usage" value="false"/>
+        <property key="serial-length" value=""/>
+        <property key="serial-origin" value=""/>
+        <property key="stack-size" value=""/>
+        <property key="symbol-stripping" value=""/>
+        <property key="trace-symbols" value=""/>
+        <property key="warn-section-align" value="false"/>
+      </C32-LD>
+      <C32CPP>
+        <property key="additional-warnings" value="false"/>
+        <property key="addresss-attribute-use" value="false"/>
+        <property key="check-new" value="false"/>
+        <property key="eh-specs" value="true"/>
+        <property key="enable-app-io" value="false"/>
+        <property key="enable-omit-frame-pointer" value="false"/>
+        <property key="enable-symbols" value="true"/>
+        <property key="enable-unroll-loops" value="false"/>
+        <property key="exceptions" value="true"/>
+        <property key="exclude-floating-point" value="false"/>
+        <property key="extra-include-directories" value=""/>
+        <property key="generate-16-bit-code" value="false"/>
+        <property key="generate-micro-compressed-code" value="false"/>
+        <property key="isolate-each-function" value="true"/>
+        <property key="make-warnings-into-errors" value="false"/>
+        <property key="optimization-level" value="-O1"/>
+        <property key="place-data-into-section" value="false"/>
+        <property key="post-instruction-scheduling" value="default"/>
+        <property key="pre-instruction-scheduling" value="default"/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="rtti" value="true"/>
+        <property key="strict-ansi" value="false"/>
+        <property key="toplevel-reordering" value=""/>
+        <property key="use-cci" value="false"/>
+        <property key="use-iar" value="false"/>
+        <property key="use-indirect-calls" value="false"/>
+      </C32CPP>
+      <C32Global>
+        <property key="common-include-directories"
+                  value="/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/include"/>
+        <property key="gp-relative-option" value=""/>
+        <property key="legacy-libc" value="false"/>
+        <property key="relaxed-math" value="false"/>
+        <property key="save-temps" value="false"/>
+        <property key="wpo-lto" value="false"/>
+        <appendMe value="-DEXT_LIB_REGISTERED_GENERAL_EVENTS -DSL_FULL -DCS_PLATFORM=6 -DMG_SIMPLELINK_NO_OSI"/>
+      </C32Global>
+      <PICkit3PlatformTool>
+        <property key="ADC 1" value="true"/>
+        <property key="AutoSelectMemRanges" value="auto"/>
+        <property key="CHANGE NOTICE" value="true"/>
+        <property key="COMPARATOR" value="true"/>
+        <property key="CTMU" value="true"/>
+        <property key="DMA" value="true"/>
+        <property key="Freeze All Other Peripherals" value="true"/>
+        <property key="I2C1" value="true"/>
+        <property key="I2C2" value="true"/>
+        <property key="INPUT CAPTURE 1" value="true"/>
+        <property key="INPUT CAPTURE 2" value="true"/>
+        <property key="INPUT CAPTURE 3" value="true"/>
+        <property key="INPUT CAPTURE 4" value="true"/>
+        <property key="INPUT CAPTURE 5" value="true"/>
+        <property key="INTERRUPT CONTROL" value="true"/>
+        <property key="OUTPUT COMPARE 1" value="true"/>
+        <property key="OUTPUT COMPARE 2" value="true"/>
+        <property key="OUTPUT COMPARE 3" value="true"/>
+        <property key="OUTPUT COMPARE 4" value="true"/>
+        <property key="OUTPUT COMPARE 5" value="true"/>
+        <property key="PARALLEL MASTER/SLAVE PORT" value="true"/>
+        <property key="REAL TIME CLOCK" value="true"/>
+        <property key="SPI/I2S 1" value="true"/>
+        <property key="SPI/I2S 2" value="true"/>
+        <property key="SecureSegment.SegmentProgramming" value="FullChipProgramming"/>
+        <property key="TIMER1" value="true"/>
+        <property key="TIMER2" value="true"/>
+        <property key="TIMER3" value="true"/>
+        <property key="TIMER4" value="true"/>
+        <property key="TIMER5" value="true"/>
+        <property key="ToolFirmwareFilePath"
+                  value="Press to browse for a specific firmware version"/>
+        <property key="ToolFirmwareOption.UseLatestFirmware" value="true"/>
+        <property key="UART1" value="true"/>
+        <property key="UART2" value="true"/>
+        <property key="hwtoolclock.frcindebug" value="false"/>
+        <property key="memories.aux" value="false"/>
+        <property key="memories.bootflash" value="true"/>
+        <property key="memories.configurationmemory" value="true"/>
+        <property key="memories.eeprom" value="true"/>
+        <property key="memories.flashdata" value="true"/>
+        <property key="memories.id" value="true"/>
+        <property key="memories.programmemory" value="true"/>
+        <property key="memories.programmemory.end" value="0x1d003fff"/>
+        <property key="memories.programmemory.start" value="0x1d000000"/>
+        <property key="poweroptions.powerenable" value="false"/>
+        <property key="programmertogo.imagename" value=""/>
+        <property key="programoptions.donoteraseauxmem" value="false"/>
+        <property key="programoptions.eraseb4program" value="true"/>
+        <property key="programoptions.pgmspeed" value="2"/>
+        <property key="programoptions.preserveeeprom" value="false"/>
+        <property key="programoptions.preserveprogramrange" value="false"/>
+        <property key="programoptions.preserveprogramrange.end" value="0x1d003fff"/>
+        <property key="programoptions.preserveprogramrange.start" value="0x1d000000"/>
+        <property key="programoptions.preserveuserid" value="false"/>
+        <property key="programoptions.testmodeentrymethod" value="VPPFirst"/>
+        <property key="programoptions.usehighvoltageonmclr" value="false"/>
+        <property key="programoptions.uselvpprogramming" value="false"/>
+        <property key="voltagevalue" value="3.25"/>
+      </PICkit3PlatformTool>
+      <PKOBSKDEPlatformTool>
+        <property key="AutoSelectMemRanges" value="auto"/>
+        <property key="SecureSegment.SegmentProgramming" value="FullChipProgramming"/>
+        <property key="ToolFirmwareFilePath"
+                  value="Press to browse for a specific firmware version"/>
+        <property key="ToolFirmwareOption.UseLatestFirmware" value="true"/>
+        <property key="firmware.download.all" value="false"/>
+        <property key="memories.configurationmemory" value="true"/>
+        <property key="memories.dataflash" value="true"/>
+        <property key="memories.eeprom" value="true"/>
+        <property key="memories.id" value="true"/>
+        <property key="memories.programmemory" value="true"/>
+        <property key="memories.programmemory.end" value="0x1d07ffff"/>
+        <property key="memories.programmemory.start" value="0x1d000000"/>
+        <property key="memories.userotp" value="true"/>
+        <property key="programoptions.donoteraseauxmem" value="false"/>
+        <property key="programoptions.eraseb4program" value="true"/>
+        <property key="programoptions.preservedataflash" value="false"/>
+        <property key="programoptions.preserveeeprom" value="false"/>
+        <property key="programoptions.preserveprogramrange" value="false"/>
+        <property key="programoptions.preserveprogramrange.end" value="0x1d0001ff"/>
+        <property key="programoptions.preserveprogramrange.start" value="0x1d000000"/>
+        <property key="programoptions.usehighvoltageonmclr" value="false"/>
+        <property key="programoptions.uselvpprogramming" value="true"/>
+      </PKOBSKDEPlatformTool>
+    </conf>
+  </confs>
+</configurationDescriptor>
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/private/SuppressibleMessageMemo.properties b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/private/SuppressibleMessageMemo.properties
new file mode 100644
index 0000000000000000000000000000000000000000..f1299a503b26d603f8f362875b8f2490acb5fa77
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/private/SuppressibleMessageMemo.properties
@@ -0,0 +1,3 @@
+#
+#Thu Sep 29 17:49:40 EEST 2016
+pkobskde/DEVID_MISMATCH=true
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/private/configurations.xml b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/private/configurations.xml
new file mode 100644
index 0000000000000000000000000000000000000000..585feff67d0cb2d03623b264649e89be0321d54d
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/private/configurations.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configurationDescriptor version="62">
+  <projectmakefile>Makefile</projectmakefile>
+  <defaultConf>0</defaultConf>
+  <confs>
+    <conf name="mx795_CC3100_e16" type="2">
+      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>Explorer 16/32 PICkit on Board:=&lt;sn>BUR162971352:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>
+      <languageToolchainDir>/opt/microchip/xc32/v1.42/bin</languageToolchainDir>
+      <mdbdebugger version="1">
+        <placeholder1>place holder 1</placeholder1>
+        <placeholder2>place holder 2</placeholder2>
+      </mdbdebugger>
+      <runprofile version="6">
+        <args></args>
+        <rundir></rundir>
+        <buildfirst>true</buildfirst>
+        <console-type>0</console-type>
+        <terminal-type>0</terminal-type>
+        <remove-instrumentation>0</remove-instrumentation>
+        <environment>
+        </environment>
+      </runprofile>
+    </conf>
+  </confs>
+</configurationDescriptor>
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/private/private.xml b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/private/private.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c696e23e0147adb29765b2d28cd663327f4575f1
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/private/private.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
+    <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
+    <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
+        <group>
+            <file>file:/home/alex/microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon.c</file>
+            <file>file:/home/alex/microchip/harmony/v1_08_01/framework/system/debug/src/sys_debug.c</file>
+            <file>file:/home/alex/microchip/harmony/v1_08_01/framework/system/devcon/src/sys_devcon_pic32mx.c</file>
+            <file>file:/home/alex/CC3100SDK_1.2.0/cc3100-sdk/simplelink/source/spawn.c</file>
+            <file>file:/home/alex/microchip/harmony/v1_08_01/framework/system/int/src/sys_int_pic32.c</file>
+        </group>
+    </open-files>
+</project-private>
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/project.properties b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/project.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/project.xml b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/project.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1db8b2d6eb098da35f9143663d9233c67d7b28d3
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/mqtt_client.X/nbproject/project.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>com.microchip.mplab.nbide.embedded.makeproject</type>
+    <configuration>
+        <Harmony xmlns="Harmony" MHC="true"/>
+        <data xmlns="http://www.netbeans.org/ns/make-project/1">
+            <name>mqtt_client</name>
+            <creation-uuid>e54023e9-3948-44ef-bf6f-29d8b223e555</creation-uuid>
+            <make-project-type>0</make-project-type>
+            <c-extensions>c</c-extensions>
+            <cpp-extensions/>
+            <header-extensions>h</header-extensions>
+            <asminc-extensions/>
+            <sourceEncoding>ISO-8859-1</sourceEncoding>
+            <make-dep-projects/>
+        </data>
+    </configuration>
+</project>
diff --git a/examples/PIC32/mqtt_client/firmware/mqtt_client.hconfig b/examples/PIC32/mqtt_client/firmware/mqtt_client.hconfig
new file mode 100644
index 0000000000000000000000000000000000000000..a49ccec0488b81fe89af65b72ec98b2d8092489f
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/mqtt_client.hconfig
@@ -0,0 +1,60 @@
+#
+# Application configuration file generated by 
+# Microchip Harmony Configurator (MHC) from Harmony version: 1.04
+#
+
+mainmenu "MPLAB Harmony & Application Configuration"
+
+menu "Application Configuration"
+
+config APP_INSTANCES
+    int "Number of Applications"
+    default 1
+    range 1 10  # Must limit to 10 or application templates will need to be updated.
+
+config APP_AUTO_GENERATE_CODE  # Used by MHC internally to selectively auto-generate app.h, app.c, and main.c
+    bool 
+    default n
+    
+source "$HARMONY_VERSION_PATH/utilities/mhc/config/gencode/framework/global_event/config/global_event_gencode.hconfig"
+source "$HARMONY_VERSION_PATH/utilities/mhc/config/app_name_idx_gencode.ftl" 10 instances
+
+menu "Exception Handling"
+
+config USE_EXCEPTION_HANDLER
+    bool "Use MPLAB Harmony Exception Handler Template?"
+    default y
+    ---help---
+    Enter 'Y' if you want to include an exception handler template 
+    (system_exceptions.c) in this system configuration.  Enter 'N' if 
+    you do not.
+    ---endhelp---
+
+config EXCEPTION_USE_SYS_DEBUG
+    bool "Use debug services in exception handler?"
+    depends on USE_EXCEPTION_HANDLER
+    default y
+    ---help---
+    Enter 'Y' if you want the exception handler to use the SYS_DEBUG service to
+    report exception information.  Enter 'N' if you do not.
+    ---endhelp---
+    
+config EXCEPTION_BREAKPOINT
+    bool "Hit breakpoint when an exception occurs?"
+    depends on USE_EXCEPTION_HANDLER && EXCEPTION_USE_SYS_DEBUG
+    default y
+    ---help---
+    Enter 'Y' if you want the exception handler to hit a breakpoint when 
+    an exception occurs.  Enter 'N' if you do not.  
+    Note:  Only works if debugging is enabled.
+    ---endhelp---
+    
+endmenu # Exception Handling
+
+#insert application specific configuration here
+
+endmenu # Application Configuration
+
+source "$HARMONY_VERSION_PATH/config/harmony.hconfig"
+
+
diff --git a/examples/PIC32/mqtt_client/firmware/src/app.c b/examples/PIC32/mqtt_client/firmware/src/app.c
new file mode 100644
index 0000000000000000000000000000000000000000..a58c5b3dfec5c5e0835ba6bc279da2bbfc0228f9
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/app.c
@@ -0,0 +1,183 @@
+/*
+ * Copyright (c) 2016 Cesanta Software Limited
+ * All rights reserved
+ */
+
+#include "app.h"
+#include "system/debug/sys_debug.h"
+#include "./../../../../../mongoose.h"
+#include "user_params.h"
+
+static struct mg_mgr mgr;
+static int msg_id;
+struct mg_mqtt_topic_expression topic_expressions[] = {{"/test", 0}};
+
+APP_DATA appData;
+
+void APP_Initialize(void) {
+  appData.state = APP_STATE_INIT;
+  DRV_RTCC_Start();
+  mg_mgr_init(&mgr, NULL);
+}
+
+static void ev_handler(struct mg_connection *nc, int ev, void *p);
+
+void APP_Tasks(void) {
+  /*
+   * Processing CC3100 Tasks
+   * It looks like SYS task and might be processed in SYS_Tasks
+   * But for this demo it is here to make this call
+   * visible
+   */
+  _SlNonOsMainLoopTask();
+
+  /* Check the application's current state. */
+  switch (appData.state) {
+    /* Application's initial state. */
+    case APP_STATE_INIT: {
+      SYS_PRINT("\n\r*** PIC32 MQTT CLIENT ***\n\r");
+
+      SYS_PRINT("\n\rInitializing CC3100\n\r");
+      int res = sl_Start(NULL, NULL, NULL);
+      if (res != 0) {
+        SYS_PRINT("FAILED\n\r");
+        appData.state = APP_STATE_DONE;
+        break;
+      }
+
+      SlSecParams_t sec_params;
+      memset(&sec_params, 0, sizeof(sec_params));
+      sec_params.Key = NET_PWD;
+      sec_params.KeyLen = sizeof(NET_PWD) - 1;
+      sec_params.Type = NET_SECURITY;
+
+      SYS_PRINT("Connecting to WiFi\n\r");
+
+      sl_WlanConnect(NET_SSID, sizeof(NET_SSID) - 1, 0, &sec_params, NULL);
+
+      SYS_PRINT("Initialization done\n\r");
+
+      appData.state = APP_STATE_SERVICE_TASKS;
+
+      break;
+    }
+
+    case APP_STATE_CONNECT_BROKER: {
+      if (mg_connect(&mgr, MQTT_BROKER_ADDRESS, ev_handler) == NULL) {
+        SYS_PRINT("Failed to create connection\n\r");
+        appData.state = APP_STATE_DONE;
+      } else {
+        appData.state = APP_STATE_SERVICE_TASKS;
+      }
+      break;
+    }
+    case APP_STATE_SERVICE_TASKS: {
+      static uint32_t prev_poll_time = 0;
+      uint32_t now = DRV_RTCC_TimeGet();
+      if (now - prev_poll_time > 100) {
+        /*
+         * We cannot call mg_mgr_poll every cycle
+         * it leads to SPI overload (internaly mg_mgr_poll calls
+         * CC3100 via SPI
+         */
+        mg_mgr_poll(&mgr, 1);
+        prev_poll_time = now;
+      }
+      break;
+    }
+
+    case APP_STATE_DONE: {
+      /* Do nothing here */
+      break;
+    }
+    default: {
+      /* TODO: Handle error in application's state machine. */
+      break;
+    }
+  }
+}
+
+void SimpleLinkWlanEventHandler(SlWlanEvent_t *pWlanEvent) {
+  switch (pWlanEvent->Event) {
+    case SL_WLAN_CONNECT_EVENT:
+      SYS_PRINT("Connected to WiFi\r\n");
+      break;
+    case SL_WLAN_DISCONNECT_EVENT:
+      SYS_PRINT("Disconnected WiFi\r\n");
+      break;
+    default:
+      SYS_PRINT("Got Wlan event %d\r\n", pWlanEvent->Event);
+      break;
+  }
+}
+
+void SimpleLinkNetAppEventHandler(SlNetAppEvent_t *pNetAppEvent) {
+  switch (pNetAppEvent->Event) {
+    case SL_NETAPP_IPV4_IPACQUIRED_EVENT:
+      SYS_PRINT("Got IP\r\n");
+      appData.state = APP_STATE_CONNECT_BROKER;
+      break;
+    default:
+      SYS_PRINT("Got NetApp Event: %d\r\n", pNetAppEvent->Event);
+      break;
+  }
+}
+
+static void ev_handler(struct mg_connection *nc, int ev, void *p) {
+  struct mg_mqtt_message *msg = (struct mg_mqtt_message *) p;
+  static int count1 = 0;
+  switch (ev) {
+    case MG_EV_CONNECT:
+      if (*(int *) p != 0) {
+        SYS_PRINT("Failed to connect to %s\r\n", MQTT_BROKER_ADDRESS);
+      } else {
+        SYS_PRINT("Connected to %s\r\n", MQTT_BROKER_ADDRESS);
+      }
+      struct mg_send_mqtt_handshake_opts opts;
+      memset(&opts, 0, sizeof(opts));
+      opts.user_name = MQTT_USER_NAME;
+      opts.password = MQTT_USER_PWD;
+      mg_set_protocol_mqtt(nc);
+      mg_send_mqtt_handshake_opt(nc, "PIC32", opts);
+      break;
+    case MG_EV_MQTT_CONNACK:
+      if (msg->connack_ret_code != MG_EV_MQTT_CONNACK_ACCEPTED) {
+        SYS_PRINT("Got mqtt connection error %d\n\r", msg->connack_ret_code);
+      } else {
+        SYS_PRINT("Connected to broker\n\r");
+      }
+      SYS_PRINT("Subscribing to /test\n\r");
+      mg_mqtt_subscribe(nc, topic_expressions,
+                        sizeof(topic_expressions) / sizeof(*topic_expressions),
+                        ++msg_id);
+      nc->flags |= MG_F_USER_1;
+      break;
+    case MG_EV_MQTT_SUBACK:
+      SYS_PRINT("Subscription acknowledged\r\n");
+      break;
+    case MG_EV_MQTT_PUBLISH:
+      SYS_PRINT("Got incoming message %s: %.*s\r\n", msg->topic,
+                (int) msg->payload.len, msg->payload.p);
+      break;
+    case MG_EV_POLL: {
+      if (nc->flags & MG_F_USER_1) {
+        char msg[100];
+        static uint32_t prev_send = 0;
+        uint32_t now = DRV_RTCC_TimeGet();
+        if (now - prev_send > 1000) {
+          int len = snprintf(msg, sizeof(msg), "Current RTC value: %u", now);
+          SYS_PRINT("Publishing message with RTC value=%u\r\n", now);
+          mg_mqtt_publish(nc, "/stuff", ++msg_id, MG_MQTT_QOS(0), msg, len);
+          prev_send = now;
+        }
+      }
+      break;
+    }
+    case MG_EV_CLOSE:
+      SYS_PRINT("Connection to broker is closed\r\n");
+      appData.state = APP_STATE_DONE;
+      break;
+    default:
+      break;
+  }
+}
diff --git a/examples/PIC32/mqtt_client/firmware/src/app.h b/examples/PIC32/mqtt_client/firmware/src/app.h
new file mode 100644
index 0000000000000000000000000000000000000000..62bd565b5ff5c4d77677cfe82f93d0077ee5f16f
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/app.h
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2016 Cesanta Software Limited
+ * All rights reserved
+ */
+
+#ifndef _APP_H
+#define _APP_H
+
+#include <stdint.h>
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include "system_config.h"
+#include "system_definitions.h"
+#include "simplelink.h"
+
+#ifdef __cplusplus
+
+extern "C" {
+
+#endif
+/* Application states
+
+  Summary:
+    Application states enumeration
+
+  Description:
+    This enumeration defines the valid application states.  These states
+    determine the behavior of the application at various times.
+*/
+
+typedef enum {
+  APP_STATE_INIT = 0,
+  APP_STATE_SERVICE_TASKS,
+  APP_STATE_CONNECT_BROKER,
+  APP_STATE_DONE
+} APP_STATES;
+
+// *****************************************************************************
+/* Application Data
+
+  Summary:
+    Holds application data
+
+  Description:
+    This structure holds the application's data.
+
+  Remarks:
+    Application strings and buffers are be defined outside this structure.
+ */
+
+typedef struct {
+  /* The application's current state */
+  APP_STATES state;
+} APP_DATA;
+
+/*******************************************************************************
+  Function:
+    void APP_Initialize ( void )
+
+  Summary:
+     MPLAB Harmony application initialization routine.
+
+  Description:
+    This function initializes the Harmony application.  It places the
+    application in its initial state and prepares it to run so that its
+    APP_Tasks function can be called.
+
+  Precondition:
+    All other system initialization routines should be called before calling
+    this routine (in "SYS_Initialize").
+
+  Parameters:
+    None.
+
+  Returns:
+    None.
+
+  Example:
+    <code>
+    APP_Initialize();
+    </code>
+
+  Remarks:
+    This routine must be called from the SYS_Initialize function.
+*/
+
+void APP_Initialize(void);
+
+/*******************************************************************************
+  Function:
+    void APP_Tasks ( void )
+
+  Summary:
+    MPLAB Harmony Demo application tasks function
+
+  Description:
+    This routine is the Harmony Demo application's tasks function.  It
+    defines the application's state machine and core logic.
+
+  Precondition:
+    The system and application initialization ("SYS_Initialize") should be
+    called before calling this.
+
+  Parameters:
+    None.
+
+  Returns:
+    None.
+
+  Example:
+    <code>
+    APP_Tasks();
+    </code>
+
+  Remarks:
+    This routine must be called from SYS_Tasks() routine.
+ */
+
+void APP_Tasks(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _APP_H */
diff --git a/examples/PIC32/mqtt_client/firmware/src/cc3100_port.c b/examples/PIC32/mqtt_client/firmware/src/cc3100_port.c
new file mode 100644
index 0000000000000000000000000000000000000000..2047808d5c54fd08bfaba35de4bd224652f9b6ec
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/cc3100_port.c
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2016 Cesanta Software Limited
+ * All rights reserved
+ */
+
+#include "app.h"
+#include "system/debug/sys_debug.h"
+#include "simplelink.h"
+#include "user_params.h"
+
+P_EVENT_HANDLER g_cc3100_IRQ_handler = NULL;
+
+void AssertCS() {
+  PLIB_PORTS_PinClear(PORTS_ID_0, CS_PORT, CS_PIN);
+}
+
+void DeassertCS() {
+  PLIB_PORTS_PinSet(PORTS_ID_0, CS_PORT, CS_PIN);
+}
+
+void CC3100_enable() {
+  PLIB_PORTS_PinSet(PORTS_ID_0, HIB_PORT, HIB_PIN);
+}
+
+void CC3100_disable() {
+  PLIB_PORTS_PinClear(PORTS_ID_0, HIB_PORT, HIB_PIN);
+}
+
+Fd_t spi_Open(char *ifName, unsigned long flags) {
+  CC3100_disable();
+
+  return 0;
+}
+
+int spi_Write(Fd_t fd, unsigned char *pBuff, int len) {
+  if (len > 512) {
+    SYS_PRINT("BUFFER TOO SMALL");
+    return 0;
+  }
+
+  AssertCS();
+  uint8_t dummy[512];
+  DRV_SPI0_BufferAddWriteRead(pBuff, dummy, len);
+  DRV_SPI_Tasks(sysObj.spiObjectIdx0);
+  DeassertCS();
+
+  return len;
+}
+
+int spi_Read(Fd_t fd, unsigned char *pBuff, int len) {
+  if (len > 512) {
+    SYS_PRINT("BUFFER TOO SMALL");
+    return 0;
+  }
+  uint8_t dummy[512];
+  memset(dummy, 0xFF, len);
+  AssertCS();
+  DRV_SPI0_BufferAddWriteRead(dummy, pBuff, len);
+  DRV_SPI_Tasks(sysObj.spiObjectIdx0);
+  DeassertCS();
+  return len;
+}
+
+int registerInterruptHandler(P_EVENT_HANDLER int_handler, void *pValue) {
+  (void) pValue;
+  g_cc3100_IRQ_handler = int_handler;
+}
diff --git a/examples/PIC32/mqtt_client/firmware/src/main.c b/examples/PIC32/mqtt_client/firmware/src/main.c
new file mode 100644
index 0000000000000000000000000000000000000000..8f0135eb6352d1eacab8cfb0f5aeeef316fad486
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/main.c
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2016 Cesanta Software Limited
+ * All rights reserved
+ */
+
+#include <stddef.h>
+#include <stdlib.h>
+#include "system/common/sys_module.h"
+
+int main(void) {
+  /* Initialize all MPLAB Harmony modules, including application(s). */
+  SYS_Initialize(NULL);
+
+  while (1) {
+    /* Maintain state machines of all polled MPLAB Harmony modules. */
+    SYS_Tasks();
+  }
+
+  /* Execution should not come here during normal operation */
+
+  return (EXIT_FAILURE);
+}
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/configuration.xml b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/configuration.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c5878ea4b3fbf2b53d8b83661791e9c52c386399
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/configuration.xml
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<configuration version="1.0.8.7">
+  <Designer>
+    <Assets>
+      <Settings bpp="16">
+        <MemoryLocations>
+          <MemoryLocation address="0" id="default"/>
+        </MemoryLocations>
+      </Settings>
+    </Assets>
+    <Screens height="200" width="320">
+      <Screen active="true" background="000000" clearOnShow="true" doubleBuffer="false" export="true" name="Screen1" primary="true" visible="true">
+        <Objects/>
+      </Screen>
+    </Screens>
+    <Schemes defaultSchemeName="default">
+      <Scheme name="default">
+        <Alpha>100</Alpha>
+        <BackgroundOffset>0,0</BackgroundOffset>
+        <EmbossSize>3</EmbossSize>
+        <Colors>
+          <Primary>FFFFFF</Primary>
+          <Secondary>404040</Secondary>
+          <Disabled>C0C0C0</Disabled>
+          <Background>000000</Background>
+          <EmbossLight>C0C0C0</EmbossLight>
+          <EmbossDark>404040</EmbossDark>
+          <TextPrimary>000000</TextPrimary>
+          <TextSecondary>FFFFFF</TextSecondary>
+          <TextDisabled>404040</TextDisabled>
+          <GradientStart>000000</GradientStart>
+          <GradientEnd>FFFFFF</GradientEnd>
+        </Colors>
+        <FillStyle>Color</FillStyle>
+        <BackgroundType>None</BackgroundType>
+      </Scheme>
+    </Schemes>
+  </Designer>
+  <General>
+    <HarmonyPath path="../../../../../../../microchip/harmony/v1_08_01"/>
+    <Processor name=""/>
+    <ForceOptimization flag="true"/>
+    <MergeStrategy flag="USER_ALL"/>
+  </General>
+  <Manifest>
+    <Files>
+      <File>
+        <Name>osal_impl_basic.h</Name>
+        <Path>Header Files/framework/osal/src</Path>
+      </File>
+      <File>
+        <Name>peripheral_common_32bit.h</Name>
+        <Path>Header Files/framework/peripheral</Path>
+      </File>
+      <File>
+        <Name>driver_common.h</Name>
+        <Path>Header Files/framework/driver</Path>
+      </File>
+      <File>
+        <Name>sys_devcon.c</Name>
+        <Path>Source Files/framework/system/devcon/src</Path>
+      </File>
+      <File>
+        <Name>osal.h</Name>
+        <Path>Header Files/framework/osal</Path>
+      </File>
+      <File>
+        <Name>sys_ports.h</Name>
+        <Path>Header Files/framework/system/ports</Path>
+      </File>
+      <File>
+        <Name>driver.h</Name>
+        <Path>Header Files/framework/driver</Path>
+      </File>
+      <File>
+        <Name>peripheral_common.h</Name>
+        <Path>Header Files/framework/peripheral</Path>
+      </File>
+      <File>
+        <Name>sys_debug_local.h</Name>
+        <Path>Header Files/framework/system/debug/src</Path>
+      </File>
+      <File>
+        <Name>sys_common.h</Name>
+        <Path>Header Files/framework/system/common</Path>
+      </File>
+      <File>
+        <Name>sys_buffer.h</Name>
+        <Path>Header Files/framework/system/common</Path>
+      </File>
+      <File>
+        <Name>sys_int_pic32.c</Name>
+        <Path>Source Files/framework/system/int/src</Path>
+      </File>
+      <File>
+        <Name>sys_clk.h</Name>
+        <Path>Header Files/framework/system/clk</Path>
+      </File>
+      <File>
+        <Name>osal_impl_none.h</Name>
+        <Path>Header Files/framework/osal/src</Path>
+      </File>
+      <File>
+        <Name>sys_clk_mapping.h</Name>
+        <Path>Header Files/framework/system/clk</Path>
+      </File>
+      <File>
+        <Name>osal_definitions.h</Name>
+        <Path>Header Files/framework/osal</Path>
+      </File>
+      <File>
+        <Name>sys_int_mapping.h</Name>
+        <Path>Header Files/framework/system/int</Path>
+      </File>
+      <File>
+        <Name>gfx_palette.h</Name>
+        <Path>Header Files/framework/gfx</Path>
+      </File>
+      <File>
+        <Name>sys_int_private.h</Name>
+        <Path>Header Files/framework/system/int/src</Path>
+      </File>
+      <File>
+        <Name>sys_devcon.h</Name>
+        <Path>Header Files/framework/system/devcon</Path>
+      </File>
+      <File>
+        <Name>system.h</Name>
+        <Path>Header Files/framework/system</Path>
+      </File>
+      <File>
+        <Name>sys_debug.c</Name>
+        <Path>Source Files/framework/system/debug/src</Path>
+      </File>
+      <File>
+        <Name>sys_console.h</Name>
+        <Path>Header Files/framework/system/console</Path>
+      </File>
+      <File>
+        <Name>sys_debug.h</Name>
+        <Path>Header Files/framework/system/debug</Path>
+      </File>
+      <File>
+        <Name>sys_module.h</Name>
+        <Path>Header Files/framework/system/common</Path>
+      </File>
+      <File>
+        <Name>sys_devcon_pic32mx.c</Name>
+        <Path>Source Files/framework/system/devcon/src</Path>
+      </File>
+      <File>
+        <Name>sys_devcon_local.h</Name>
+        <Path>Header Files/framework/system/devcon/src</Path>
+      </File>
+      <File>
+        <Name>peripheral.h</Name>
+        <Path>Header Files/framework/peripheral</Path>
+      </File>
+      <File>
+        <Name>sys_queue.h</Name>
+        <Path>Header Files/framework/system/common</Path>
+      </File>
+      <File>
+        <Name>sys_console_local.h</Name>
+        <Path>Header Files/framework/system/console/src</Path>
+      </File>
+      <File>
+        <Name>sys_int.h</Name>
+        <Path>Header Files/framework/system/int</Path>
+      </File>
+    </Files>
+    <Templates>
+      <Template>
+        <Name>sys_console_static.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16/framework/system/console/src</Path>
+        <Checksum>0B506F1F6112899EF538390AD8DBD62F</Checksum>
+      </Template>
+      <Template>
+        <Name>system_definitions.h</Name>
+        <Path>Header Files/app/system_config/mx795_CC3100_e16</Path>
+        <Checksum>1F863F474CF6B1EF5BCAEC53DA0A1EB9</Checksum>
+      </Template>
+      <Template>
+        <Name>system_exceptions.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16</Path>
+        <Checksum>C111969CA43D6CEA1E9E33A6164E7AE0</Checksum>
+      </Template>
+      <Template>
+        <Name>drv_spi_static_local.h</Name>
+        <Path>Header Files/app/system_config/mx795_CC3100_e16/framework/driver/spi/static/src</Path>
+        <Checksum>70055803006A2C67E983956B3B3ABD25</Checksum>
+      </Template>
+      <Template>
+        <Name>drv_spi_mapping.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16/framework/driver/spi/static/src</Path>
+        <Checksum>ADEEE2519E932B46D44C41B8F44E1F19</Checksum>
+      </Template>
+      <Template>
+        <Name>drv_usart_static_byte_model.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16/framework/driver/usart/src</Path>
+        <Checksum>F91C429976AC25EB8B3639F0B0356E3B</Checksum>
+      </Template>
+      <Template>
+        <Name>system_init.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16</Path>
+        <Checksum>34219E31193F143A502765E488BC500E</Checksum>
+        <ProjectFileChecksum>368F06F4DCF995EE27BD5F31F9034D30</ProjectFileChecksum>
+      </Template>
+      <Template>
+        <Name>drv_usart_static.h</Name>
+        <Path>Header Files/app/system_config/mx795_CC3100_e16/framework/driver/usart</Path>
+        <Checksum>AE37BD63B6EC9F6ADD6B8006CE192FCB</Checksum>
+      </Template>
+      <Template>
+        <Name>drv_spi_static_tasks.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16/framework/driver/spi/static/src</Path>
+        <Checksum>8D9BDD4F87493B036E9786F53F65EE82</Checksum>
+      </Template>
+      <Template>
+        <Name>drv_spi_static.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16/framework/driver/spi/static/src</Path>
+        <Checksum>C0323F1E5F9550BF1BC4441ADB9B09D8</Checksum>
+      </Template>
+      <Template>
+        <Name>drv_rtcc_static.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16/framework/driver/rtcc/src</Path>
+        <Checksum>9A5D97DC0EADF32162B4B222AAC95408</Checksum>
+      </Template>
+      <Template>
+        <Name>sys_clk_static.h</Name>
+        <Path>Header Files/app/system_config/mx795_CC3100_e16/framework/system/clk</Path>
+        <Checksum>B4BD59D8D7C4DA95DC5E3B57755FD352</Checksum>
+      </Template>
+      <Template>
+        <Name>system_config.h</Name>
+        <Path>Header Files/app/system_config/mx795_CC3100_e16</Path>
+        <Checksum>85CDEB06EBF7053ADCB2CB37014D10D1</Checksum>
+      </Template>
+      <Template>
+        <Name>drv_usart_static_local.h</Name>
+        <Path>Header Files/app/system_config/mx795_CC3100_e16/framework/driver/usart/src</Path>
+        <Checksum>62F7F49D6A443F111DA38971475472FD</Checksum>
+      </Template>
+      <Template>
+        <Name>system_interrupt.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16</Path>
+        <Checksum>CACF8AB870174547FD1DC4FE62DECBAD</Checksum>
+        <ProjectFileChecksum>DB1F2DBEF12282D8AF55C36D1192E873</ProjectFileChecksum>
+      </Template>
+      <Template>
+        <Name>sys_clk_static.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16/framework/system/clk/src</Path>
+        <Checksum>E8C935BED4628875A8C3428DDD07355C</Checksum>
+      </Template>
+      <Template>
+        <Name>drv_spi_static.h</Name>
+        <Path>Header Files/app/system_config/mx795_CC3100_e16/framework/driver/spi/static</Path>
+        <Checksum>68B5BA023AB90B18D229B6E7CBF0850C</Checksum>
+      </Template>
+      <Template>
+        <Name>drv_usart_mapping.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16/framework/driver/usart/src</Path>
+        <Checksum>115DDE4372E58D4116BC77DC36FD97DC</Checksum>
+      </Template>
+      <Template>
+        <Name>main.c</Name>
+        <Path>Source Files/app</Path>
+      </Template>
+      <Template>
+        <Name>drv_spi_static_sys_queue.h</Name>
+        <Path>Header Files/app/system_config/mx795_CC3100_e16/framework/driver/spi/static/src</Path>
+        <Checksum>3D489FB0B5415BB6F80FA34FC0CEE9F7</Checksum>
+      </Template>
+      <Template>
+        <Name>drv_spi_static_rm_tasks.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16/framework/driver/spi/static/src</Path>
+        <Checksum>BED98A3F5628502709D95341DC70019B</Checksum>
+      </Template>
+      <Template>
+        <Name>app.c</Name>
+        <Path>Source Files/app</Path>
+      </Template>
+      <Template>
+        <Name>sys_ports_static.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16/framework/system/ports/src</Path>
+        <Checksum>F693DCC21C702581B107B8A238195A13</Checksum>
+      </Template>
+      <Template>
+        <Name>drv_spi_static_sys_queue.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16/framework/driver/spi/static/src</Path>
+        <Checksum>E06222D2E5F5F69EE3C77ACD6FCC3059</Checksum>
+      </Template>
+      <Template>
+        <Name>system_tasks.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16</Path>
+        <Checksum>9990FEA6D9BDD86EAA2B873D5A5B9DAC</Checksum>
+        <ProjectFileChecksum>91547DE270F61E54B606034EBF1BAEC1</ProjectFileChecksum>
+      </Template>
+      <Template>
+        <Name>app.h</Name>
+        <Path>Header Files/app</Path>
+      </Template>
+      <Template>
+        <Name>drv_rtcc_static.h</Name>
+        <Path>Header Files/app/system_config/mx795_CC3100_e16/framework/driver/rtcc</Path>
+        <Checksum>FED59BF02817E49C245011170B963EE2</Checksum>
+      </Template>
+      <Template>
+        <Name>drv_usart_static.c</Name>
+        <Path>Source Files/app/system_config/mx795_CC3100_e16/framework/driver/usart/src</Path>
+        <Checksum>BD4DEFD647BB5AF32D1DBF352D6139D5</Checksum>
+      </Template>
+    </Templates>
+    <CompilerItems>
+      <C32>
+        <Include value="/home/alex/go/src/cesanta.com/mongoose/examples/PIC32/mqtt_client/firmware/src"/>
+        <Include value="/home/alex/go/src/cesanta.com/mongoose/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16"/>
+        <Include value="/home/alex/go/src/cesanta.com/mongoose/examples/PIC32/mqtt_client/firmware/src/mx795_CC3100_e16"/>
+        <Include value="/home/alex/microchip/harmony/v1_08_01/framework"/>
+        <Include value="/home/alex/go/src/cesanta.com/mongoose/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework"/>
+      </C32>
+    </CompilerItems>
+    <Libraries>
+      <Library value="../../../../../../../../../microchip/harmony/v1_08_01/framework/tcpip/src/crypto/aes_pic32mx.a"/>
+      <Library value="../../../../../../../../../microchip/harmony/v1_08_01/bin/framework/peripheral/PIC32MX795F512L_peripherals.a"/>
+    </Libraries>
+  </Manifest>
+</configuration>
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/rtcc/drv_rtcc_static.h b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/rtcc/drv_rtcc_static.h
new file mode 100644
index 0000000000000000000000000000000000000000..e4f08eb69e82ad422104932b0ec788acb9de4c73
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/rtcc/drv_rtcc_static.h
@@ -0,0 +1,77 @@
+/* clang-format off */
+/*******************************************************************************
+  RTCC Driver Interface Declarations for Static Single Instance Driver
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_rtcc_static.h
+
+  Summary:
+    RTCC driver interface declarations for the static single instance driver.
+
+  Description:
+    The RTCC device driver provides a simple interface to manage the RTCC
+    modules on Microchip microcontrollers. This file defines the interface
+    Declarations for the OC driver.
+    
+  Remarks:
+    Static interfaces incorporate the driver instance number within the names
+    of the routines, eliminating the need for an object ID or object handle.
+    Static single-open interfaces also eliminate the need for the open handle.
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2013 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTOCULAR PURPOSE.
+IN NO EVENT SHALL MOCROCHIP OR ITS LOCENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STROCT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVOCES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+#ifndef _DRV_RTCC_STATIC_H
+#define _DRV_RTCC_STATIC_H
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Interface Headers for RTCC Instance
+// *****************************************************************************
+// *****************************************************************************
+void DRV_RTCC_Initialize(void);
+
+void DRV_RTCC_Start(void);
+
+void DRV_RTCC_Stop(void);
+
+void DRV_RTCC_ClockOutput(void);
+
+uint32_t DRV_RTCC_TimeGet(void);
+
+uint32_t DRV_RTCC_DateGet(void);
+
+uint32_t DRV_RTCC_AlarmTimeGet(void);
+
+uint32_t DRV_RTCC_AlarmDateGet(void);
+
+#endif // #ifndef _DRV_RTCC_STATIC_H
+/*******************************************************************************
+ End of File
+*/
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/rtcc/src/drv_rtcc_static.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/rtcc/src/drv_rtcc_static.c
new file mode 100644
index 0000000000000000000000000000000000000000..18a2020cbd2c760d51fa71ad00d9d80f3cddc237
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/rtcc/src/drv_rtcc_static.c
@@ -0,0 +1,101 @@
+/*******************************************************************************
+  RTCC Driver Initialization File
+
+  File Name:
+    drv_rtcc_static.c
+
+  Summary:
+    This file contains source code necessary to initialize the RTCC driver.
+
+  Description:
+   RTCC Driver includes initialization and other routines with small footprtint.
+ *******************************************************************************/
+
+// DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2013-2014 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+ *******************************************************************************/
+// DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Header Includes
+// *****************************************************************************
+// *****************************************************************************
+#include "peripheral/rtcc/plib_rtcc.h"
+#include "peripheral/devcon/plib_devcon.h"
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: RTCC static driver functions
+// *****************************************************************************
+// *****************************************************************************
+void DRV_RTCC_Initialize(void) {
+  PLIB_DEVCON_SystemUnlock(DEVCON_ID_0); /* Unlock System */
+
+  /* Initialize RTCC */
+  PLIB_RTCC_WriteEnable(RTCC_ID_0); /* Enable writes to RTCC */
+  PLIB_RTCC_Disable(RTCC_ID_0);     /* Disable clock to RTCC */
+  while (PLIB_RTCC_ClockRunningStatus(RTCC_ID_0))
+    ;                                          /*Check if clock is disabled */
+  PLIB_RTCC_RTCTimeSet(RTCC_ID_0, 0x23595900); /* Set RTCC time */
+  PLIB_RTCC_RTCDateSet(RTCC_ID_0, 0x14010100); /* Set RTCC date */
+  PLIB_RTCC_AlarmDisable(RTCC_ID_0);           /* Disable alarm */
+  while (PLIB_RTCC_AlarmSyncStatusGet(RTCC_ID_0))
+    ;                                            /* Wait for disable */
+  PLIB_RTCC_AlarmTimeSet(RTCC_ID_0, 0x00000500); /* Set RTCC alarm time */
+  PLIB_RTCC_AlarmDateSet(RTCC_ID_0, 0x00010100); /* Set RTCC alarm date */
+  PLIB_RTCC_AlarmMaskModeSelect(
+      RTCC_ID_0, RTCC_ALARM_EVERY_SECOND); /* Set RTCC alarm mode */
+}
+
+void DRV_RTCC_Start(void) {
+  PLIB_RTCC_Enable(RTCC_ID_0);
+}
+
+void DRV_RTCC_Stop(void) {
+  PLIB_RTCC_Disable(RTCC_ID_0);
+}
+
+void DRV_RTCC_ClockOutput(void) {
+  PLIB_RTCC_ClockOutputEnable(RTCC_ID_0);
+}
+
+uint32_t DRV_RTCC_TimeGet(void) {
+  return PLIB_RTCC_RTCTimeGet(RTCC_ID_0);
+}
+
+uint32_t DRV_RTCC_DateGet(void) {
+  return PLIB_RTCC_RTCDateGet(RTCC_ID_0);
+}
+
+uint32_t DRV_RTCC_AlarmTimeGet(void) {
+  return PLIB_RTCC_AlarmTimeGet(RTCC_ID_0);
+}
+
+uint32_t DRV_RTCC_AlarmDateGet(void) {
+  return PLIB_RTCC_AlarmDateGet(RTCC_ID_0);
+}
+
+/*******************************************************************************
+ End of File
+*/
\ No newline at end of file
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/drv_spi_static.h b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/drv_spi_static.h
new file mode 100644
index 0000000000000000000000000000000000000000..a107716217e12305a288fb0cf74b0d2ba62f2a81
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/drv_spi_static.h
@@ -0,0 +1,137 @@
+/* clang-format off */
+/*******************************************************************************
+  SPI Driver Interface Declarations for Static Single Instance Driver
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_spi_static.h
+
+  Summary:
+    SPI driver interface declarations for the static single instance driver.
+
+  Description:
+    The SPI device driver provides a simple interface to manage the SPI
+    modules on Microchip microcontrollers. This file defines the interface
+    Declarations for the SPI static driver.
+
+  Remarks:
+    Static interfaces incorporate the driver instance number within the names
+    of the routines, eliminating the need for an object ID or object handle.
+
+    Static single-open interfaces also eliminate the need for the open handle.
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+#ifndef _DRV_SPI_STATIC_H
+#define _DRV_SPI_STATIC_H
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+
+#include "driver/spi/static/src/drv_spi_static_local.h"
+
+// DOM-IGNORE-BEGIN
+#ifdef __cplusplus  // Provide C++ Compatibility
+
+    extern "C" {
+
+#endif
+// DOM-IGNORE-END
+
+// *********************************************************************************************
+// *********************************************************************************************
+// Section: System Interface Headers for the Instance 0 of SPI static driver
+// *********************************************************************************************
+// *********************************************************************************************
+
+SYS_MODULE_OBJ DRV_SPI0_Initialize( void );
+void DRV_SPI0_Deinitialize ( void );
+SYS_STATUS DRV_SPI0_Status ( void );
+void DRV_SPI0_Tasks ( void );
+
+// *********************************************************************************************
+// *********************************************************************************************
+// Section: General Client Interface Headers for the Instance 0 of SPI static driver
+// *********************************************************************************************
+// *********************************************************************************************
+
+DRV_HANDLE DRV_SPI0_Open ( const SYS_MODULE_INDEX drvIndex, const DRV_IO_INTENT ioIntent );
+void DRV_SPI0_Close ( void );
+int32_t DRV_SPI0_ClientConfigure ( const DRV_SPI_CLIENT_DATA * cfgData );
+
+// *********************************************************************************************
+// *********************************************************************************************
+// Section: Read & Write Client Interface Headers for the Instance 0 of SPI static driver
+// *********************************************************************************************
+// *********************************************************************************************
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI0_BufferAddRead ( void *rxBuffer, size_t size, DRV_SPI_BUFFER_EVENT_HANDLER completeCB, void * context);
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI0_BufferAddWrite ( void *txBuffer, size_t size, DRV_SPI_BUFFER_EVENT_HANDLER completeCB, void * context );
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI0_BufferAddRead2 ( void *rxBuffer, size_t size, DRV_SPI_BUFFER_EVENT_HANDLER completeCB, void * context, DRV_SPI_BUFFER_HANDLE * jobHandle);
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI0_BufferAddWrite2 ( void *txBuffer, size_t size, DRV_SPI_BUFFER_EVENT_HANDLER completeCB, void * context, DRV_SPI_BUFFER_HANDLE * jobHandle );
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI0_BufferAddWriteRead2 ( void *txBuffer, size_t txSize,void *rxBuffer, size_t rxSize, DRV_SPI_BUFFER_EVENT_HANDLER completeCB, void * context,  DRV_SPI_BUFFER_HANDLE * jobHandle);
+
+DRV_SPI_BUFFER_EVENT DRV_SPI0_BufferStatus ( DRV_SPI_BUFFER_HANDLE bufferHandle );
+
+/* This API name was present in the old static driver which is maintained for compatibility.
+   So, giving a new name for the new static driver which is taken care of while mapping */
+#define  DRV_SPI0_BufferAddWriteReadNew(txbuff, txsize, rxbuff, rxsize, cb, ct ) \
+    DRV_SPI0_BufferAddWriteRead2((txbuff), (txsize), (rxbuff), (rxsize), (cb), (ct), NULL)
+
+
+
+// *********************************************************************************************
+// *********************************************************************************************
+// Section: Old static driver compatibility APIs, these will be deprecated.
+// *********************************************************************************************
+// *********************************************************************************************
+bool DRV_SPI0_ReceiverBufferIsFull( void );
+bool DRV_SPI0_TransmitterBufferIsFull( void );
+int32_t DRV_SPI0_BufferAddWriteRead(const void * txBuffer, void * rxBuffer, uint32_t size);
+// *********************************************************************************************
+
+
+
+// DOM-IGNORE-BEGIN
+#ifdef __cplusplus
+}
+#endif
+// DOM-IGNORE-END
+
+#endif // #ifndef _DRV_SPI_STATIC_H
+/*******************************************************************************
+ End of File
+*/
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_mapping.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_mapping.c
new file mode 100644
index 0000000000000000000000000000000000000000..c6f77736910fe7f4cda6ea1046ed38212cf93e68
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_mapping.c
@@ -0,0 +1,347 @@
+/* clang-format off */
+/*******************************************************************************
+  SPI Driver Dynamic to Static mapping
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_spi_mapping.c
+
+  Summary:
+    Source code for the SPI driver dynamic APIs to static API mapping.
+
+  Description:
+    This file contains code that maps dynamic APIs to static whenever
+    the static mode of the driver is selected..
+
+  Remarks:
+    Static interfaces incorporate the driver instance number within the names
+    of the routines, eliminating the need for an object ID or object handle.
+
+    Static single-open interfaces also eliminate the need for the open handle.
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+#include "system_config.h"
+#include "system_definitions.h"
+
+
+SYS_MODULE_OBJ DRV_SPI_Initialize(const SYS_MODULE_INDEX index,const SYS_MODULE_INIT * const init)
+{
+    SYS_MODULE_OBJ returnValue;
+
+    switch(index)
+    {
+        case DRV_SPI_INDEX_0:
+        {
+            returnValue = DRV_SPI0_Initialize();
+            break;
+        }
+        default:
+        {
+            returnValue = SYS_MODULE_OBJ_INVALID;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+void DRV_SPI_Deinitialize( SYS_MODULE_OBJ object)
+{
+    switch(object)
+    {
+        case DRV_SPI_INDEX_0:
+        {
+            DRV_SPI0_Deinitialize();
+            break;
+        }
+        default:
+        {
+            break;
+        }
+    }
+}
+
+SYS_STATUS DRV_SPI_Status( SYS_MODULE_OBJ object)
+{
+    SYS_STATUS returnValue;
+
+    switch(object)
+    {
+        case DRV_SPI_INDEX_0:
+        {
+            returnValue = DRV_SPI0_Status();
+            break;
+        }
+        default:
+        {
+            returnValue = SYS_STATUS_ERROR;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+void DRV_SPI_Tasks ( SYS_MODULE_OBJ object )
+{
+    switch(object)
+    {
+        case DRV_SPI_INDEX_0:
+        {
+            DRV_SPI0_Tasks();
+            break;
+        }
+        default:
+        {
+            break;
+        }
+    }
+}
+
+
+//client interface
+DRV_HANDLE DRV_SPI_Open( const SYS_MODULE_INDEX index, const DRV_IO_INTENT ioIntent)
+{
+    DRV_HANDLE returnValue;
+
+    switch(index)
+    {
+        case DRV_SPI_INDEX_0:
+        {
+            returnValue = DRV_SPI0_Open(index,ioIntent);
+            break;
+        }
+        default:
+        {
+            returnValue = DRV_HANDLE_INVALID;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+void DRV_SPI_Close( const DRV_HANDLE handle)
+{
+    uintptr_t instance;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_SPI_INDEX_0:
+        {
+            DRV_SPI0_Close( );
+            break;
+        }
+        default:
+        {
+            break;
+        }
+    }
+}
+
+int32_t DRV_SPI_ClientConfigure ( DRV_HANDLE handle, const DRV_SPI_CLIENT_DATA * cfgData  )
+{
+    uintptr_t instance;
+    int32_t returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_SPI_INDEX_0:
+        {
+            returnValue = DRV_SPI0_ClientConfigure( cfgData );
+            break;
+        }
+        default:
+        {
+            returnValue = (int32_t)DRV_HANDLE_INVALID;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+
+//Read & Write Client Interface
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI_BufferAddRead ( DRV_HANDLE handle,void *rxBuffer,size_t size,DRV_SPI_BUFFER_EVENT_HANDLER completeCB,void * context)
+{
+    uintptr_t instance;
+    DRV_SPI_BUFFER_HANDLE returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_SPI_INDEX_0:
+        {
+            returnValue = DRV_SPI0_BufferAddRead ( rxBuffer, size, completeCB, context);
+            break;
+        }
+        default:
+        {
+            returnValue = DRV_SPI_BUFFER_HANDLE_INVALID;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI_BufferAddWrite ( DRV_HANDLE handle,void *txBuffer,size_t size,DRV_SPI_BUFFER_EVENT_HANDLER completeCB,void * context)
+{
+    uintptr_t instance;
+    DRV_SPI_BUFFER_HANDLE returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_SPI_INDEX_0:
+        {
+            returnValue = DRV_SPI0_BufferAddWrite ( txBuffer, size, completeCB, context);
+            break;
+        }
+        default:
+        {
+            returnValue = DRV_SPI_BUFFER_HANDLE_INVALID;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI_BufferAddWriteRead ( DRV_HANDLE handle, void *txBuffer, size_t txSize,
+    void *rxBuffer, size_t rxSize, DRV_SPI_BUFFER_EVENT_HANDLER completeCB, void * context )
+{
+    uintptr_t instance;
+    DRV_SPI_BUFFER_HANDLE returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    //Mapping to a new static driver's API name.
+    switch(instance)
+    {
+        case DRV_SPI_INDEX_0:
+        {
+            returnValue = DRV_SPI0_BufferAddWriteReadNew ( txBuffer, txSize, rxBuffer, rxSize, completeCB, context );
+            break;
+        }
+        default:
+        {
+            returnValue = DRV_SPI_BUFFER_HANDLE_INVALID;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI_BufferAddRead2 ( DRV_HANDLE handle,void *rxBuffer,size_t size,DRV_SPI_BUFFER_EVENT_HANDLER completeCB,void * context, DRV_SPI_BUFFER_HANDLE * jobHandle)
+{
+    uintptr_t instance;
+    DRV_SPI_BUFFER_HANDLE returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_SPI_INDEX_0:
+        {
+            returnValue = DRV_SPI0_BufferAddRead2 ( rxBuffer, size, completeCB, context, jobHandle);
+            break;
+        }
+        default:
+        {
+            returnValue = DRV_SPI_BUFFER_HANDLE_INVALID;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI_BufferAddWrite2 ( DRV_HANDLE handle,void *txBuffer,size_t size,DRV_SPI_BUFFER_EVENT_HANDLER completeCB,void * context, DRV_SPI_BUFFER_HANDLE * jobHandle)
+{
+    uintptr_t instance;
+    DRV_SPI_BUFFER_HANDLE returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_SPI_INDEX_0:
+        {
+            returnValue = DRV_SPI0_BufferAddWrite2 ( txBuffer, size, completeCB, context, jobHandle);
+            break;
+        }
+        default:
+        {
+            returnValue = DRV_SPI_BUFFER_HANDLE_INVALID;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI_BufferAddWriteRead2 ( DRV_HANDLE handle, void *txBuffer, size_t txSize,void *rxBuffer, size_t rxSize,DRV_SPI_BUFFER_EVENT_HANDLER completeCB,void * context, DRV_SPI_BUFFER_HANDLE * jobHandle)
+{
+    uintptr_t instance;
+    DRV_SPI_BUFFER_HANDLE returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_SPI_INDEX_0:
+        {
+            returnValue = DRV_SPI0_BufferAddWriteRead2 ( txBuffer, txSize, rxBuffer, rxSize, completeCB, context, jobHandle);
+            break;
+        }
+        default:
+        {
+            returnValue = DRV_SPI_BUFFER_HANDLE_INVALID;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+DRV_SPI_BUFFER_EVENT DRV_SPI_BufferStatus ( DRV_SPI_BUFFER_HANDLE bufferHandle )
+{
+    //This function is independent of instance or client.
+    return DRV_SPI0_BufferStatus ( bufferHandle);
+}
+
+/*******************************************************************************
+ End of File
+*/
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static.c
new file mode 100644
index 0000000000000000000000000000000000000000..f892b338d627815d315f0f408a7f0e61cf8cf1d9
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static.c
@@ -0,0 +1,453 @@
+/* clang-format off */
+/*******************************************************************************
+  SPI Driver Static implementation
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_spi_static.c
+
+  Summary:
+    Source code for the SPI driver static implementation.
+
+  Description:
+    The SPI device driver provides a simple interface to manage the SPI
+    modules on Microchip microcontrollers. This file contains static implementation
+    for the SPI driver.
+
+  Remarks:
+    Static interfaces incorporate the driver instance number within the names
+    of the routines, eliminating the need for an object ID or object handle.
+
+    Static single-open interfaces also eliminate the need for the open handle.
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+
+#include <string.h>
+#include "system_config.h"
+#include "system_definitions.h"
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Global Data
+// *****************************************************************************
+// *****************************************************************************
+static uint8_t sDrvSPIQueueArea[DRV_SPI_SYS_QUEUE_BUFFER_SIZE(DRV_SPI_INSTANCES_NUMBER, sizeof(DRV_SPI_JOB_OBJECT), DRV_SPI_INSTANCES_NUMBER * DRV_SPI_ELEMENTS_PER_QUEUE)];
+
+/* This is the Queue manager object . */
+static DRV_SPI_SYS_QUEUE_MANAGER_SETUP qmInitData = {
+    sDrvSPIQueueArea,
+    sizeof(sDrvSPIQueueArea),
+    DRV_SPI_INSTANCES_NUMBER,
+    sizeof(DRV_SPI_JOB_OBJECT),
+    DRV_SPI_SYS_QUEUE_Fifo,
+};
+
+/* This is the Queue setup object . */
+static DRV_SPI_SYS_QUEUE_SETUP qInitData =
+{
+    0,
+    10,
+    0,
+};
+
+/* This is the Queue Manager handle*/
+DRV_SPI_SYS_QUEUE_MANAGER_HANDLE  hQueueManager;
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Instance 0 static driver functions
+// *****************************************************************************
+// *****************************************************************************
+/* This is the driver static object . */
+DRV_SPI_OBJ  gDrvSPI0Obj ;
+
+SYS_MODULE_OBJ DRV_SPI0_Initialize(void)
+{
+    DRV_SPI_OBJ *dObj = (DRV_SPI_OBJ*)NULL;
+
+    dObj = &gDrvSPI0Obj;
+
+    /* Disable the SPI module to configure it*/
+    PLIB_SPI_Disable ( SPI_ID_1 );
+
+    /* Set up Master or Slave Mode*/
+    PLIB_SPI_MasterEnable ( SPI_ID_1 );
+    PLIB_SPI_PinDisable(SPI_ID_1, SPI_PIN_SLAVE_SELECT);
+
+    /* Set up if the SPI is allowed to run while the rest of the CPU is in idle mode*/
+    PLIB_SPI_StopInIdleEnable( SPI_ID_1 );
+
+    /* Set up clock Polarity and output data phase*/
+    PLIB_SPI_ClockPolaritySelect( SPI_ID_1, SPI_CLOCK_POLARITY_IDLE_LOW );
+    PLIB_SPI_OutputDataPhaseSelect( SPI_ID_1, SPI_OUTPUT_DATA_PHASE_ON_IDLE_TO_ACTIVE_CLOCK );
+
+    /* Set up the Input Sample Phase*/
+    PLIB_SPI_InputSamplePhaseSelect ( SPI_ID_1, SPI_INPUT_SAMPLING_PHASE_IN_MIDDLE);
+
+    /* Communication Width Selection */
+    PLIB_SPI_CommunicationWidthSelect ( SPI_ID_1, SPI_COMMUNICATION_WIDTH_8BITS );
+
+    /* Baud rate selection */
+    PLIB_SPI_BaudRateSet( SPI_ID_1 , SYS_CLK_PeripheralFrequencyGet(CLK_BUS_PERIPHERAL_2), 10000000 );
+
+    /* Protocol selection */
+    PLIB_SPI_FramedCommunicationDisable( SPI_ID_1  );
+    #if defined (PLIB_SPI_ExistsAudioProtocolControl)
+            if (PLIB_SPI_ExistsAudioProtocolControl(SPI_ID_1))
+            {
+                PLIB_SPI_AudioProtocolDisable(SPI_ID_1);
+            }
+    #endif
+
+    /* Buffer type selection */
+    #if defined (PLIB_SPI_ExistsFIFOControl)
+        if (PLIB_SPI_ExistsFIFOControl( SPI_ID_1 ))
+        {
+            PLIB_SPI_FIFODisable( SPI_ID_1 );
+        }
+    #endif
+
+    PLIB_SPI_BufferClear( SPI_ID_1 );
+    PLIB_SPI_ReceiverOverflowClear ( SPI_ID_1 );
+
+    /* Initialize Queue only once for all instances of SPI driver*/
+    if (DRV_SPI_SYS_QUEUE_Initialize(&qmInitData, &hQueueManager) != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        SYS_ASSERT(false, "\r\nSPI Driver: Could not create queuing system.");
+        return SYS_MODULE_OBJ_INVALID;
+    }
+
+    /* Update the Queue parameters. */
+    qInitData.maxElements = 10; //Queue size
+    qInitData.reserveElements = 1; //Mininmum number of job queues reserved
+
+    /* Create Queue for this instance of SPI */
+    if (DRV_SPI_SYS_QUEUE_CreateQueue(hQueueManager, &qInitData, &dObj->queue) != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        SYS_ASSERT(false, "\r\nSPI Driver: Could not set up driver instance queue.");
+        return SYS_MODULE_OBJ_INVALID;
+
+    }
+
+    /* Update the SPI OBJECT parameters. */
+    dObj->operationStarting = NULL;
+    dObj->operationEnded = NULL;
+    dObj->numTrfsSmPolled = 16;
+
+    /* Enable the Module */
+    PLIB_SPI_Enable(SPI_ID_1);
+
+    return (SYS_MODULE_OBJ)DRV_SPI_INDEX_0 ;
+}
+
+void DRV_SPI0_Deinitialize ( void )
+{
+    /* Disable the SPI Module */
+    PLIB_SPI_Disable(SPI_ID_1);
+
+    return;
+}
+
+SYS_STATUS DRV_SPI0_Status ( void )
+{
+    /* Return the current status of driver instance */
+    return SYS_STATUS_READY;
+}
+
+void DRV_SPI0_Tasks ( void )
+{
+    /* Call the respective task routine */
+    DRV_SPI0_PolledMasterRM8BitTasks(&gDrvSPI0Obj);
+}
+
+DRV_HANDLE DRV_SPI0_Open ( const SYS_MODULE_INDEX index, const DRV_IO_INTENT intent )
+{
+    return (DRV_HANDLE)DRV_SPI_INDEX_0;
+}
+
+void DRV_SPI0_Close ( void )
+{
+    return;
+}
+
+int32_t DRV_SPI0_ClientConfigure ( const DRV_SPI_CLIENT_DATA * cfgData  )
+{
+    DRV_SPI_OBJ *dObj = (DRV_SPI_OBJ*)NULL;
+
+    dObj = &gDrvSPI0Obj;
+
+    if (cfgData == NULL)
+    {
+        /* Nothing to do */
+        return 0;
+    }
+
+    if (cfgData->operationStarting != NULL)
+    {
+        dObj->operationStarting = cfgData->operationStarting;
+    }
+
+    if (cfgData->operationEnded != NULL)
+    {
+        dObj->operationEnded = cfgData->operationEnded;
+    }
+
+    if (cfgData->baudRate != 0)
+    {
+
+        PLIB_SPI_BaudRateSet (SPI_ID_1,
+                              SYS_CLK_PeripheralFrequencyGet(CLK_BUS_PERIPHERAL_2),
+                              cfgData->baudRate);
+    }
+
+    return 0;
+}
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI0_BufferAddRead2 ( void *rxBuffer, size_t size, DRV_SPI_BUFFER_EVENT_HANDLER completeCB, void * context, DRV_SPI_BUFFER_HANDLE * jobHandle)
+{
+    DRV_SPI_OBJ *dObj = (DRV_SPI_OBJ*)NULL;
+
+    dObj = &gDrvSPI0Obj;
+
+    DRV_SPI_JOB_OBJECT * pJob = NULL;
+
+    if (DRV_SPI_SYS_QUEUE_AllocElementLock(dObj->queue, (void **)&pJob) != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        SYS_ASSERT(false, "\r\nSPI Driver: Error trying to get a free entry.");
+        return (DRV_SPI_BUFFER_HANDLE)NULL;
+    }
+
+    memset(pJob, 0, sizeof(DRV_SPI_JOB_OBJECT));
+
+    pJob->rxBuffer = rxBuffer;
+    pJob->dataLeftToRx = size;
+    pJob->dummyLeftToTx = size;
+    pJob->completeCB = completeCB;
+    pJob->context = context;
+    pJob->status = DRV_SPI_BUFFER_EVENT_PENDING;
+
+    if (jobHandle != NULL )
+    {
+        *jobHandle = (DRV_SPI_BUFFER_HANDLE)pJob;
+    }
+
+    if (DRV_SPI_SYS_QUEUE_EnqueueLock(dObj->queue, (void*)pJob) != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        SYS_ASSERT(false, "\r\nSPI Driver: Error enqueing new job.");
+        return (DRV_SPI_BUFFER_HANDLE)NULL;
+    }
+
+    return (DRV_SPI_BUFFER_HANDLE)pJob;
+}
+
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI0_BufferAddWrite2 ( void *txBuffer, size_t size, DRV_SPI_BUFFER_EVENT_HANDLER completeCB, void * context, DRV_SPI_BUFFER_HANDLE * jobHandle )
+{
+    DRV_SPI_OBJ *dObj = (DRV_SPI_OBJ*)NULL;
+
+    dObj = &gDrvSPI0Obj;
+
+    DRV_SPI_JOB_OBJECT * pJob = NULL;
+    if (DRV_SPI_SYS_QUEUE_AllocElementLock(dObj->queue, (void **)&pJob) != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        SYS_ASSERT(false, "\r\nSPI Driver: Error trying to get a free entry.");
+        return (DRV_SPI_BUFFER_HANDLE)NULL;
+    }
+
+    memset(pJob, 0, sizeof(DRV_SPI_JOB_OBJECT));
+    pJob->txBuffer = txBuffer;
+    pJob->dataLeftToTx = size;
+    pJob->dummyLeftToRx = size;
+    pJob->completeCB = completeCB;
+    pJob->context = context;
+    pJob->status = DRV_SPI_BUFFER_EVENT_PENDING;
+
+    if (jobHandle != NULL )
+    {
+        *jobHandle = (DRV_SPI_BUFFER_HANDLE)pJob;
+    }
+
+    if (DRV_SPI_SYS_QUEUE_EnqueueLock(dObj->queue, (void*)pJob) != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        SYS_ASSERT(false, "\r\nSPI Driver: Error enqueing new job.");
+        return (DRV_SPI_BUFFER_HANDLE)NULL;
+    }
+
+    return (DRV_SPI_BUFFER_HANDLE)pJob;
+}
+
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI0_BufferAddWriteRead2 ( void *txBuffer, size_t txSize, void *rxBuffer, size_t rxSize, DRV_SPI_BUFFER_EVENT_HANDLER completeCB, void * context, DRV_SPI_BUFFER_HANDLE * jobHandle )
+{
+    DRV_SPI_OBJ *dObj = (DRV_SPI_OBJ*)NULL;
+
+    dObj = &gDrvSPI0Obj;
+
+    DRV_SPI_JOB_OBJECT * pJob = NULL;
+    if (DRV_SPI_SYS_QUEUE_AllocElementLock(dObj->queue, (void **)&pJob) != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        SYS_ASSERT(false, "\r\nSPI Driver: Error trying to get a free entry.");
+        return (DRV_SPI_BUFFER_HANDLE)NULL;
+    }
+
+    memset(pJob, 0, sizeof(DRV_SPI_JOB_OBJECT));
+    pJob->txBuffer = txBuffer;
+    pJob->dataLeftToTx = txSize;
+    pJob->rxBuffer = rxBuffer;
+    pJob->dataLeftToRx = rxSize;
+
+    if (jobHandle != NULL )
+    {
+        *jobHandle = (DRV_SPI_BUFFER_HANDLE)pJob;
+    }
+    if (rxSize > txSize)
+    {
+        pJob->dummyLeftToTx = rxSize - txSize;
+    }
+    if (txSize > rxSize)
+    {
+        pJob->dummyLeftToRx = txSize - rxSize;
+    }
+    pJob->completeCB = completeCB;
+    pJob->context = context;
+    pJob->status = DRV_SPI_BUFFER_EVENT_PENDING;
+
+    if (DRV_SPI_SYS_QUEUE_EnqueueLock(dObj->queue, (void*)pJob) != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        SYS_ASSERT(false, "\r\nSPI Driver: Error enqueing new job.");
+        return (DRV_SPI_BUFFER_HANDLE)NULL;
+    }
+
+    return (DRV_SPI_BUFFER_HANDLE)pJob;
+}
+
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI0_BufferAddRead ( void *rxBuffer, size_t size, DRV_SPI_BUFFER_EVENT_HANDLER completeCB, void * context)
+{
+    return DRV_SPI0_BufferAddRead2(rxBuffer, size, completeCB, context, NULL);
+}
+
+DRV_SPI_BUFFER_HANDLE DRV_SPI0_BufferAddWrite ( void *txBuffer, size_t size, DRV_SPI_BUFFER_EVENT_HANDLER completeCB, void * context )
+{
+    return DRV_SPI0_BufferAddWrite2(txBuffer, size, completeCB, context, NULL);
+}
+
+DRV_SPI_BUFFER_EVENT DRV_SPI0_BufferStatus ( DRV_SPI_BUFFER_HANDLE bufferHandle )
+{
+    DRV_SPI_JOB_OBJECT * pJob = (DRV_SPI_JOB_OBJECT *)bufferHandle;
+
+    return pJob->status;
+}
+
+
+int32_t DRV_SPI0_PolledErrorTasks(struct DRV_SPI_OBJ * dObj)
+{
+
+    if (dObj->currentJob == NULL)
+    {
+        return 0;
+    }
+
+    register DRV_SPI_JOB_OBJECT * currentJob = dObj->currentJob;
+
+    if (PLIB_SPI_ReceiverHasOverflowed(SPI_ID_1))
+    {
+        currentJob->status = DRV_SPI_BUFFER_EVENT_ERROR;
+        if (currentJob->completeCB != NULL)
+        {
+            (*currentJob->completeCB)(DRV_SPI_BUFFER_EVENT_ERROR, (DRV_SPI_BUFFER_HANDLE)currentJob, currentJob->context);
+        }
+        if (dObj->operationEnded != NULL)
+        {
+            (*dObj->operationEnded)(DRV_SPI_BUFFER_EVENT_ERROR, (DRV_SPI_BUFFER_HANDLE)currentJob, currentJob->context);
+        }
+        if (DRV_SPI_SYS_QUEUE_FreeElementLock(dObj->queue, currentJob) != DRV_SPI_SYS_QUEUE_SUCCESS)
+        {
+            SYS_ASSERT(false, "\r\nSPI Driver: Queue free element error.");
+            return 0;
+        }
+        dObj->currentJob = NULL;
+        PLIB_SPI_BufferClear(SPI_ID_1 );
+        PLIB_SPI_ReceiverOverflowClear (SPI_ID_1 );
+    }
+    return 0;
+}
+
+
+// *********************************************************************************************
+// *********************************************************************************************
+// Section: Old static driver compatibility APIs, these will be deprecated.
+// *********************************************************************************************
+// *********************************************************************************************
+bool DRV_SPI0_ReceiverBufferIsFull(void)
+{
+    return (PLIB_SPI_ReceiverBufferIsFull(SPI_ID_1));
+}
+
+bool DRV_SPI0_TransmitterBufferIsFull(void)
+{
+    return (PLIB_SPI_TransmitBufferIsFull(SPI_ID_1));
+}
+
+int32_t DRV_SPI0_BufferAddWriteRead(const void * txBuffer, void * rxBuffer, uint32_t size)
+{
+    bool continueLoop;
+    int32_t txcounter = 0;
+    int32_t rxcounter = 0;
+    do {
+        continueLoop = false;
+        if(!PLIB_SPI_TransmitBufferIsFull(SPI_ID_1) && txcounter < size)
+        {
+            PLIB_SPI_BufferWrite(SPI_ID_1, ((uint8_t*)txBuffer)[txcounter]);
+            txcounter++;
+            continueLoop = true;
+        }
+
+        while (txcounter != rxcounter)
+        {
+            while(!PLIB_SPI_ReceiverBufferIsFull(SPI_ID_1));
+            ((uint8_t*)rxBuffer)[rxcounter] = PLIB_SPI_BufferRead(SPI_ID_1);
+            rxcounter++;
+            continueLoop = true;
+        }
+        if (txcounter > rxcounter)
+        {
+            continueLoop = true;
+        }
+    }while(continueLoop);
+    return txcounter;
+}
+
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_local.h b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_local.h
new file mode 100644
index 0000000000000000000000000000000000000000..8ec49506613f1a754d258553c19298c1f0105778
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_local.h
@@ -0,0 +1,207 @@
+/* clang-format off */
+/*******************************************************************************
+  SPI Driver Local Data Structures for static implementation
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_spi_static_local.h
+
+  Summary:
+    SPI Driver Local Data Structures for static implementation
+
+  Description:
+    Driver Local Data Structures for static implementation
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute Software
+only when embedded on a Microchip microcontroller or digital  signal  controller
+that is integrated into your product or third party  product  (pursuant  to  the
+sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS  WITHOUT  WARRANTY  OF  ANY  KIND,
+EITHER EXPRESS  OR  IMPLIED,  INCLUDING  WITHOUT  LIMITATION,  ANY  WARRANTY  OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A  PARTICULAR  PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR  ITS  LICENSORS  BE  LIABLE  OR  OBLIGATED  UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION,  BREACH  OF  WARRANTY,  OR
+OTHER LEGAL  EQUITABLE  THEORY  ANY  DIRECT  OR  INDIRECT  DAMAGES  OR  EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY  INCIDENTAL,  SPECIAL,  INDIRECT,  PUNITIVE  OR
+CONSEQUENTIAL DAMAGES, LOST  PROFITS  OR  LOST  DATA,  COST  OF  PROCUREMENT  OF
+SUBSTITUTE  GOODS,  TECHNOLOGY,  SERVICES,  OR  ANY  CLAIMS  BY  THIRD   PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE  THEREOF),  OR  OTHER  SIMILAR  COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+#ifndef _DRV_SPI_STATIC_LOCAL_H
+#define _DRV_SPI_STATIC_LOCAL_H
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+#include "system_config.h"
+#include "driver/spi/drv_spi.h"
+#include "system/int/sys_int.h"
+#include "system/debug/sys_debug.h"
+#include "driver/spi/static/src/drv_spi_static_sys_queue.h"
+
+// DOM-IGNORE-BEGIN
+#ifdef __cplusplus  // Provide C++ Compatibility
+
+    extern "C" {
+
+#endif
+// DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Data Type Definitions
+// *****************************************************************************
+// *****************************************************************************
+#define MAX(a,b) ((a<b) ? b : a)
+#define MIN(a,b) ((b<a) ? b : a)
+
+#define PLIB_SPI_RX_8BIT_FIFO_SIZE(index)    16
+#define PLIB_SPI_RX_8BIT_HW_MARK(index)      8
+#define PLIB_SPI_RX_16BIT_FIFO_SIZE(index)   8
+#define PLIB_SPI_RX_16BIT_HW_MARK(index)     4
+#define PLIB_SPI_RX_32BIT_FIFO_SIZE(index)   4
+#define PLIB_SPI_RX_32BIT_HW_MARK(index)     2
+
+
+#define PLIB_SPI_TX_8BIT_FIFO_SIZE(index)   16
+#define PLIB_SPI_TX_8BIT_LW_MARK(index)     8
+#define PLIB_SPI_TX_16BIT_FIFO_SIZE(index)  8
+#define PLIB_SPI_TX_16BIT_LW_MARK(index)    4
+#define PLIB_SPI_TX_32BIT_FIFO_SIZE(index)  4
+#define PLIB_SPI_TX_32BIT_LW_MARK(index)    2
+
+struct DRV_SPI_OBJ;
+
+/* SPI Job object. */
+typedef struct _DRV_SPI_JOB_OBJECT
+{
+    uint8_t *txBuffer;
+    uint8_t *rxBuffer;
+    size_t dataTxed;
+    size_t dataRxed;
+    size_t dataLeftToTx;
+    size_t dummyLeftToTx;
+    size_t dataLeftToRx;
+    size_t dummyLeftToRx;
+    DRV_SPI_BUFFER_EVENT status;
+    DRV_SPI_BUFFER_EVENT_HANDLER completeCB;
+    void * context;
+}DRV_SPI_JOB_OBJECT;
+
+// *****************************************************************************
+/* SPI Static Driver Instance Object
+
+  Summary:
+    Object used to keep any data required for the static SPI driver.
+
+  Description:
+    This object is used to keep track of any data that must be maintained to
+    manage the SPI static driver.
+
+  Remarks:
+    None.
+*/
+
+typedef struct DRV_SPI_OBJ
+{
+    uint8_t                                     numTrfsSmPolled;
+    bool                                        errEnabled;
+    DRV_SPI_BUFFER_EVENT_HANDLER                operationStarting;
+    DRV_SPI_BUFFER_EVENT_HANDLER                operationEnded;
+    DRV_SPI_SYS_QUEUE_HANDLE                    queue;
+    DRV_SPI_JOB_OBJECT *                        currentJob;
+    bool                                        txEnabled;
+    bool                                        rxEnabled;
+    uint8_t                                     symbolsInProgress;
+} DRV_SPI_OBJ;
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Queue related Data Type Definitions
+// *****************************************************************************
+// *****************************************************************************
+typedef struct _DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA
+{
+    struct _DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA * pNext;
+}DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA;
+
+typedef struct _DRV_SPI_SYS_QUEUE_QUEUE_DATA
+{
+    void * pQueueManager;
+    DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA * pHead;
+    DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA * pTail;
+    DRV_SPI_SYS_QUEUE_INTERUPT_CHANGE fptrIntChange;
+    size_t numReserved;
+    size_t maxElements;
+    size_t numAlloc;
+    struct _DRV_SPI_SYS_QUEUE_QUEUE_DATA * pNext;
+    size_t numEnqueued;
+    size_t numAllocOps;
+    size_t numFreeOps;
+    size_t numDequeueOps;
+    size_t numEnqueueOps;
+    size_t numReserveLW;
+    size_t numAllocHW;
+    size_t numEnqueuedHW;
+    size_t outOfMemoryErrors;
+}DRV_SPI_SYS_QUEUE_QUEUE_DATA;
+
+typedef struct _DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA
+{
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pQueueArea;
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pFreeQueueHead;
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pFreeQueueTail;
+    DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA * pElementArea;
+    DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA * pFreeElementHead;
+    DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA * pFreeElementTail;
+    size_t numReserveElements;
+    size_t numFreeElements;
+    size_t numAllocOps;
+    size_t numFreeOps;
+    size_t numQueueCreateOps;
+    size_t numQueueDestroyOps;
+    size_t freeElementsLW;
+    size_t reserveElementsLW;
+    size_t outOfMemoryErrors;
+    uint8_t numQueues;
+    uint8_t numQueuesHW;
+}DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA;
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Local functions.
+// *****************************************************************************
+// *****************************************************************************
+
+int32_t DRV_SPI0_PolledMasterRM8BitTasks ( struct DRV_SPI_OBJ * dObj );
+int32_t DRV_SPI0_PolledErrorTasks(struct DRV_SPI_OBJ * dObj);
+int32_t DRV_SPI0_MasterRMSend8BitPolled( struct DRV_SPI_OBJ * dObj );
+int32_t DRV_SPI0_MasterRMReceive8BitPolled( struct DRV_SPI_OBJ * dObj );
+// DOM-IGNORE-BEGIN
+#ifdef __cplusplus
+}
+#endif
+// DOM-IGNORE-END
+
+#endif //#ifndef _DRV_SPI_STATIC_LOCAL_H
+
+/*******************************************************************************
+ End of File
+*/
+
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_rm_tasks.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_rm_tasks.c
new file mode 100644
index 0000000000000000000000000000000000000000..70e831fc56d1eb6765535de03467646cd683b478
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_rm_tasks.c
@@ -0,0 +1,124 @@
+/* clang-format off */
+/*******************************************************************************
+  SPI Driver Functions for Static Standard Buffer Driver Tasks Functions
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_spi_static_rm_tasks.c
+
+  Summary:
+    SPI driver tasks functions
+
+  Description:
+    The SPI device driver provides a simple interface to manage the SPI
+    modules on Microchip microcontrollers. This file contains implemenation
+    for the SPI driver.
+
+  Remarks:
+  This file is generated from framework/driver/spi/template/drv_spi_static_rm_tasks.c.ftl
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+
+#include "system_config.h"
+#include "system_definitions.h"
+
+int32_t DRV_SPI0_MasterRMSend8BitPolled( struct DRV_SPI_OBJ * pDrvObj )
+{
+    register DRV_SPI_JOB_OBJECT * currentJob = pDrvObj->currentJob;
+
+    /* Check to see if we have any more bytes to transmit */
+    if (currentJob->dataLeftToTx + currentJob->dummyLeftToTx == 0)
+    {
+        return 0;
+    }
+    /* Check to see if the transmit buffer is empty*/
+    if (!PLIB_SPI_TransmitBufferIsEmpty(SPI_ID_1))
+    {
+        return 0;
+    }
+    /* Make sure that we don't have something in progress and overrun the RX buffer */
+    if (pDrvObj->symbolsInProgress != 0)
+    {
+        return 0;
+    }
+    if (currentJob->dataLeftToTx != 0)
+    {
+    /* Transmit the data & update the counts */
+        PLIB_SPI_BufferWrite(SPI_ID_1, currentJob->txBuffer[currentJob->dataTxed]);
+        currentJob->dataTxed++;
+        currentJob->dataLeftToTx--;
+    }
+    else
+    {
+        /* Transmit the dummy data & update the counts */
+        PLIB_SPI_BufferWrite(SPI_ID_1, 0xff);
+        currentJob->dummyLeftToTx--;
+    }
+    /* We now have a symbol in progress*/
+    pDrvObj->symbolsInProgress = 1;
+
+    return 0;
+}
+
+int32_t DRV_SPI0_MasterRMReceive8BitPolled( struct DRV_SPI_OBJ * pDrvObj )
+{
+    register DRV_SPI_JOB_OBJECT * currentJob = pDrvObj->currentJob;
+
+    if (currentJob == NULL)
+    {
+        return 0;
+    }
+    if (PLIB_SPI_ReceiverBufferIsFull(SPI_ID_1))
+    {
+        /* We have data waiting in the SPI buffer */
+        if (currentJob->dataLeftToRx != 0)
+        {
+            /* Receive the data and updates the count */
+            currentJob->rxBuffer[currentJob->dataRxed] = PLIB_SPI_BufferRead(SPI_ID_1);
+            currentJob->dataRxed++;
+            currentJob->dataLeftToRx --;
+        }
+        else
+        {
+            /* No Data but dummy data: Note: We cannot just clear the
+               buffer because we have to keep track of how many symbols/units we
+               have received, and the number may have increased since we checked
+               how full the buffer is.*/
+            PLIB_SPI_BufferRead(SPI_ID_1);
+            //SYS_CONSOLE_MESSAGE("Rd ");
+            currentJob->dummyLeftToRx--;
+        }
+        /* No longer have a symbol in progress */
+        pDrvObj->symbolsInProgress = 0;
+    }
+
+    return 0;
+}
+
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.c
new file mode 100644
index 0000000000000000000000000000000000000000..aadbceec741d75fa92da06f3ea0ff9520c28dcf9
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.c
@@ -0,0 +1,726 @@
+/* clang-format off */
+/*******************************************************************************
+  SPI Driver Queue related local interfaces
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_spi_static_sys_queue.h
+
+  Summary:
+    Queue related local interface declarations
+
+  Description:
+    Queue related local interface declarations
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute Software
+only when embedded on a Microchip microcontroller or digital  signal  controller
+that is integrated into your product or third party  product  (pursuant  to  the
+sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS  WITHOUT  WARRANTY  OF  ANY  KIND,
+EITHER EXPRESS  OR  IMPLIED,  INCLUDING  WITHOUT  LIMITATION,  ANY  WARRANTY  OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A  PARTICULAR  PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR  ITS  LICENSORS  BE  LIABLE  OR  OBLIGATED  UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION,  BREACH  OF  WARRANTY,  OR
+OTHER LEGAL  EQUITABLE  THEORY  ANY  DIRECT  OR  INDIRECT  DAMAGES  OR  EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY  INCIDENTAL,  SPECIAL,  INDIRECT,  PUNITIVE  OR
+CONSEQUENTIAL DAMAGES, LOST  PROFITS  OR  LOST  DATA,  COST  OF  PROCUREMENT  OF
+SUBSTITUTE  GOODS,  TECHNOLOGY,  SERVICES,  OR  ANY  CLAIMS  BY  THIRD   PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE  THEREOF),  OR  OTHER  SIMILAR  COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+#include <string.h>
+#include "system_config.h"
+#include "system_definitions.h"
+
+DRV_SPI_SYS_QUEUE_RESULT _DRV_SPI_SYS_QUEUE_LockQueue(DRV_SPI_SYS_QUEUE_HANDLE queue, bool freeList);
+DRV_SPI_SYS_QUEUE_RESULT _DRV_SPI_SYS_QUEUE_UnlockQueue(DRV_SPI_SYS_QUEUE_HANDLE queue, bool freeList);
+DRV_SPI_SYS_QUEUE_RESULT _DRV_SPI_SYS_QUEUE_LockQueueManager(DRV_SPI_SYS_QUEUE_MANAGER_HANDLE queueManager);
+DRV_SPI_SYS_QUEUE_RESULT _DRV_SPI_SYS_QUEUE_UnlockQueueManager(DRV_SPI_SYS_QUEUE_MANAGER_HANDLE queueManager);
+
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Initialize(DRV_SPI_SYS_QUEUE_MANAGER_SETUP * initParams, DRV_SPI_SYS_QUEUE_MANAGER_HANDLE * handle)
+{
+    if (initParams == NULL || initParams->pBuffer == NULL || handle == NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    if (initParams->type != DRV_SPI_SYS_QUEUE_Fifo)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    size_t sizeNeeded = (sizeof(DRV_SPI_SYS_QUEUE_QUEUE_DATA) *
+                        initParams->numQueues) +
+                        sizeof(DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA) +
+                        (sizeof(DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA) +
+                        initParams->elementSize);
+
+    if (initParams->bufferLen < sizeNeeded)
+    {
+        return DRV_SPI_SYS_QUEUE_OUT_OF_MEMORY;
+    }
+
+    // Blank the memory area
+    memset(initParams->pBuffer, 0, initParams->bufferLen);
+
+    // Set up the Queue Manager Area
+    DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA * pQueueManager = (DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA *)initParams->pBuffer;
+    pQueueManager->pQueueArea  = (DRV_SPI_SYS_QUEUE_QUEUE_DATA*)((uint32_t)pQueueManager + sizeof(DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA));
+    pQueueManager->pElementArea  = (DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA*)((uint32_t)pQueueManager->pQueueArea + (sizeof(DRV_SPI_SYS_QUEUE_QUEUE_DATA) * initParams->numQueues) );
+
+    //Set up the Queue Handles
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pQueue = pQueueManager->pQueueArea;
+    pQueueManager->pFreeQueueHead = pQueue;
+    pQueueManager->pFreeQueueTail = pQueue;
+    pQueue->pQueueManager = pQueueManager;
+    uint8_t counter;
+    for (counter = 1; counter < initParams->numQueues; counter++)
+    {
+        pQueueManager->pFreeQueueTail->pNext = &(pQueue[counter]);
+        pQueueManager->pFreeQueueTail = &(pQueue[counter]);
+        pQueue[counter].pQueueManager = pQueueManager;
+    }
+
+    // Set up the elements
+    size_t spaceRemaining = initParams->bufferLen -
+            sizeof(DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA) -
+            (sizeof(DRV_SPI_SYS_QUEUE_QUEUE_DATA) * initParams->numQueues);
+    size_t numberOfElements = spaceRemaining /
+            (sizeof(DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA) + initParams->elementSize );
+
+    DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA * pElement = pQueueManager->pElementArea;
+    pQueueManager->pFreeElementHead = pElement;
+    pQueueManager->pFreeElementTail = pElement;
+
+    for (counter = 1; counter < numberOfElements; counter ++)
+    {
+        pElement = (DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA *)
+              ((uint32_t)pQueueManager->pElementArea +
+               (sizeof(DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA) +
+                initParams->elementSize) *
+               counter);
+        pQueueManager->pFreeElementTail->pNext = pElement;
+        pQueueManager->pFreeElementTail = pElement;
+    }
+    pQueueManager->numFreeElements = numberOfElements;
+#if _SPI_DRV_SYS_QUEUE_TRACKING
+    pQueueManager->freeElementsLW = numberOfElements;
+#endif
+    *handle = (DRV_SPI_SYS_QUEUE_MANAGER_HANDLE)pQueueManager;
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Deinitialize(DRV_SPI_SYS_QUEUE_MANAGER_HANDLE queueManager)
+{
+    if ((queueManager <= 0) && (queueManager >= DRV_SPI_SYS_QUEUE_MAX_ERROR))
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_CreateQueue(DRV_SPI_SYS_QUEUE_MANAGER_HANDLE queueManager, DRV_SPI_SYS_QUEUE_SETUP * initParams, DRV_SPI_SYS_QUEUE_HANDLE * handle)
+{
+    if ((queueManager <= 0) && (queueManager >= DRV_SPI_SYS_QUEUE_MAX_ERROR))
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+    DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA * pQueueManager = (DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA *)queueManager;
+    if (initParams == NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+    if (pQueueManager->pFreeQueueHead == NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_OUT_OF_QUEUES;
+    }
+
+    if ((pQueueManager->numReserveElements + initParams->reserveElements) > pQueueManager->numFreeElements)
+    {
+        return DRV_SPI_SYS_QUEUE_OUT_OF_MEMORY;
+    }
+
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pQueue = pQueueManager->pFreeQueueHead;
+    pQueueManager->pFreeQueueHead = pQueue->pNext;
+    if (pQueueManager->pFreeQueueHead == NULL)
+    {
+        pQueueManager->pFreeQueueTail = NULL;
+    }
+    memset(pQueue, 0, sizeof(DRV_SPI_SYS_QUEUE_QUEUE_DATA));
+    pQueue->pQueueManager = pQueueManager;
+
+    pQueue->fptrIntChange = initParams->fptrIntChange;
+    pQueue->numReserved = initParams->reserveElements;
+    pQueue->maxElements = initParams->maxElements;
+
+    pQueueManager->numReserveElements += initParams->reserveElements;
+
+#if _SPI_DRV_SYS_QUEUE_TRACKING
+    pQueueManager->numQueueCreateOps++;
+    pQueueManager->numQueues++;
+    pQueueManager->reserveElementsLW += initParams->reserveElements;
+    if (pQueueManager->numQueues > pQueueManager->numQueuesHW)
+    {
+        pQueueManager->numQueuesHW = pQueueManager->numQueues;
+    }
+#endif
+
+   *handle =  (DRV_SPI_SYS_QUEUE_HANDLE)pQueue;
+   return DRV_SPI_SYS_QUEUE_SUCCESS;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_DestroyQueue(DRV_SPI_SYS_QUEUE_HANDLE queue)
+{
+    if ((queue <= 0) && (queue >= DRV_SPI_SYS_QUEUE_MAX_ERROR))
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pQueue = (DRV_SPI_SYS_QUEUE_QUEUE_DATA *)queue;
+    DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA * pQueueManager = pQueue->pQueueManager;
+
+    if (pQueue->pNext != NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+
+    void * pElement = NULL;
+    DRV_SPI_SYS_QUEUE_Dequeue(queue, &pElement);
+    while (pElement != NULL)
+    {
+        DRV_SPI_SYS_QUEUE_FreeElement(queue, pElement);
+        DRV_SPI_SYS_QUEUE_Dequeue(queue, &pElement);
+    }
+
+    pQueueManager->numReserveElements -= pQueue->numReserved;
+    if (pQueueManager->pFreeQueueTail == NULL)
+    {
+        pQueueManager->pFreeQueueTail = pQueue;
+        pQueueManager->pFreeQueueHead = pQueue;
+    }
+    else
+    {
+        pQueue->pNext = pQueueManager->pFreeQueueHead;
+        pQueueManager->pFreeQueueHead = pQueue;
+    }
+
+#if _SPI_DRV_SYS_QUEUE_TRACKING
+    pQueueManager->numQueueDestroyOps++;
+    pQueueManager->numQueues--;
+    pQueueManager->reserveElementsLW -= pQueueManager->numReserveElements;
+#endif
+
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_AllocElement(DRV_SPI_SYS_QUEUE_HANDLE queue, void ** element)
+{
+    if (element == NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+    if ((queue <= 0) && (queue >= DRV_SPI_SYS_QUEUE_MAX_ERROR))
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pQueue = (DRV_SPI_SYS_QUEUE_QUEUE_DATA *)queue;
+    DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA * pQueueManager = pQueue->pQueueManager;
+
+    if (pQueue->pNext != NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    if (pQueueManager->pFreeElementHead== NULL)
+    {
+#if _SPI_DRV_SYS_QUEUE_TRACKING
+        pQueueManager->outOfMemoryErrors++;
+        pQueue->outOfMemoryErrors++;
+#endif
+        return DRV_SPI_SYS_QUEUE_OUT_OF_MEMORY;
+    }
+
+    if (pQueue->numAlloc == pQueue->maxElements)
+    {
+#if _SPI_DRV_SYS_QUEUE_TRACKING
+        pQueueManager->outOfMemoryErrors++;
+        pQueue->outOfMemoryErrors++;
+#endif
+        return DRV_SPI_SYS_QUEUE_OUT_OF_MEMORY;
+    }
+
+    if (pQueue->numAlloc < pQueue->numReserved)
+    {
+        pQueueManager->numReserveElements--;
+    }
+    else if (pQueueManager->numFreeElements == pQueueManager->numReserveElements)
+    {
+#if _SPI_DRV_SYS_QUEUE_TRACKING
+        pQueueManager->outOfMemoryErrors++;
+        pQueue->outOfMemoryErrors++;
+#endif
+        return DRV_SPI_SYS_QUEUE_OUT_OF_MEMORY;
+    }
+
+    DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA * pEntry = pQueueManager->pFreeElementHead;
+    pQueueManager->pFreeElementHead = pEntry->pNext;
+    if (pQueueManager->pFreeElementHead == NULL)
+    {
+        pQueueManager->pFreeElementTail = NULL;
+    }
+    pEntry->pNext = NULL;
+    pQueueManager->numFreeElements --;
+    pQueue->numAlloc++;
+
+#if _SPI_DRV_SYS_QUEUE_TRACKING
+    pQueue->numAllocOps ++;
+    pQueueManager->numAllocOps ++;
+    if (pQueueManager->numFreeElements < pQueueManager->freeElementsLW)
+    {
+        pQueueManager->freeElementsLW = pQueueManager->numFreeElements;
+    }
+    if (pQueueManager->numReserveElements < pQueueManager->reserveElementsLW)
+    {
+        pQueueManager->reserveElementsLW = pQueueManager->numReserveElements;
+    }
+    if (pQueue->numAlloc > pQueue->numAllocHW)
+    {
+        pQueue->numAllocHW = pQueue->numAlloc;
+    }
+#endif
+    *element = (void *)((uint32_t)pEntry + sizeof(DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA));
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_FreeElement(DRV_SPI_SYS_QUEUE_HANDLE queue, void * element)
+{
+    if ((queue <= 0) && (queue >= DRV_SPI_SYS_QUEUE_MAX_ERROR))
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pQueue = (DRV_SPI_SYS_QUEUE_QUEUE_DATA *)queue;
+    DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA * pQueueManager = pQueue->pQueueManager;
+
+    if (pQueue->pNext != NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA * pEntry = (DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA *)((uint32_t)element - sizeof(DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA));
+
+    if (pQueueManager->pFreeElementHead == NULL)
+    {
+        pQueueManager->pFreeElementHead = pEntry;
+    }
+    else
+    {
+        pQueueManager->pFreeElementTail->pNext = pEntry;
+    }
+    pQueueManager->pFreeElementTail = pEntry;
+
+    pQueueManager->numFreeElements++;
+    pQueue->numAlloc--;
+    if (pQueue->numAlloc < pQueue->numReserved)
+    {
+        pQueueManager->numReserveElements++;
+    }
+
+#if _SPI_DRV_SYS_QUEUE_TRACKING
+    pQueue->numFreeOps ++;
+    pQueueManager->numFreeOps ++;
+#endif
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Enqueue(DRV_SPI_SYS_QUEUE_HANDLE queue, void * element)
+{
+    if ((queue <= 0) && (queue >= DRV_SPI_SYS_QUEUE_MAX_ERROR))
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pQueue = (DRV_SPI_SYS_QUEUE_QUEUE_DATA *)queue;
+
+    if (pQueue->pNext != NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA * pEntry = (DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA *)((uint32_t)element - sizeof(DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA));
+
+    if (pQueue->pHead == NULL)
+    {
+        pQueue->pHead = pEntry;
+        pQueue->pTail = pEntry;
+    }
+    else
+    {
+        pQueue->pTail->pNext = pEntry;
+        pQueue->pTail = pEntry;
+    }
+
+#if _SPI_DRV_SYS_QUEUE_TRACKING
+    pQueue->numEnqueued++;
+    if (pQueue->numEnqueued > pQueue->numEnqueuedHW)
+    {
+        pQueue->numEnqueuedHW = pQueue->numEnqueued;
+    }
+    pQueue->numEnqueueOps++;
+#endif
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Dequeue(DRV_SPI_SYS_QUEUE_HANDLE queue, void ** element)
+{
+    if (element == NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+    if ((queue <= 0) && (queue >= DRV_SPI_SYS_QUEUE_MAX_ERROR))
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pQueue = (DRV_SPI_SYS_QUEUE_QUEUE_DATA *)queue;
+
+    if (pQueue->pNext != NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+    if (pQueue->pHead == NULL)
+    {
+        *element = NULL;
+        return DRV_SPI_SYS_QUEUE_SUCCESS;
+    }
+    DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA * pEntry = pQueue->pHead;
+    pQueue->pHead = pEntry->pNext;
+    if (pQueue->pHead == NULL)
+    {
+        pQueue->pTail = NULL;
+    }
+
+    pEntry->pNext = NULL;
+
+#if _SPI_DRV_SYS_QUEUE_TRACKING
+    pQueue->numEnqueued--;
+    pQueue->numDequeueOps++;
+#endif
+    *element = (void *)((uint32_t)pEntry + sizeof(DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA));
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Peek(DRV_SPI_SYS_QUEUE_HANDLE queue, void ** element)
+{
+    if (element == NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+    if ((queue <= 0) && (queue >= DRV_SPI_SYS_QUEUE_MAX_ERROR))
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pQueue = (DRV_SPI_SYS_QUEUE_QUEUE_DATA *)queue;
+
+    if (pQueue->pNext != NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+    if (pQueue->pHead == NULL)
+    {
+        *element = NULL;
+    }
+    DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA * pEntry = pQueue->pHead;
+    *element = (void *)((uint32_t)pEntry + sizeof(DRV_SPI_SYS_QUEUE_FIFO_ELEMENT_DATA));
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+}
+
+bool DRV_SPI_SYS_QUEUE_IsEmpty(DRV_SPI_SYS_QUEUE_HANDLE queue)
+{
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pQueue = (DRV_SPI_SYS_QUEUE_QUEUE_DATA *)queue;
+    return pQueue->pHead == NULL;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Lock(DRV_SPI_SYS_QUEUE_HANDLE queue)
+{
+
+    return _DRV_SPI_SYS_QUEUE_LockQueue(queue, false);
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Unlock(DRV_SPI_SYS_QUEUE_HANDLE queue)
+{
+    return _DRV_SPI_SYS_QUEUE_UnlockQueue(queue, false);
+}
+
+DRV_SPI_SYS_QUEUE_RESULT _DRV_SPI_SYS_QUEUE_LockQueue(DRV_SPI_SYS_QUEUE_HANDLE queue, bool freeList)
+{
+    if ((queue <= 0) && (queue >= DRV_SPI_SYS_QUEUE_MAX_ERROR))
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pQueue = (DRV_SPI_SYS_QUEUE_QUEUE_DATA *)queue;
+    DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA * pQueueManager = pQueue->pQueueManager;
+
+    if (pQueue->pNext != NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    if (freeList)
+    {
+        return _DRV_SPI_SYS_QUEUE_LockQueueManager((DRV_SPI_SYS_QUEUE_MANAGER_HANDLE)pQueueManager);
+    }
+    else
+    {
+        if (pQueue->fptrIntChange != NULL)
+        {
+            (*pQueue->fptrIntChange)(queue, true);
+        }
+    }
+
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT _DRV_SPI_SYS_QUEUE_UnlockQueue(DRV_SPI_SYS_QUEUE_HANDLE queue, bool freeList)
+{
+    if ((queue <= 0) && (queue >= DRV_SPI_SYS_QUEUE_MAX_ERROR))
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pQueue = (DRV_SPI_SYS_QUEUE_QUEUE_DATA *)queue;
+    DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA * pQueueManager = pQueue->pQueueManager;
+
+    if (pQueue->pNext != NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    if (freeList)
+    {
+        return _DRV_SPI_SYS_QUEUE_UnlockQueueManager((DRV_SPI_SYS_QUEUE_MANAGER_HANDLE)pQueueManager);
+    }
+    else
+    {
+        if (pQueue->fptrIntChange != NULL)
+        {
+            (*pQueue->fptrIntChange)(queue, false);
+        }
+    }
+
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+}
+
+DRV_SPI_SYS_QUEUE_HANDLE DRV_SPI_SYS_QUEUE_CreateQueueLock(DRV_SPI_SYS_QUEUE_MANAGER_HANDLE queueManager, DRV_SPI_SYS_QUEUE_SETUP * initParams, DRV_SPI_SYS_QUEUE_HANDLE * queue)
+{
+    DRV_SPI_SYS_QUEUE_RESULT ret;
+    DRV_SPI_SYS_QUEUE_HANDLE  ret2;
+    ret = _DRV_SPI_SYS_QUEUE_LockQueueManager(queueManager);
+    if (ret != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        return ret;
+    }
+
+    ret2 = DRV_SPI_SYS_QUEUE_CreateQueue(queueManager, initParams, queue);
+
+    ret = _DRV_SPI_SYS_QUEUE_UnlockQueueManager(queueManager);
+    if (ret != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        return ret;
+    }
+    return ret2;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_DestroyQueueLock(DRV_SPI_SYS_QUEUE_HANDLE queue)
+{
+    DRV_SPI_SYS_QUEUE_RESULT ret;
+    DRV_SPI_SYS_QUEUE_RESULT  ret2;
+    ret = _DRV_SPI_SYS_QUEUE_LockQueue(queue, true);// TODO!!! Fix this
+    if (ret != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        return ret;
+    }
+
+    ret2 = DRV_SPI_SYS_QUEUE_DestroyQueue(queue);
+
+    ret = _DRV_SPI_SYS_QUEUE_UnlockQueue(queue, true);
+    if (ret != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        return ret;
+    }
+    return ret2;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_AllocElementLock(DRV_SPI_SYS_QUEUE_HANDLE queue, void  ** element)
+{
+    DRV_SPI_SYS_QUEUE_RESULT ret;
+    DRV_SPI_SYS_QUEUE_RESULT ret2;
+    ret = _DRV_SPI_SYS_QUEUE_LockQueue(queue, true);
+    if (ret != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        return ret;
+    }
+
+    ret2 = DRV_SPI_SYS_QUEUE_AllocElement(queue, element);
+
+    ret = _DRV_SPI_SYS_QUEUE_UnlockQueue(queue, true);
+    if (ret != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        return ret;
+    }
+    return ret2;
+}
+
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_FreeElementLock(DRV_SPI_SYS_QUEUE_HANDLE queue, void * element)
+{
+    DRV_SPI_SYS_QUEUE_RESULT ret;
+    DRV_SPI_SYS_QUEUE_RESULT  ret2;
+    ret = _DRV_SPI_SYS_QUEUE_LockQueue(queue, true);
+    if (ret != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        return ret;
+    }
+
+    ret2 = DRV_SPI_SYS_QUEUE_FreeElement(queue, element);
+
+    ret = _DRV_SPI_SYS_QUEUE_UnlockQueue(queue, true);
+    if (ret != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        return ret;
+    }
+    return ret2;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_EnqueueLock(DRV_SPI_SYS_QUEUE_HANDLE queue, void * element)
+{
+    DRV_SPI_SYS_QUEUE_RESULT ret;
+    DRV_SPI_SYS_QUEUE_RESULT  ret2;
+    ret = _DRV_SPI_SYS_QUEUE_LockQueue(queue, false);
+    if (ret != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        return ret;
+    }
+
+    ret2 = DRV_SPI_SYS_QUEUE_Enqueue(queue, element);
+
+    ret = _DRV_SPI_SYS_QUEUE_UnlockQueue(queue, false);
+    if (ret != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        return ret;
+    }
+    return ret2;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_DequeueLock(DRV_SPI_SYS_QUEUE_HANDLE queue, void ** element)
+{
+    DRV_SPI_SYS_QUEUE_RESULT ret;
+    DRV_SPI_SYS_QUEUE_RESULT  ret2;
+    ret = _DRV_SPI_SYS_QUEUE_LockQueue(queue, false);
+    if (ret != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        return ret;
+    }
+
+    ret2 = DRV_SPI_SYS_QUEUE_Dequeue(queue, element);
+
+    ret = _DRV_SPI_SYS_QUEUE_UnlockQueue(queue, false);
+    if (ret != DRV_SPI_SYS_QUEUE_SUCCESS)
+    {
+        return ret;
+    }
+    return ret2;
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_QueueManagerStatus(DRV_SPI_SYS_QUEUE_MANAGER_HANDLE queueManager, DRV_SPI_SYS_QUEUE_MANAGER_STATUS * status)
+{
+#if _SPI_DRV_SYS_QUEUE_TRACKING
+    if ((queueManager <= 0) && (queueManager >= DRV_SPI_SYS_QUEUE_MAX_ERROR))
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+    DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA * pQueueManager = (DRV_SPI_SYS_QUEUE_QUEUE_MANAGER_DATA *)queueManager;
+
+    status->numAllocOps = pQueueManager->numAllocOps;
+    status->numFreeOps = pQueueManager->numFreeOps;
+    status->numQueueCreateOps = pQueueManager->numQueueCreateOps;
+    status->numQueueDestroyOps = pQueueManager->numQueueDestroyOps;
+    status->numReserveElements = pQueueManager->numReserveElements;
+    status->numFreeElements = pQueueManager->numFreeElements;
+    status->freeElementsLW = pQueueManager->freeElementsLW;
+    status->reserveElementsLW = pQueueManager->reserveElementsLW;
+    status->outOfMemoryErrors = pQueueManager->outOfMemoryErrors;
+    status->numQueues = pQueueManager->numQueues;
+    status->numQueuesHW = pQueueManager->numQueuesHW;
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+#else
+    return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+#endif
+}
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_QueueStatus(DRV_SPI_SYS_QUEUE_HANDLE queue, DRV_SPI_SYS_QUEUE_STATUS * status)
+{
+#if _SPI_DRV_SYS_QUEUE_TRACKING
+    if ((queue <= 0) && (queue >= DRV_SPI_SYS_QUEUE_MAX_ERROR))
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    DRV_SPI_SYS_QUEUE_QUEUE_DATA * pQueue = (DRV_SPI_SYS_QUEUE_QUEUE_DATA *)queue;
+
+    if (pQueue->pNext != NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+    if (status == NULL)
+    {
+        return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+    }
+
+    status->numAllocOps = pQueue->numAllocOps;
+    status->numFreeOps = pQueue->numFreeOps;
+    status->numDequeueOps = pQueue->numDequeueOps;
+    status->numEnqueueOps = pQueue->numEnqueueOps;
+    status->numReserved = pQueue->numReserved;
+    status->numAlloc = pQueue->numAlloc;
+    status->numEnqueued = pQueue->numEnqueued;
+    status->numReserveLW = pQueue->numReserveLW;
+    status->numAllocHW = pQueue->numAllocHW;
+    status->numEnqueuedHW = pQueue->numEnqueuedHW;
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+#else
+    return DRV_SPI_SYS_QUEUE_INVALID_PARAMETER;
+#endif
+
+}
+
+DRV_SPI_SYS_QUEUE_RESULT _DRV_SPI_SYS_QUEUE_LockQueueManager(DRV_SPI_SYS_QUEUE_MANAGER_HANDLE queueManager)
+{
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+}
+DRV_SPI_SYS_QUEUE_RESULT _DRV_SPI_SYS_QUEUE_UnlockQueueManager(DRV_SPI_SYS_QUEUE_MANAGER_HANDLE queueManager)
+{
+    return DRV_SPI_SYS_QUEUE_SUCCESS;
+}
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.h b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.h
new file mode 100644
index 0000000000000000000000000000000000000000..34c3f087ca71533e0db2c26d5d6736ae4f148221
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_sys_queue.h
@@ -0,0 +1,203 @@
+/* clang-format off */
+/*******************************************************************************
+  SPI Driver Queue related local interfaces
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_spi_static_sys_queue.h
+
+  Summary:
+    Queue related local interface declarations
+
+  Description:
+    Queue related local interface declarations
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute Software
+only when embedded on a Microchip microcontroller or digital  signal  controller
+that is integrated into your product or third party  product  (pursuant  to  the
+sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS  WITHOUT  WARRANTY  OF  ANY  KIND,
+EITHER EXPRESS  OR  IMPLIED,  INCLUDING  WITHOUT  LIMITATION,  ANY  WARRANTY  OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A  PARTICULAR  PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR  ITS  LICENSORS  BE  LIABLE  OR  OBLIGATED  UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION,  BREACH  OF  WARRANTY,  OR
+OTHER LEGAL  EQUITABLE  THEORY  ANY  DIRECT  OR  INDIRECT  DAMAGES  OR  EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY  INCIDENTAL,  SPECIAL,  INDIRECT,  PUNITIVE  OR
+CONSEQUENTIAL DAMAGES, LOST  PROFITS  OR  LOST  DATA,  COST  OF  PROCUREMENT  OF
+SUBSTITUTE  GOODS,  TECHNOLOGY,  SERVICES,  OR  ANY  CLAIMS  BY  THIRD   PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE  THEREOF),  OR  OTHER  SIMILAR  COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+#ifndef _DRV_SPI_STATIC_SYS_QUEUE_H
+#define _DRV_SPI_STATIC_SYS_QUEUE_H
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+#include "system_config.h"
+
+// DOM-IGNORE-BEGIN
+#ifdef __cplusplus  // Provide C++ Compatibility
+
+    extern "C" {
+
+#endif
+// DOM-IGNORE-END
+
+#define _DRV_SPI_QM_SIZE 72
+#define _DRV_SPI_Q_SIZE 80
+#define _DRV_SPI_QE_SIZE 4
+
+#define DRV_SPI_SYS_QUEUE_BUFFER_SIZE(queues, elementSize, desiredElements) \
+    ( _DRV_SPI_QM_SIZE + \
+     (_DRV_SPI_Q_SIZE * queues) + \
+    ((elementSize + _DRV_SPI_QE_SIZE) * \
+     desiredElements) )
+
+// *****************************************************************************
+/* SPI Driver Queue Manager Handle
+
+  Summary:
+    Handle identifying the queue manager
+
+  Description:
+    A queue manager handle value is returned by a call to the DRV_SPI_SYS_QUEUE_Initialize() function.
+    This handle is associated with the buffer passed into the function and it allows the
+    application to track the queue.
+  Remarks:
+    None
+*/
+
+typedef uintptr_t DRV_SPI_SYS_QUEUE_MANAGER_HANDLE;
+
+// *****************************************************************************
+/* SPI Driver Queue Handle
+
+  Summary:
+    Handle identifying the queue
+
+  Description:
+    A queue handle value is returned by a call to the DRV_SPI_SYS_QUEUE_CreateQueue () function.
+    This handle is associated with the buffer passed into the the DRV_SPI_SYS_QUEUE_Initialize() function.
+  Remarks:
+    None
+*/
+
+typedef uintptr_t DRV_SPI_SYS_QUEUE_HANDLE;
+
+
+
+typedef enum {
+    DRV_SPI_SYS_QUEUE_SUCCESS = 0,
+    DRV_SPI_SYS_QUEUE_OUT_OF_MEMORY = -1,
+    DRV_SPI_SYS_QUEUE_OUT_OF_QUEUES = -2,
+    DRV_SPI_SYS_QUEUE_INVALID_PARAMETER = -3,
+    DRV_SPI_SYS_QUEUE_MAX_ERROR = DRV_SPI_SYS_QUEUE_INVALID_PARAMETER,
+}DRV_SPI_SYS_QUEUE_RESULT;
+
+typedef enum {
+
+    DRV_SPI_SYS_QUEUE_Unknown = 0,
+    DRV_SPI_SYS_QUEUE_Fifo = 1,
+}DRV_SPI_SYS_QUEUE_Type;
+
+typedef void ( *DRV_SPI_SYS_QUEUE_INTERUPT_CHANGE )  (DRV_SPI_SYS_QUEUE_HANDLE queue, bool mask);
+
+
+typedef struct _DRV_SPI_SYS_QUEUE_MANAGER_SETUP
+{
+    void * pBuffer;
+    size_t bufferLen;
+    uint8_t numQueues;
+    size_t elementSize;
+    DRV_SPI_SYS_QUEUE_Type  type;
+}DRV_SPI_SYS_QUEUE_MANAGER_SETUP;
+
+typedef struct _DRV_SPI_SYS_QUEUE_SETUP
+{
+    size_t reserveElements;
+    size_t maxElements;
+    DRV_SPI_SYS_QUEUE_INTERUPT_CHANGE fptrIntChange;
+}DRV_SPI_SYS_QUEUE_SETUP;
+
+typedef struct _DRV_SPI_SYS_QUEUE_MANAGER_STATUS
+{
+    size_t numAllocOps;
+    size_t numFreeOps;
+    size_t numQueueCreateOps;
+    size_t numQueueDestroyOps;
+    size_t numReserveElements;
+    size_t numFreeElements;
+    size_t freeElementsLW;
+    size_t reserveElementsLW;
+    size_t outOfMemoryErrors;
+    uint8_t numQueues;
+    uint8_t numQueuesHW;
+} DRV_SPI_SYS_QUEUE_MANAGER_STATUS;
+
+typedef struct _DRV_SPI_SYS_QUEUE_STATUS
+{
+    size_t numAllocOps;
+    size_t numFreeOps;
+    size_t numDequeueOps;
+    size_t numEnqueueOps;
+    size_t numReserved;
+    size_t numAlloc;
+    size_t numEnqueued;
+    size_t numReserveLW;
+    size_t numAllocHW;
+    size_t numEnqueuedHW;
+}DRV_SPI_SYS_QUEUE_STATUS;
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Initialize(DRV_SPI_SYS_QUEUE_MANAGER_SETUP * initParams, DRV_SPI_SYS_QUEUE_MANAGER_HANDLE * handle);
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Deinitialize(DRV_SPI_SYS_QUEUE_MANAGER_HANDLE queueManager);
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_CreateQueue(DRV_SPI_SYS_QUEUE_MANAGER_HANDLE queueManager, DRV_SPI_SYS_QUEUE_SETUP * initParams, DRV_SPI_SYS_QUEUE_HANDLE * handle);
+DRV_SPI_SYS_QUEUE_HANDLE DRV_SPI_SYS_QUEUE_CreateQueueLock(DRV_SPI_SYS_QUEUE_MANAGER_HANDLE queueManager, DRV_SPI_SYS_QUEUE_SETUP * initParams, DRV_SPI_SYS_QUEUE_HANDLE * queue);
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_DestroyQueue(DRV_SPI_SYS_QUEUE_HANDLE queue);
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_DestroyQueueLock(DRV_SPI_SYS_QUEUE_HANDLE queue);
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Lock(DRV_SPI_SYS_QUEUE_HANDLE queue);
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Unlock(DRV_SPI_SYS_QUEUE_HANDLE queue);
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_AllocElement(DRV_SPI_SYS_QUEUE_HANDLE queue, void ** element);
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_AllocElementLock(DRV_SPI_SYS_QUEUE_HANDLE queue, void ** element);
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_FreeElement(DRV_SPI_SYS_QUEUE_HANDLE queue, void * element);
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_FreeElementLock(DRV_SPI_SYS_QUEUE_HANDLE queue, void * element);
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Enqueue(DRV_SPI_SYS_QUEUE_HANDLE queue, void * element);
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_EnqueueLock(DRV_SPI_SYS_QUEUE_HANDLE queue, void * element);
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Dequeue(DRV_SPI_SYS_QUEUE_HANDLE queue, void ** element);
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_DequeueLock(DRV_SPI_SYS_QUEUE_HANDLE queue, void ** element);
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_Peek(DRV_SPI_SYS_QUEUE_HANDLE queue, void ** element);
+
+bool DRV_SPI_SYS_QUEUE_IsEmpty(DRV_SPI_SYS_QUEUE_HANDLE queue);
+
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_QueueManagerStatus(DRV_SPI_SYS_QUEUE_MANAGER_HANDLE queueManager, DRV_SPI_SYS_QUEUE_MANAGER_STATUS * status);
+DRV_SPI_SYS_QUEUE_RESULT DRV_SPI_SYS_QUEUE_QueueStatus(DRV_SPI_SYS_QUEUE_HANDLE queue, DRV_SPI_SYS_QUEUE_STATUS * status);
+
+// DOM-IGNORE-BEGIN
+#ifdef __cplusplus
+}
+#endif
+// DOM-IGNORE-END
+
+#endif //_DRV_SPI_STATIC_SYS_QUEUE_H_
+
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_tasks.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_tasks.c
new file mode 100644
index 0000000000000000000000000000000000000000..ea5c26f53e57608ae9bb49fbf38314ab2717c63f
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/spi/static/src/drv_spi_static_tasks.c
@@ -0,0 +1,150 @@
+/* clang-format off */
+/*******************************************************************************
+  SPI Driver Functions for Static Driver Tasks Functions
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_spi_static_tasks.c
+
+  Summary:
+    SPI driver tasks functions
+
+  Description:
+    The SPI device driver provides a simple interface to manage the SPI
+    modules on Microchip microcontrollers. This file contains implemenation
+    for the SPI driver.
+
+  Remarks:
+  This file is generated from framework/driver/spi/template/drv_spi_static_tasks.c.ftl
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+#include "system_config.h"
+#include "system_definitions.h"
+
+
+
+int32_t DRV_SPI0_PolledMasterRM8BitTasks ( struct DRV_SPI_OBJ * dObj )
+{
+    volatile bool continueLoop;
+    uint8_t counter = 0;
+    uint8_t numPolled = dObj->numTrfsSmPolled;
+    uint8_t result = 0;
+    do {
+        
+        DRV_SPI_JOB_OBJECT * currentJob = dObj->currentJob;
+
+        /* Check for a new task */
+        if (dObj->currentJob == NULL)
+        {
+            if (DRV_SPI_SYS_QUEUE_DequeueLock(dObj->queue, (void *)&(dObj->currentJob)) != DRV_SPI_SYS_QUEUE_SUCCESS)
+            {
+                SYS_ASSERT(false, "\r\nSPI Driver: Error in dequeing.");
+                return 0;
+            }
+            if (dObj->currentJob == NULL)
+            {
+                return 0;
+            }
+            currentJob = dObj->currentJob;
+
+            dObj->symbolsInProgress = 0;
+
+            /* Call the operation starting function pointer.  This can be used to modify the slave select lines */
+            if (dObj->operationStarting != NULL)
+            {
+                (*dObj->operationStarting)(DRV_SPI_BUFFER_EVENT_PROCESSING, (DRV_SPI_BUFFER_HANDLE)currentJob, currentJob->context);
+            }
+
+            /* List the new job as processing*/
+            currentJob->status = DRV_SPI_BUFFER_EVENT_PROCESSING;
+            /* Flush out the Receive buffer */
+            PLIB_SPI_BufferClear(SPI_ID_1);
+        }
+
+
+        continueLoop = false;
+        
+        /* Execute the sub tasks */
+            if
+            (currentJob->dataLeftToTx +currentJob->dummyLeftToTx != 0)
+        {
+            DRV_SPI0_MasterRMSend8BitPolled(dObj);
+        }
+        
+        DRV_SPI0_PolledErrorTasks(dObj);
+        
+        /* Figure out how many bytes are left to be received */
+        volatile size_t bytesLeft = currentJob->dataLeftToRx + currentJob->dummyLeftToRx;
+        
+        // Check to see if we have any data left to receive and update the bytes left.
+        if (bytesLeft != 0)
+        {
+            DRV_SPI0_MasterRMReceive8BitPolled(dObj);
+            bytesLeft = currentJob->dataLeftToRx + currentJob->dummyLeftToRx;
+        }
+        if (bytesLeft == 0)
+        {
+                    /* Job is complete*/
+                    currentJob->status = DRV_SPI_BUFFER_EVENT_COMPLETE;
+                    /* Call the job complete call back*/
+                    if (currentJob->completeCB != NULL)
+                    {
+                        (*currentJob->completeCB)(DRV_SPI_BUFFER_EVENT_COMPLETE, (DRV_SPI_BUFFER_HANDLE)currentJob, currentJob->context);
+                    }
+
+                    /* Call the operation complete call back.  This is different than the
+                       job complete callback.  This can be used to modify the Slave Select line.*/
+
+                    if (dObj->operationEnded != NULL)
+                    {
+                        (*dObj->operationEnded)(DRV_SPI_BUFFER_EVENT_COMPLETE, (DRV_SPI_BUFFER_HANDLE)currentJob, currentJob->context);
+                    }
+
+                    /* Return the job back to the free queue*/
+                    if (DRV_SPI_SYS_QUEUE_FreeElementLock(dObj->queue, currentJob) != DRV_SPI_SYS_QUEUE_SUCCESS)
+                    {
+                        SYS_ASSERT(false, "\r\nSPI Driver: Queue free element error.");
+                        return 0;
+                    }
+                    /* Clean up */
+                    dObj->currentJob = NULL;
+                }
+
+
+        counter ++;
+        if ((counter < numPolled) && (result != 0))
+        {
+            continueLoop = true;
+        }
+
+    } while(continueLoop);
+    return 0;
+}
+
+
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/drv_usart_static.h b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/drv_usart_static.h
new file mode 100644
index 0000000000000000000000000000000000000000..63a8dbcae16e5976b8097b312fc42e460489242c
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/drv_usart_static.h
@@ -0,0 +1,123 @@
+/* clang-format off */
+/*******************************************************************************
+  USART Driver Interface Declarations for Static Single Instance Driver
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_usart_static.h
+
+  Summary:
+    USART driver interface declarations for the static single instance driver.
+
+  Description:
+    The USART device driver provides a simple interface to manage the USART
+    modules on Microchip microcontrollers. This file defines the interface
+    Declarations for the USART static driver.
+
+  Remarks:
+    Static interfaces incorporate the driver instance number within the names
+    of the routines, eliminating the need for an object ID or object handle.
+
+    Static single-open interfaces also eliminate the need for the open handle.
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+#ifndef _DRV_USART_STATIC_H
+#define _DRV_USART_STATIC_H
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+#include "driver/usart/src/drv_usart_static_local.h"
+
+// DOM-IGNORE-BEGIN
+#ifdef __cplusplus  // Provide C++ Compatibility
+
+    extern "C" {
+
+#endif
+// DOM-IGNORE-END
+
+// *********************************************************************************************
+// *********************************************************************************************
+// Section: System Interface Headers for the Instance 0 of USART static driver
+// *********************************************************************************************
+// *********************************************************************************************
+
+SYS_MODULE_OBJ DRV_USART0_Initialize(void);
+void  DRV_USART0_Deinitialize(void);
+SYS_STATUS DRV_USART0_Status(void);
+void DRV_USART0_TasksTransmit(void);
+void DRV_USART0_TasksReceive(void);
+void DRV_USART0_TasksError(void);
+
+// *********************************************************************************************
+// *********************************************************************************************
+// Section: General Client Interface Headers for the Instance 0 of USART static driver
+// *********************************************************************************************
+// *********************************************************************************************
+
+DRV_HANDLE DRV_USART0_Open(const SYS_MODULE_INDEX index, const DRV_IO_INTENT ioIntent);
+void DRV_USART0_Close(void);
+DRV_USART_CLIENT_STATUS DRV_USART0_ClientStatus(void);
+DRV_USART_TRANSFER_STATUS DRV_USART0_TransferStatus(void);
+
+// *********************************************************************************************
+// *********************************************************************************************
+// Section: Byte Model Client Interface Headers for the Instance 0 of USART static driver
+// *********************************************************************************************
+// *********************************************************************************************
+
+uint8_t DRV_USART0_ReadByte( void);
+void DRV_USART0_WriteByte( const uint8_t byte);
+unsigned int DRV_USART0_ReceiverBufferSizeGet(void);
+unsigned int DRV_USART0_TransmitBufferSizeGet(void);
+bool DRV_USART0_ReceiverBufferIsEmpty( void );
+bool DRV_USART0_TransmitBufferIsFull(void);
+
+// *********************************************************************************************
+// *********************************************************************************************
+// Section: Set up Client Interface Headers for the Instance 0 of USART static driver
+// *********************************************************************************************
+// *********************************************************************************************
+DRV_USART_BAUD_SET_RESULT DRV_USART0_BaudSet(uint32_t baud);
+DRV_USART_LINE_CONTROL_SET_RESULT DRV_USART0_LineControlSet(DRV_USART_LINE_CONTROL lineControlMode);
+
+// DOM-IGNORE-BEGIN
+#ifdef __cplusplus
+}
+#endif
+// DOM-IGNORE-END
+
+#endif // #ifndef _DRV_USART_STATIC_H
+/*******************************************************************************
+ End of File
+*/
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_mapping.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_mapping.c
new file mode 100644
index 0000000000000000000000000000000000000000..db5dfa4154156c071650c29ecb8281d994f1ef55
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_mapping.c
@@ -0,0 +1,439 @@
+/* clang-format off */
+/*******************************************************************************
+  USART Driver Dynamic to Static mapping
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_usart_mapping.c
+
+  Summary:
+    Source code for the USART driver dynamic APIs to static API mapping.
+
+  Description:
+    This file contains code that maps dynamic APIs to static whenever
+    the static mode of the driver is selected..
+
+  Remarks:
+    Static interfaces incorporate the driver instance number within the names
+    of the routines, eliminating the need for an object ID or object handle.
+
+    Static single-open interfaces also eliminate the need for the open handle.
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+#include "system_config.h"
+#include "system_definitions.h"
+
+
+SYS_MODULE_OBJ DRV_USART_Initialize(const SYS_MODULE_INDEX index,const SYS_MODULE_INIT * const init)
+{
+    SYS_MODULE_OBJ returnValue;
+
+    switch(index)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            returnValue = DRV_USART0_Initialize();
+            break;
+        }
+        default:
+        {
+            returnValue = SYS_MODULE_OBJ_INVALID;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+void DRV_USART_Deinitialize( SYS_MODULE_OBJ object)
+{
+    switch(object)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            DRV_USART0_Deinitialize();
+            break;
+        }
+        default:
+        {
+            break;
+        }
+    }
+}
+
+SYS_STATUS DRV_USART_Status( SYS_MODULE_OBJ object)
+{
+    SYS_STATUS returnValue;
+
+    switch(object)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            returnValue = DRV_USART0_Status();
+            break;
+        }
+        default:
+        {
+            returnValue = SYS_STATUS_ERROR;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+void DRV_USART_TasksTransmit ( SYS_MODULE_OBJ object )
+{
+    switch(object)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            DRV_USART0_TasksTransmit();
+            break;
+        }
+        default:
+        {
+            break;
+        }
+    }
+}
+
+void DRV_USART_TasksReceive ( SYS_MODULE_OBJ object )
+{
+    switch(object)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            DRV_USART0_TasksReceive();
+            break;
+        }
+        default:
+        {
+            break;
+        }
+    }
+}
+
+void DRV_USART_TasksError ( SYS_MODULE_OBJ object )
+{
+    switch(object)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            DRV_USART0_TasksError();
+            break;
+        }
+        default:
+        {
+            break;
+        }
+    }
+}
+
+
+//client interface
+DRV_HANDLE DRV_USART_Open( const SYS_MODULE_INDEX index, const DRV_IO_INTENT ioIntent)
+{
+    DRV_HANDLE returnValue;
+
+    switch(index)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            returnValue = DRV_USART0_Open(index,ioIntent);
+            break;
+        }
+        default:
+        {
+            returnValue = DRV_HANDLE_INVALID;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+void DRV_USART_Close( const DRV_HANDLE handle)
+{
+    uintptr_t instance;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            DRV_USART0_Close();
+            break;
+        }
+        default:
+        {
+            break;
+        }
+    }
+}
+
+DRV_USART_CLIENT_STATUS DRV_USART_ClientStatus ( DRV_HANDLE handle )
+{
+    uintptr_t instance;
+    DRV_USART_CLIENT_STATUS returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            returnValue = DRV_USART0_ClientStatus();
+            break;
+        }
+        default:
+        {
+            returnValue = DRV_CLIENT_STATUS_ERROR;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+DRV_USART_TRANSFER_STATUS DRV_USART_TransferStatus( const DRV_HANDLE handle )
+{
+    uintptr_t instance;
+    DRV_USART_TRANSFER_STATUS returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            returnValue = DRV_USART0_TransferStatus();
+            break;
+        }
+        default:
+        {
+            returnValue = (DRV_USART_TRANSFER_STATUS)NULL;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+
+
+//Byte Model
+uint8_t DRV_USART_ReadByte( const DRV_HANDLE handle )
+{
+    uintptr_t instance;
+    uint8_t returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            returnValue = DRV_USART0_ReadByte();
+            break;
+        }
+        default:
+        {
+            SYS_ASSERT(false, "Incorrect Driver Handle");
+            returnValue = 0;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+void DRV_USART_WriteByte( const DRV_HANDLE handle, const uint8_t byte)
+{
+    uintptr_t instance;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            DRV_USART0_WriteByte(byte);
+            break;
+        }
+        default:
+        {
+            break;
+        }
+    }
+}
+
+unsigned int DRV_USART_ReceiverBufferSizeGet( const DRV_HANDLE handle )
+{
+    uintptr_t instance;
+    unsigned int returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            returnValue = DRV_USART0_ReceiverBufferSizeGet();
+            break;
+        }
+        default:
+        {
+            returnValue = (unsigned int)NULL;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+unsigned int DRV_USART_TransmitBufferSizeGet( const DRV_HANDLE handle )
+{
+    uintptr_t instance;
+    unsigned int returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            returnValue = DRV_USART0_TransmitBufferSizeGet();
+            break;
+        }
+        default:
+        {
+            returnValue = (unsigned int)NULL;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+bool DRV_USART_ReceiverBufferIsEmpty( const DRV_HANDLE handle )
+{
+    uintptr_t instance;
+    bool returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            returnValue = DRV_USART0_ReceiverBufferIsEmpty();
+            break;
+        }
+        default:
+        {
+            returnValue = false;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+bool DRV_USART_TransmitBufferIsFull( const DRV_HANDLE handle )
+{
+    uintptr_t instance;
+    bool returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            returnValue = DRV_USART0_TransmitBufferIsFull();
+            break;
+        }
+        default:
+        {
+            returnValue = false;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+DRV_USART_BAUD_SET_RESULT DRV_USART_BaudSet(const DRV_HANDLE handle, uint32_t baud)
+{
+    uintptr_t instance;
+    DRV_USART_BAUD_SET_RESULT returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            returnValue = DRV_USART0_BaudSet(baud);
+            break;
+        }
+        default:
+        {
+            returnValue = DRV_USART_BAUD_SET_ERROR;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+DRV_USART_LINE_CONTROL_SET_RESULT DRV_USART_LineControlSet(const DRV_HANDLE handle,const DRV_USART_LINE_CONTROL lineControl)
+{
+    uintptr_t instance;
+    DRV_USART_LINE_CONTROL_SET_RESULT returnValue;
+
+    instance = handle & 0x00FF;
+    //As we are handling single client, only multiple instance is taken care.
+    switch(instance)
+    {
+        case DRV_USART_INDEX_0:
+        {
+            returnValue = DRV_USART0_LineControlSet(lineControl);
+            break;
+        }
+        default:
+        {
+            returnValue = DRV_USART_LINE_CONTROL_SET_ERROR;
+            break;
+        }
+    }
+    return returnValue;
+}
+
+
+/*******************************************************************************
+ End of File
+*/
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static.c
new file mode 100644
index 0000000000000000000000000000000000000000..dba71db71bc3df7b9a7a4c9219b542ff65ce609d
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static.c
@@ -0,0 +1,337 @@
+/* clang-format off */
+/*******************************************************************************
+  USART Driver Static implementation
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_usart_static.c
+
+  Summary:
+    Source code for the USART driver static implementation.
+
+  Description:
+    The USART device driver provides a simple interface to manage the USART
+    modules on Microchip microcontrollers. This file contains static implementation
+    for the USART driver.
+
+  Remarks:
+    Static interfaces incorporate the driver instance number within the names
+    of the routines, eliminating the need for an object ID or object handle.
+
+    Static single-open interfaces also eliminate the need for the open handle.
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+
+#include "system_config.h"
+#include "system_definitions.h"
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Global Data
+// *****************************************************************************
+// *****************************************************************************
+
+/* This is the driver static object . */
+DRV_USART_OBJ  gDrvUSART0Obj ;
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Instance 0 static driver functions
+// *****************************************************************************
+// *****************************************************************************
+
+SYS_MODULE_OBJ DRV_USART0_Initialize(void)
+{
+    uint32_t clockSource;
+
+    /* Disable the USART module to configure it*/
+    PLIB_USART_Disable (USART_ID_2);
+
+    /* Initialize the USART based on configuration settings */
+    PLIB_USART_InitializeModeGeneral(USART_ID_2,
+            false,  /*Auto baud*/
+            false,  /*LoopBack mode*/
+            false,  /*Auto wakeup on start*/
+            false,  /*IRDA mode*/
+            false);  /*Stop In Idle mode*/
+
+    /* Set the line control mode */
+    PLIB_USART_LineControlModeSelect(USART_ID_2, DRV_USART_LINE_CONTROL_8NONE1);
+
+    /* We set the receive interrupt mode to receive an interrupt whenever FIFO
+       is not empty */
+    PLIB_USART_InitializeOperation(USART_ID_2,
+            USART_RECEIVE_FIFO_ONE_CHAR,
+            USART_TRANSMIT_FIFO_IDLE,
+            USART_ENABLE_TX_RX_USED);
+
+    /* Get the USART clock source value*/
+    clockSource = SYS_CLK_PeripheralFrequencyGet ( CLK_BUS_PERIPHERAL_1 );
+
+    /* Set the baud rate and enable the USART */
+    PLIB_USART_BaudSetAndEnable(USART_ID_2,
+            clockSource,
+            115200);  /*Desired Baud rate value*/
+
+    /* Clear the interrupts to be on the safer side*/
+    SYS_INT_SourceStatusClear(INT_SOURCE_USART_2_TRANSMIT);
+    SYS_INT_SourceStatusClear(INT_SOURCE_USART_2_RECEIVE);
+    SYS_INT_SourceStatusClear(INT_SOURCE_USART_2_ERROR);
+
+    /* Enable the error interrupt source */
+    SYS_INT_SourceEnable(INT_SOURCE_USART_2_ERROR);
+
+    /* Enable the Receive interrupt source */
+    SYS_INT_SourceEnable(INT_SOURCE_USART_2_RECEIVE);
+
+    /* Return the driver instance value*/
+    return (SYS_MODULE_OBJ)DRV_USART_INDEX_0;
+}
+
+void  DRV_USART0_Deinitialize(void)
+{
+    bool status;
+
+    /* Disable the interrupts */
+    status = SYS_INT_SourceDisable(INT_SOURCE_USART_2_TRANSMIT) ;
+    status = SYS_INT_SourceDisable(INT_SOURCE_USART_2_RECEIVE) ;
+    status = SYS_INT_SourceDisable(INT_SOURCE_USART_2_ERROR);
+    /* Ignore the warning */
+    (void)status;
+
+    /* Disable USART module */
+    PLIB_USART_Disable (USART_ID_2);
+
+}
+
+
+SYS_STATUS DRV_USART0_Status(void)
+{
+    /* Return the status as ready always */
+    return SYS_STATUS_READY;
+}
+
+
+void DRV_USART0_TasksTransmit(void)
+{
+    /* This is the USART Driver Transmit tasks routine.
+       In this function, the driver checks if a transmit
+       interrupt is active and performs respective action*/
+
+    /* Reading the transmit interrupt flag */
+    if(SYS_INT_SourceStatusGet(INT_SOURCE_USART_2_TRANSMIT))
+    {
+        /* Disable the interrupt, to avoid calling ISR continuously*/
+        SYS_INT_SourceDisable(INT_SOURCE_USART_2_TRANSMIT);
+
+        /* Clear up the interrupt flag */
+        SYS_INT_SourceStatusClear(INT_SOURCE_USART_2_TRANSMIT);
+    }
+}
+
+void DRV_USART0_TasksReceive(void)
+{
+    /* This is the USART Driver Receive tasks routine. If the receive
+       interrupt flag is set, the tasks routines are executed.
+     */
+
+    /* Reading the receive interrupt flag */
+    if(SYS_INT_SourceStatusGet(INT_SOURCE_USART_2_RECEIVE))
+    {
+
+        /* Clear up the interrupt flag */
+        SYS_INT_SourceStatusClear(INT_SOURCE_USART_2_RECEIVE);
+    }
+}
+
+
+void DRV_USART0_TasksError(void)
+{
+    /* This is the USART Driver Error tasks routine. In this function, the
+     * driver checks if an error interrupt has occurred. If so the error
+     * condition is cleared.  */
+
+    /* Reading the error interrupt flag */
+    if(SYS_INT_SourceStatusGet(INT_SOURCE_USART_2_ERROR))
+    {
+        /* This means an error has occurred */
+        if(PLIB_USART_ReceiverOverrunHasOccurred(USART_ID_2))
+        {
+            PLIB_USART_ReceiverOverrunErrorClear(USART_ID_2);
+        }
+
+        /* Clear up the error interrupt flag */
+        SYS_INT_SourceStatusClear(INT_SOURCE_USART_2_ERROR);
+    }
+}
+
+DRV_HANDLE DRV_USART0_Open(const SYS_MODULE_INDEX index, const DRV_IO_INTENT ioIntent)
+{
+
+    /* Return the driver instance value*/
+    return ((DRV_HANDLE)DRV_USART_INDEX_0 );
+}
+
+void DRV_USART0_Close(void)
+{
+    return;
+}
+
+DRV_USART_CLIENT_STATUS DRV_USART0_ClientStatus(void)
+{
+    /* Return the status as ready always*/
+    return DRV_USART_CLIENT_STATUS_READY;
+}
+
+DRV_USART_TRANSFER_STATUS DRV_USART0_TransferStatus( void )
+{
+    DRV_USART_TRANSFER_STATUS result = 0;
+
+    /* Check if RX data available */
+    if(PLIB_USART_ReceiverDataIsAvailable(USART_ID_2))
+    {
+        result|= DRV_USART_TRANSFER_STATUS_RECEIVER_DATA_PRESENT;
+    }
+    else
+    {
+        result|= DRV_USART_TRANSFER_STATUS_RECEIVER_EMPTY;
+    }
+
+    /* Check if TX Buffer is empty */
+    if(PLIB_USART_TransmitterIsEmpty(USART_ID_2))
+    {
+        result|= DRV_USART_TRANSFER_STATUS_TRANSMIT_EMPTY;
+    }
+
+    /* Check if the TX buffer is full */
+    if(PLIB_USART_TransmitterBufferIsFull(USART_ID_2))
+    {
+        result|= DRV_USART_TRANSFER_STATUS_TRANSMIT_FULL;
+    }
+
+    return(result);
+}
+
+
+
+
+
+DRV_USART_BAUD_SET_RESULT DRV_USART0_BaudSet(uint32_t baud)
+{
+    uint32_t clockSource;
+    int32_t brgValueLow=0;
+    int32_t brgValueHigh=0;
+    DRV_USART_BAUD_SET_RESULT retVal = DRV_USART_BAUD_SET_SUCCESS;
+#if defined (PLIB_USART_ExistsModuleBusyStatus)
+    bool isEnabled = false;
+#endif
+
+    /* Get the USART clock source value*/
+    clockSource = SYS_CLK_PeripheralFrequencyGet ( CLK_BUS_PERIPHERAL_1 );
+
+    /* Calculate low and high baud values */
+    brgValueLow  = ( (clockSource/baud) >> 4 ) - 1;
+    brgValueHigh = ( (clockSource/baud) >> 2 ) - 1;
+
+#if defined (PLIB_USART_ExistsModuleBusyStatus)
+        isEnabled = PLIB_USART_ModuleIsBusy (USART_ID_2);
+        if (isEnabled)
+        {
+            PLIB_USART_Disable (USART_ID_2);
+            while (PLIB_USART_ModuleIsBusy (USART_ID_2));
+        }
+#endif
+
+    /* Check if the baud value can be set with high baud settings */
+    if ((brgValueHigh >= 0) && (brgValueHigh <= UINT16_MAX))
+    {
+        PLIB_USART_BaudRateHighEnable(USART_ID_2);
+        PLIB_USART_BaudRateHighSet(USART_ID_2,clockSource,baud);
+    }
+    
+    /* Check if the baud value can be set with low baud settings */
+    else if ((brgValueLow >= 0) && (brgValueLow <= UINT16_MAX))
+    {
+        PLIB_USART_BaudRateHighDisable(USART_ID_2);
+        PLIB_USART_BaudRateSet(USART_ID_2, clockSource, baud);
+    }
+    else
+    {
+            retVal = DRV_USART_BAUD_SET_ERROR;
+    }
+
+#if defined (PLIB_USART_ExistsModuleBusyStatus)
+    if (isEnabled)
+    {
+        PLIB_USART_Enable (USART_ID_2);
+    }
+#endif
+
+    return retVal;
+}
+
+
+DRV_USART_LINE_CONTROL_SET_RESULT DRV_USART0_LineControlSet(DRV_USART_LINE_CONTROL lineControlMode)
+{
+#if defined (PLIB_USART_ExistsModuleBusyStatus)
+    bool isEnabled = false;
+#endif
+#if defined (PLIB_USART_ExistsModuleBusyStatus)
+        isEnabled = PLIB_USART_ModuleIsBusy (USART_ID_2);
+        if (isEnabled)
+        {
+            PLIB_USART_Disable (USART_ID_2);
+            while (PLIB_USART_ModuleIsBusy (USART_ID_2));
+        }
+#endif
+
+    /* Set the Line Control Mode */
+    PLIB_USART_LineControlModeSelect(USART_ID_2, lineControlMode);
+    
+#if defined (PLIB_USART_ExistsModuleBusyStatus)
+        if (isEnabled)
+        {
+            PLIB_USART_Enable (USART_ID_2);
+        }
+#endif
+
+    /* Return success */
+    return(DRV_USART_LINE_CONTROL_SET_SUCCESS);
+}
+
+/*******************************************************************************
+ End of File
+*/
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_byte_model.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_byte_model.c
new file mode 100644
index 0000000000000000000000000000000000000000..c28d557b013173e0554da8799b1774d714940d1f
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_byte_model.c
@@ -0,0 +1,113 @@
+/* clang-format off */
+/*******************************************************************************
+  USART driver static implementation of Byte model.
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_usart_static_byte_model.c
+
+  Summary:
+    Source code for the USART driver static implementation of Byte model.
+
+  Description:
+    This file contains the source code for the static implementation of the
+    USART driver Byte model.
+
+  Remarks:
+    Static interfaces incorporate the driver instance number within the names
+    of the routines, eliminating the need for an object ID or object handle.
+
+    Static single-open interfaces also eliminate the need for the open handle.
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+#include "system_config.h"
+#include "system_definitions.h"
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Global Data
+// *****************************************************************************
+// *****************************************************************************
+extern DRV_USART_OBJ  gDrvUSART0Obj ;
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Instance 0 static driver functions
+// *****************************************************************************
+// *****************************************************************************
+
+uint8_t DRV_USART0_ReadByte(void)
+{
+    uint8_t readValue;
+	
+    /* Receive one byte */
+    readValue = PLIB_USART_ReceiverByteReceive(USART_ID_2);
+
+    return readValue;
+}
+
+void DRV_USART0_WriteByte(const uint8_t byte)
+{
+    /* Wait till TX buffer is available as blocking operation is selected */
+    while(PLIB_USART_TransmitterBufferIsFull(USART_ID_2));
+    /* Send one byte */
+    PLIB_USART_TransmitterByteSend(USART_ID_2, byte);
+    SYS_INT_SourceEnable(INT_SOURCE_USART_2_TRANSMIT);
+}
+
+unsigned int DRV_USART0_ReceiverBufferSizeGet(void)
+{
+    return 8;
+}
+
+unsigned int DRV_USART0_TransmitBufferSizeGet(void)
+{
+    return 8;
+}
+
+bool DRV_USART0_ReceiverBufferIsEmpty( void )
+{
+    /* Check the status of receiver buffer */
+    return(!PLIB_USART_ReceiverDataIsAvailable(USART_ID_2));
+}
+
+bool DRV_USART0_TransmitBufferIsFull(void)
+{
+    /* Check the status of transmitter buffer */
+    return(PLIB_USART_TransmitterBufferIsFull(USART_ID_2));
+}
+
+/*******************************************************************************
+ End of File
+*/
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_local.h b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_local.h
new file mode 100644
index 0000000000000000000000000000000000000000..9e7a29af4dec92f363a6b75bd0c16b3b446972d5
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/driver/usart/src/drv_usart_static_local.h
@@ -0,0 +1,114 @@
+/* clang-format off */
+/*******************************************************************************
+  USART Driver Local Data Structures for static implementation
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    drv_usart_static_local.h
+
+  Summary:
+    USART Driver Local Data Structures for static implementation
+
+  Description:
+    Driver Local Data Structures for static implementation
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute Software
+only when embedded on a Microchip microcontroller or digital  signal  controller
+that is integrated into your product or third party  product  (pursuant  to  the
+sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS  WITHOUT  WARRANTY  OF  ANY  KIND,
+EITHER EXPRESS  OR  IMPLIED,  INCLUDING  WITHOUT  LIMITATION,  ANY  WARRANTY  OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A  PARTICULAR  PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR  ITS  LICENSORS  BE  LIABLE  OR  OBLIGATED  UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION,  BREACH  OF  WARRANTY,  OR
+OTHER LEGAL  EQUITABLE  THEORY  ANY  DIRECT  OR  INDIRECT  DAMAGES  OR  EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY  INCIDENTAL,  SPECIAL,  INDIRECT,  PUNITIVE  OR
+CONSEQUENTIAL DAMAGES, LOST  PROFITS  OR  LOST  DATA,  COST  OF  PROCUREMENT  OF
+SUBSTITUTE  GOODS,  TECHNOLOGY,  SERVICES,  OR  ANY  CLAIMS  BY  THIRD   PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE  THEREOF),  OR  OTHER  SIMILAR  COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+#ifndef _DRV_USART_STATIC_LOCAL_H
+#define _DRV_USART_STATIC_LOCAL_H
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+
+#include <stdint.h>
+#include <stdbool.h>
+#include <stddef.h>
+#include "driver/usart/drv_usart.h"
+#include "driver/usart/src/drv_usart_variant_mapping.h"
+#include "system/clk/sys_clk.h"
+#include "system/int/sys_int.h"
+#include "system/debug/sys_debug.h"
+
+// DOM-IGNORE-BEGIN
+#ifdef __cplusplus  // Provide C++ Compatibility
+
+    extern "C" {
+
+#endif
+// DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Data Type Definitions
+// *****************************************************************************
+// *****************************************************************************
+
+// *****************************************************************************
+/* USART Static Driver Instance Object
+
+  Summary:
+    Object used to keep any data required for the static USART driver.
+
+  Description:
+    This object is used to keep track of any data that must be maintained to
+    manage the USART static driver.
+
+  Remarks:
+    None.
+*/
+
+typedef struct
+{
+
+
+
+} DRV_USART_OBJ;
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Local functions.
+// *****************************************************************************
+// *****************************************************************************
+
+// DOM-IGNORE-BEGIN
+#ifdef __cplusplus
+}
+#endif
+// DOM-IGNORE-END
+
+#endif //#ifndef _DRV_USART_STATIC_LOCAL_H
+
+/*******************************************************************************
+ End of File
+*/
+
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/system/clk/src/sys_clk_static.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/system/clk/src/sys_clk_static.c
new file mode 100644
index 0000000000000000000000000000000000000000..b1ab1cd8d03abbea17e9b6f9640ee8d7920f1c02
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/system/clk/src/sys_clk_static.c
@@ -0,0 +1,294 @@
+/*******************************************************************************
+  SYS CLK Static Functions for Clock System Service
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    sys_clk_static.c
+
+  Summary:
+    SYS CLK static function implementations for the Clock System Service.
+
+  Description:
+    The Clock System Service provides a simple interface to manage the
+oscillators
+    on Microchip microcontrollers. This file defines the static implementation
+for the
+    Clock System Service.
+
+  Remarks:
+    Static functions incorporate all system clock configuration settings as
+    determined by the user via the Microchip Harmony Configurator GUI.  It
+provides
+    static version of the routines, eliminating the need for an object ID or
+    object handle.
+
+    Static single-open interfaces also eliminate the need for the open handle.
+*******************************************************************************/
+
+// DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2014 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+// DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Include Files
+// *****************************************************************************
+// *****************************************************************************
+
+#include "system_config.h"
+#include "system_definitions.h"
+#include "peripheral/osc/plib_osc.h"
+#include "system/devcon/sys_devcon.h"
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: File Scope Functions
+// *****************************************************************************
+// *****************************************************************************
+
+// *****************************************************************************
+/* Function:
+    void SYS_CLK_Static_Initialize ( const SYS_CLK_INIT const * clkInit )
+
+  Summary:
+    Initializes hardware and internal data structure of the System Clock.
+
+  Description:
+    This function initializes the hardware and internal data structure of System
+    Clock Service.
+
+  Remarks:
+    This is configuration values for the static version of the Clock System
+  Service
+    module is determined by the user via the Microchip Harmony Configurator GUI.
+    This template will build a sys_clk_static.h and sys_clk_static.c file with
+    the configuration per the user's choice.
+
+    The objective is to eliminate the user's need to be knowledgeable in the
+  function of
+    the 'configuration bits' to configure the system oscillators.
+*/
+
+void SYS_CLK_Initialize(const SYS_CLK_INIT const *clkInit) {
+  SYS_DEVCON_SystemUnlock();
+
+  PLIB_OSC_FRCDivisorSelect(OSC_ID_0, OSC_FRC_DIV_2);
+
+  /* Enable Peripheral Bus 1 */
+  PLIB_OSC_PBClockDivisorSet(OSC_ID_0, 0, 1);
+
+  SYS_DEVCON_SystemLock();
+}
+
+//******************************************************************************
+/* Function:
+    inline uint32_t SYS_CLK_SystemFrequencyGet ( void )
+
+  Summary:
+    Gets the system clock frequency in Hertz.
+
+  Description:
+    This function gets the System clock frequency in Hertz.
+
+  Precondition:
+    None.
+
+  Parameters:
+    None.
+
+  Returns:
+    System clock frequency in Hertz.
+
+  Example:
+    <code>
+    uint32_t sysClockHz;
+
+    sysClockHz = SYS_CLK_SystemFrequencyGet ( );
+    </code>
+
+  Remarks:
+ */
+
+inline uint32_t SYS_CLK_SystemFrequencyGet(void) {
+  return SYS_CLK_FREQ;
+}
+
+//******************************************************************************
+/* Function:
+    inline uint32_t SYS_CLK_PeripheralFrequencyGet ( CLK_BUSES_PERIPHERAL
+  peripheralBus )
+
+  Summary:
+    Gets the selected clock peripheral bus frequency in Hertz.
+
+  Description:
+    This function gets the selected peripheral bus clock frequency in Hertz.
+
+  Precondition:
+    None.
+
+  Parameters:
+        peripheralBus - Reference clock bus selection. One of the possible value
+  from
+                                CLK_BUSES_PERIPHERAL enum. For devices that do
+  not have multiple
+                                clock channels for Reference clock,
+  CLK_BUS_PERIPHERAL_1 should be
+                                the selection.
+
+  Returns:
+    Clock frequency in Hertz.
+
+  Example:
+    <code>
+    unsigned long peripheralClockHz;
+
+    peripheralClockHz = SYS_CLK_PeripheralFrequencyGet ( CLK_BUS_PERIPHERAL_5 );
+    </code>
+
+  Remarks:
+        Most of the devices doesn't have multiple Peripheral clock buses. In
+  that case,
+        pass CLK_USB_PERIPHERAL_1 as the bus number.
+ */
+
+inline uint32_t SYS_CLK_PeripheralFrequencyGet(
+    CLK_BUSES_PERIPHERAL peripheralBus) {
+  return SYS_CLK_BUS_PERIPHERAL_1;
+}
+
+//******************************************************************************
+/* Function:
+    inline uint32_t SYS_CLK_ReferenceClockFrequencyGet ( CLK_BUSES_REFERENCE
+  referenceBus )
+
+  Summary:
+    Gets the selected Reference clock bus frequency in Hertz.
+
+  Description:
+    This function gets frequency of the selected Reference clock bus in Hertz.
+
+  Precondition:
+    None.
+
+  Parameters:
+        peripheralBus - Reference clock bus selection. One of the possible value
+  from
+                                CLK_BUSES_REFERENCE enum. For devices that do
+  not have multiple
+                                clock channels for Reference clock,
+  CLK_BUS_REFERENCE_1 should be
+                                the selection.
+
+  Returns:
+    Clock frequency in Hz.
+
+  Example:
+    <code>
+    unsigned long sysClockOutputHz;
+
+    sysClockOutputHz = SYS_CLK_ReferenceClockFrequencyGet ( CLK_BUS_REFERENCE_3
+  );
+    </code>
+
+  Remarks:
+ */
+
+inline uint32_t SYS_CLK_ReferenceClockFrequencyGet(
+    CLK_BUSES_REFERENCE referenceBus) {
+  return 0;
+}
+
+/******************************************************************************
+  Function:
+    void SYS_CLK_SecondaryOscillatorEnable ( void )
+
+  Summary:
+    Enables the secondary oscillator.
+
+  Description:
+    This function enables the secondary oscillator.
+
+  Remarks:
+    For more details refer sys_clk.h.
+*/
+
+void SYS_CLK_SecondaryOscillatorEnable(void) {
+  /* Check for secondary oscillator status */
+  if (!PLIB_OSC_SecondaryIsEnabled(OSC_ID_0)) {
+    /* Unlock and enable secondary oscillator */
+    SYS_DEVCON_SystemUnlock();
+
+    PLIB_OSC_SecondaryEnable(OSC_ID_0);
+
+    SYS_DEVCON_SystemLock();
+  }
+}
+
+/******************************************************************************
+  Function:
+    void SYS_CLK_SecondaryOscillatorDisable ( void )
+
+  Summary:
+    Disables the secondary oscillator.
+
+  Description:
+    This function disables the secondary oscillator.
+
+  Remarks:
+    For more details refer sys_clk.h.
+*/
+
+void SYS_CLK_SecondaryOscillatorDisable(void) {
+  /* Check for secondary oscillator status */
+  if (PLIB_OSC_SecondaryIsEnabled(OSC_ID_0)) {
+    /* Unlock and disable secondary oscillator*/
+    SYS_DEVCON_SystemUnlock();
+
+    PLIB_OSC_SecondaryDisable(OSC_ID_0);
+
+    SYS_DEVCON_SystemLock();
+  }
+}
+
+/******************************************************************************
+  Function:
+    bool SYS_CLK_SecondaryOscillatorIsEnabled ( void )
+
+  Summary:
+    Identifies whether secondary oscillator is enabled or disabled.
+
+  Description:
+    This function identifies whether the secondary oscillator is enabled or
+    disabled.
+
+  Remarks:
+    For more details refer sys_clk.h.
+*/
+
+bool SYS_CLK_SecondaryOscillatorIsEnabled(void) {
+  return (PLIB_OSC_SecondaryIsEnabled(OSC_ID_0));
+}
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/system/clk/sys_clk_static.h b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/system/clk/sys_clk_static.h
new file mode 100644
index 0000000000000000000000000000000000000000..6ad82f1b1bf0c605c58b40ed27b4407c5c4786a8
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/system/clk/sys_clk_static.h
@@ -0,0 +1,82 @@
+/* clang-format off */
+/*******************************************************************************
+  SYS CLK Static Interface Declarations for Clock System Service
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    sys_clk_static.h
+
+  Summary:
+    SYS CLK interface declarations for the static system service.
+
+  Description:
+    The Clock System Service provides a simple interface to manage the oscillators
+    on Microchip microcontrollers. This file defines the interface
+    Declarations for the SYS CLK system service.
+    
+  Remarks:
+    Static interfaces incorporate all system clock configuration settings as
+    determined by the user via the Microchip Harmony Configurator GUI.  It provides 
+    static version of the routines, eliminating the need for an object ID or 
+    object handle.
+    
+    Static single-open interfaces also eliminate the need for the open handle.
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2014 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+// DOM-IGNORE-BEGIN
+#ifdef __cplusplus  // Provide C++ Compatibility
+
+    extern "C" {
+
+#endif
+// DOM-IGNORE-END 
+
+
+#ifndef _SYS_CLK_STATIC_H
+#define _SYS_CLK_STATIC_H
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: SYS CLK Module Initialization Routine (Static Version)
+// *****************************************************************************
+// *****************************************************************************
+
+#endif // #ifndef _SYS_CLK_STATIC_H
+
+//DOM-IGNORE-BEGIN
+#ifdef __cplusplus
+}
+#endif
+//DOM-IGNORE-END
+
+
+/*******************************************************************************
+ End of File
+*/
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/system/console/src/sys_console_static.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/system/console/src/sys_console_static.c
new file mode 100644
index 0000000000000000000000000000000000000000..8007128cab7317e0b2bb3ccac51f5eee615d528c
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/system/console/src/sys_console_static.c
@@ -0,0 +1,387 @@
+/* clang-format off */
+/*******************************************************************************
+  SYS CONSOLE Static Functions for Console System Service
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    sys_console_static.c
+
+  Summary:
+    SYS CONSOLE static function implementations for the Console System Service.
+
+  Description:
+    The Console System Service provides a simple interface to manage the oscillators
+    on Microchip microcontrollers. This file defines the static implementation for the 
+    Console System Service.
+    
+  Remarks:
+    Static functions incorporate all system clock configuration settings as
+    determined by the user via the Microchip Harmony Configurator GUI.  It provides 
+    static version of the routines, eliminating the need for an object ID or 
+    object handle.
+    
+    Static single-open interfaces also eliminate the need for the open handle.
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2014 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Include Files
+// *****************************************************************************
+// *****************************************************************************
+
+#include "system_config.h"
+#include "system_definitions.h"
+#include "system/console/sys_console.h"
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Global Variable Definitions
+// *****************************************************************************
+// *****************************************************************************
+
+
+// *****************************************************************************
+/* Function:
+    SYS_MODULE_OBJ SYS_CONSOLE_Initialize( const SYS_MODULE_INDEX index,
+                                       const SYS_MODULE_INIT * const init )
+
+  Summary:
+    Initializes data for the instance of the Console module and opens the 
+    specific module instance.
+
+  Description:
+    This function initializes the Console module, and selects the I/O device to
+    be used. It also initializes any internal data structures.
+
+  Precondition:
+    None.
+
+  Parameters:
+    index           - Index for the instance to be initialized
+
+    init            - Pointer to a data structure containing any data necessary
+                      to initialize the sys console. This pointer may be null if no
+                      data is required because static overrides have been
+                      provided.
+
+ Returns:
+    If successful, returns a valid handle to an object.  Otherwise, it
+    returns SYS_MODULE_OBJ_INVALID. The returned object must be passed as
+    argument to SYS_CONSOLE_Reinitialize, SYS_CONSOLE_Deinitialize, 
+    SYS_CONSOLE_Tasks and SYS_CONSOLE_Status routines.
+
+  Remarks:
+    This routine should only be called once during system initialization
+    unless SYS_Console_Deinitialize is first called to deinitialize the device
+    instance before reinitializing it. If the system was already initialized
+    it safely returns without causing any disturbance.
+*/
+
+SYS_MODULE_OBJ SYS_CONSOLE_Initialize( const SYS_MODULE_INDEX index, const SYS_MODULE_INIT * const init )
+{
+    return 1;
+}
+
+
+// *****************************************************************************
+/* Function:
+     void SYS_CONSOLE_Reinitialize ( SYS_MODULE_OBJ object,
+                                 const SYS_MODULE_INIT * const init )
+
+   Summary:
+     Reinitializes and refreshes the data structure for the instance of the
+     Console module.
+
+   Description:
+     This function reinitializes and refreshes the data structure for the
+     instance of the Console module.
+
+  PreCondition:
+     The SYS_CONSOLE_Initialize function should have been called before calling
+     this function.
+
+  Parameters:
+    object          - Identifies the SYS CONSOLE Object returned by the Initialize
+                      interface
+    init            - Pointer to the data structure containing any data
+                      necessary to initialize the hardware
+
+   Returns:
+    - true	- if successful
+    - false	- if unsuccessful
+*/
+
+bool SYS_CONSOLE_Reinitialize( SYS_MODULE_OBJ object, const SYS_MODULE_INIT * const init )
+{
+    return true;
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_CONSOLE_Deinitialize ( SYS_MODULE_OBJ object )
+
+  Summary:
+    Deinitializes the specific module instance of the Console module.
+
+  Description:
+    Deinitializes the specific module instance disabling its operation (and
+    any hardware for driver modules). Resets all the internal data
+    structures and fields for the specified instance to the default
+    settings.
+
+  PreCondition:
+    The SYS_CONSOLE_Initialize function should have been called before calling
+    this function.
+
+  Parameters:
+    object    - SYS CONSOLE object handle, returned from SYS_CONSOLE_Initialize
+
+   Returns:
+    - true	- if successful
+    - false	- if unsuccessful
+*/
+
+bool SYS_CONSOLE_Deinitialize ( SYS_MODULE_OBJ object )
+{
+    return true;
+}
+
+
+// *****************************************************************************
+/* Function:
+    SYS_STATUS SYS_CONSOLE_Status ( SYS_MODULE_OBJ object )
+
+  Summary:
+    Returns status of the specific module instance of the Console module.
+
+  Description:
+    This function returns the status of the specific module instance disabling its
+    operation (and any hardware for driver modules).
+
+  PreCondition:
+    The SYS_CONSOLE_Initialize function should have been called before calling
+    this function.
+
+  Parameters:
+    object   - SYS CONSOLE object handle, returned from SYS_CONSOLE_Initialize
+
+  Returns:
+    SYS_STATUS_READY    Indicates that any previous module operation for the
+                        specified module has completed
+
+    SYS_STATUS_BUSY     Indicates that a previous module operation for the
+                        specified module has not yet completed
+
+    SYS_STATUS_ERROR    Indicates that the specified module is in an error state
+*/
+
+SYS_STATUS SYS_CONSOLE_Status ( SYS_MODULE_OBJ object )
+{
+    return SYS_STATUS_READY;
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_CONSOLE_Tasks ( SYS_MODULE_OBJ object )
+
+  Summary:
+    Maintains the system console's state machine and implements its ISR.
+
+  Description:
+    This routine is used to maintain the system console's internal state machine 
+    and implement its ISR for interrupt-driven implementations.
+
+  Precondition:
+    The SYS_CONSOLE_Initialize function must have been called for the specified 
+    console instance.
+
+  Parameters:
+    object   - SYS CONSOLE object handle, returned from SYS_CONSOLE_Initialize
+
+  Returns:
+    None.
+*/
+
+void SYS_CONSOLE_Tasks ( SYS_MODULE_OBJ object )
+{
+}
+
+// *****************************************************************************
+/* Function:
+    ssize_t SYS_CONSOLE_Read( const SYS_MODULE_INDEX index, int fd, void *buf, size_t count )
+
+  Summary:
+    Reads data from the console device.
+
+  Description:
+    This function reads the data from the console device.
+
+  Preconditions:
+    None.
+
+  Parameters:
+    index           - Console instance index
+    fd              - This field is not used
+                      Maintained for backward compatibility
+                      NULL value can be passed as a parameter
+    buf             - Buffer to hold the read data.
+    count           - Number of bytes to read.
+
+  Returns:
+    Number of bytes actually read.
+
+  Remarks:
+    None.
+*/
+
+ssize_t SYS_CONSOLE_Read(const SYS_MODULE_INDEX index, int fd, void *buf, size_t count )
+{
+    size_t  numBytes = 0;
+    char* pReadByte = (char*)buf;
+	if( !DRV_USART0_ReceiverBufferIsEmpty() )
+	{
+		*pReadByte = DRV_USART0_ReadByte();
+
+		numBytes++;
+		pReadByte++;
+    }
+
+    return numBytes;
+}
+
+
+// *****************************************************************************
+/* Function:
+    ssize_t SYS_CONSOLE_Write( const SYS_MODULE_INDEX index, int fd, const void *buffer, size_t count )
+
+  Summary:
+    Writes data to the console device.
+
+  Description:
+    This function writes data to the console device.
+
+  Preconditions:
+    None.
+
+  Parameters:
+    index           - Console instance index
+    fd              - This field is not used
+                      Maintained for backward compatibility
+                      NULL value can be passed as a parameter
+    buf             - Buffer holding the data to be written.
+    count           - Number of bytes to write.
+
+  Returns:
+    Number of bytes written or -1 if error.
+
+  Remarks:
+    None.
+*/
+
+ssize_t SYS_CONSOLE_Write(const SYS_MODULE_INDEX index, int fd, const char *buf, size_t count )
+{
+    size_t numBytes = 0;
+    while( numBytes < count )
+    {
+        DRV_USART0_WriteByte(buf[numBytes++]);
+    }
+    return count;
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_CONSOLE_RegisterCallback(const SYS_MODULE_INDEX index, consoleCallbackFunction cbFunc, SYS_CONSOLE_EVENT event)
+
+  Summary:
+    Registers a callback function with the console service that will be
+    executed when the read or write queue is emptied.
+
+  Description:
+    This function is used by an application to register a callback function
+    with the console service. The callback function is called in response to
+    an event. Separate callback functions are required for each event.
+
+  Preconditions:
+    None.
+
+  Parameters:
+    index               - Console instance index
+    consCallbackFunc    - The name of the callback function
+    event               - Enumerated list of events that can trigger a callback
+
+  Returns:
+    None.
+
+  Remarks:
+    None.
+*/
+
+void SYS_CONSOLE_RegisterCallback(const SYS_MODULE_INDEX index, consoleCallbackFunction cbFunc, SYS_CONSOLE_EVENT event)
+{
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_CONSOLE_Flush(const SYS_MODULE_INDEX index)
+
+  Summary:
+    Flushes the read and write queues and resets an overflow error for the
+    console.
+
+  Description:
+    This function flushes the read and write queues and resets an overflow
+    error for the console.
+
+  Preconditions:
+    None.
+
+  Parameters:
+    index               - Console instance index
+
+  Returns:
+    None.
+
+  Remarks:
+    None.
+*/
+
+void SYS_CONSOLE_Flush(const SYS_MODULE_INDEX index)
+{
+}
+
+                      
+/*******************************************************************************
+ End of File
+*/
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/system/ports/src/sys_ports_static.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/system/ports/src/sys_ports_static.c
new file mode 100644
index 0000000000000000000000000000000000000000..c96b85689ba968a6dc8fd41a25eff03102ec7f9b
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/framework/system/ports/src/sys_ports_static.c
@@ -0,0 +1,872 @@
+/* clang-format off */
+/*******************************************************************************
+  SYS PORTS Static Functions for PORTS System Service
+
+  Company:
+    Microchip Technology Inc.
+
+  File Name:
+    sys_ports_static.c
+
+  Summary:
+    SYS PORTS static function implementations for the Ports System Service.
+
+  Description:
+    The Ports System Service provides a simple interface to manage the ports
+    on Microchip microcontrollers. This file defines the static implementation for the 
+    Ports System Service.
+    
+  Remarks:
+    Static functions incorporate all system ports configuration settings as
+    determined by the user via the Microchip Harmony Configurator GUI.  It provides 
+    static version of the routines, eliminating the need for an object ID or 
+    object handle.
+
+*******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2013 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+//DOM-IGNORE-END
+
+#include "system_config.h"
+#include "system/ports/sys_ports.h"
+#include "peripheral/devcon/plib_devcon.h"
+#include "peripheral/ports/plib_ports.h"
+#include "peripheral/int/plib_int.h"
+
+/******************************************************************************
+  Function:
+    SYS_PORTS_Initialize(void)
+
+  Summary:
+    Initializes Ports System Service
+
+  Description:
+    This function initializes different port pins/channels to the desired state.
+    It also remaps the pins to the desired specific function.
+
+  Remarks:
+    None.
+*/
+void SYS_PORTS_Initialize(void)
+{
+    /* AN and CN Pins Initialization */
+    PLIB_PORTS_AnPinsModeSelect(PORTS_ID_0, SYS_PORT_AD1PCFG, PORTS_PIN_MODE_DIGITAL);
+    PLIB_PORTS_CnPinsPullUpEnable(PORTS_ID_0, SYS_PORT_CNPUE);
+    PLIB_PORTS_CnPinsEnable(PORTS_ID_0, SYS_PORT_CNEN);
+    PLIB_PORTS_ChangeNoticeEnable(PORTS_ID_0);
+
+    PLIB_PORTS_Read(PORTS_ID_0, PORT_CHANNEL_D);    
+    PLIB_INT_SourceFlagClear(INT_ID_0, INT_SOURCE_CHANGE_NOTICE);         
+    PLIB_INT_SourceEnable(INT_ID_0, INT_SOURCE_CHANGE_NOTICE);
+    PLIB_INT_VectorPrioritySet(INT_ID_0, INT_VECTOR_CN, INT_PRIORITY_LEVEL2);
+    PLIB_INT_VectorSubPrioritySet(INT_ID_0, INT_VECTOR_CN, INT_SUBPRIORITY_LEVEL0);          
+    
+    
+    /* PORT D Initialization */
+    PLIB_PORTS_OpenDrainEnable(PORTS_ID_0, PORT_CHANNEL_D, SYS_PORT_D_ODC);
+    PLIB_PORTS_Write( PORTS_ID_0, PORT_CHANNEL_D,  SYS_PORT_D_LAT);
+	PLIB_PORTS_DirectionOutputSet( PORTS_ID_0, PORT_CHANNEL_D,  SYS_PORT_D_TRIS ^ 0xFFFF);
+    
+}
+
+/******************************************************************************
+  Function:
+    PORTS_DATA_TYPE SYS_PORTS_Read( PORTS_MODULE_ID index, PORTS_CHANNEL channel )
+
+  Summary:
+    Reads the data from the I/O port.
+
+  Description:
+    This function reads the data from the I/O port.
+
+  Remarks:
+    None.
+*/
+
+PORTS_DATA_TYPE SYS_PORTS_Read( PORTS_MODULE_ID index, PORTS_CHANNEL channel )
+{
+    return PLIB_PORTS_Read( index, channel );
+}
+
+
+/******************************************************************************
+  Function:
+    void SYS_PORTS_Write( PORTS_MODULE_ID index, PORTS_CHANNEL channel,
+                      		PORTS_DATA_TYPE value )
+
+  Summary:
+    Writes the data from the I/O port.
+
+  Description:
+    This function writes the data to the I/O port.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_Write( PORTS_MODULE_ID index,
+                      PORTS_CHANNEL channel,
+                      PORTS_DATA_TYPE value )
+{
+    PLIB_PORTS_Write( index, channel, value );
+}
+
+
+/******************************************************************************
+  Function:
+    void SYS_PORTS_Set( PORTS_MODULE_ID index, PORTS_CHANNEL channel,
+	                         PORTS_DATA_TYPE value,
+                         PORTS_DATA_MASK mask )
+
+  Summary:
+    Sets the selected digital port/latch based on the mask.
+
+  Description:
+    This function sets the selected digital port/latch relative to the mask.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_Set( PORTS_MODULE_ID index, PORTS_CHANNEL channel,
+                    PORTS_DATA_TYPE value,
+                    PORTS_DATA_MASK mask )
+{
+    PLIB_PORTS_Set( index, channel, value, mask );
+}
+
+
+/******************************************************************************
+  Function:
+    void SYS_PORTS_Clear ( PORTS_MODULE_ID index, PORTS_CHANNEL channel,
+                           PORTS_DATA_MASK clearMask )
+
+  Summary:
+    Clears the selected digital port.
+
+  Description:
+    This function clears the selected digital port.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_Clear ( PORTS_MODULE_ID index, PORTS_CHANNEL channel,
+                           PORTS_DATA_MASK clearMask )
+{
+    PLIB_PORTS_Clear ( index, channel, clearMask );
+}
+
+
+/******************************************************************************
+  Function:
+    void SYS_PORTS_DirectionSelect( PORTS_MODULE_ID index,
+								SYS_PORTS_PIN_DIRECTION pinDir,
+								PORTS_CHANNEL channel,
+								PORTS_DATA_MASK mask )
+  Summary:
+    Enables the direction for the selected port.
+
+  Description:
+    This function enables the direction for the selected port.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_DirectionSelect( PORTS_MODULE_ID index,
+                             SYS_PORTS_PIN_DIRECTION pinDir,
+                             PORTS_CHANNEL channel,
+                             PORTS_DATA_MASK mask )
+{
+    if (pinDir == SYS_PORTS_DIRECTION_INPUT)
+    {
+        PLIB_PORTS_DirectionInputSet(index, channel, mask);
+    }
+    else
+    {
+        PLIB_PORTS_DirectionOutputSet(index, channel, mask);
+    }
+}
+
+
+/******************************************************************************
+  Function:
+    PORTS_DATA_MASK SYS_PORTS_DirectionGet( PORTS_MODULE_ID index,
+                                            PORTS_CHANNEL channel )
+
+  Summary:
+    Reads the port direction for the selected port.
+
+  Description:
+    This function reads the port direction for the selected port.
+
+  Remarks:
+    None.
+*/
+
+PORTS_DATA_MASK SYS_PORTS_DirectionGet( PORTS_MODULE_ID index, PORTS_CHANNEL channel )
+{
+    return PLIB_PORTS_DirectionGet( index, channel );
+}
+
+
+/******************************************************************************
+  Function:
+    void SYS_PORTS_Toggle( PORTS_MODULE_ID index, PORTS_CHANNEL channel,
+                           PORTS_DATA_MASK toggleMask )
+
+  Summary:
+    Toggles the selected digital port pins.
+
+  Description:
+    This function toggles the selected digital port pins.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_Toggle( PORTS_MODULE_ID index, PORTS_CHANNEL channel,
+                       PORTS_DATA_MASK toggleMask )
+{
+    PLIB_PORTS_Toggle( index, channel, toggleMask );
+}
+
+
+/******************************************************************************
+  Function:
+    void SYS_PORTS_OpenDrainEnable( PORTS_MODULE_ID index, PORTS_CHANNEL channel,
+                                     PORTS_DATA_MASK mask )
+
+  Summary:
+    Enables the open drain functionality for the selected port.
+
+  Description:
+    This function enables the open drain functionality for the selected port.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_OpenDrainEnable( PORTS_MODULE_ID index, PORTS_CHANNEL channel,
+                                PORTS_DATA_MASK mask )
+{
+#if defined(PLIB_PORTS_ExistsPortsOpenDrain)
+    if(PLIB_PORTS_ExistsPortsOpenDrain(index))
+    {
+        PLIB_PORTS_OpenDrainEnable( index, channel, mask );
+    }
+#endif
+}
+
+
+/******************************************************************************
+  Function:
+    void SYS_PORTS_OpenDrainDisable( PORTS_MODULE_ID index, PORTS_CHANNEL channel,
+                                     PORTS_DATA_MASK mask )
+
+  Summary:
+    Disables the open drain functionality for the selected port.
+
+  Description:
+    This function disables the open drain functionality for the selected port.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_OpenDrainDisable( PORTS_MODULE_ID index, PORTS_CHANNEL channel,
+                                 PORTS_DATA_MASK mask )
+{
+#if defined(PLIB_PORTS_ExistsPortsOpenDrain)
+    if(PLIB_PORTS_ExistsPortsOpenDrain(index))
+    {
+        PLIB_PORTS_OpenDrainDisable( index, channel, mask );
+    }
+#endif
+}
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: SYS Change Notification Pins Routines
+// *****************************************************************************
+// *****************************************************************************
+
+/******************************************************************************
+  Function:
+    void SYS_PORTS_ChangeNotificationGlobalEnable( PORTS_MODULE_ID index )
+
+  Summary:
+    Globally enables the change notification.
+
+  Description:
+    This function globally enables the change notification.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_ChangeNotificationGlobalEnable( PORTS_MODULE_ID index )
+{
+#if defined(PLIB_PORTS_ExistsChangeNotice)
+    if(PLIB_PORTS_ExistsChangeNotice(index))
+    {
+        PLIB_PORTS_ChangeNoticeEnable( index );
+    }
+#endif
+}
+
+/******************************************************************************
+  Function:
+    void SYS_PORTS_ChangeNotificationGlobalDisable( PORTS_MODULE_ID index )
+
+  Summary:
+    Globally disables the change notification.
+
+  Description:
+    This function globally disables the change notification.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_ChangeNotificationGlobalDisable( PORTS_MODULE_ID index )
+{
+#if defined(PLIB_PORTS_ExistsChangeNotice)
+    if(PLIB_PORTS_ExistsChangeNotice(index))
+    {
+        PLIB_PORTS_ChangeNoticeDisable( index );
+    }
+#endif
+}
+
+/******************************************************************************
+  Function:
+    void SYS_PORTS_GlobalChangeNotificationDisable( PORTS_MODULE_ID index )
+
+  Summary:
+    Globally disables the change notification for the selected port.
+
+  Description:
+    This function globally disables the change notification for the selected port.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_GlobalChangeNotificationDisable( PORTS_MODULE_ID index )
+{
+#if defined(PLIB_PORTS_ExistsChangeNotice)
+    if(PLIB_PORTS_ExistsChangeNotice(index))
+    {
+        PLIB_PORTS_ChangeNoticeDisable( index );
+    }
+#endif
+}
+
+
+/******************************************************************************
+  Function:
+    void SYS_PORTS_ChangeNotificationEnable( PORTS_MODULE_ID index,
+                                             PORTS_CHANGE_NOTICE_PIN pinNum,
+                                             SYS_PORTS_PULLUP_PULLDOWN_STATUS value )
+
+  Summary:
+    Enables the change notification for the selected port.
+
+  Description:
+    This function enables the change notification for the selected port.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_ChangeNotificationEnable( PORTS_MODULE_ID index,
+                                         PORTS_CHANGE_NOTICE_PIN pinNum,
+                                         SYS_PORTS_PULLUP_PULLDOWN_STATUS value )
+{
+#if defined(PLIB_PORTS_ExistsChangeNoticePullUp)
+    if(PLIB_PORTS_ExistsChangeNoticePullUp(index))
+    {
+        switch(value)
+        {
+            case SYS_PORTS_PULLUP_DISABLE:
+                PLIB_PORTS_ChangeNoticePullUpDisable(index, pinNum);
+                break;
+            case SYS_PORTS_PULLUP_ENABLE:
+                PLIB_PORTS_ChangeNoticePullUpEnable(index, pinNum);
+                break;
+        }
+    }
+#endif
+
+#if defined(PLIB_PORTS_ExistsPinChangeNotice)
+    if(PLIB_PORTS_ExistsPinChangeNotice(index))
+    {
+        PLIB_PORTS_PinChangeNoticeEnable( index, pinNum );
+    }
+#endif
+}
+
+
+/******************************************************************************
+  Function:
+    void SYS_PORTS_ChangeNotificationDisable( PORTS_MODULE_ID index,
+                                              PORTS_CHANGE_NOTICE_PIN pinNum )
+
+  Summary:
+    Disables the change notification for the selected port.
+
+  Description:
+    This function disables the change notification for the selected port.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_ChangeNotificationDisable( PORTS_MODULE_ID index,
+                                          PORTS_CHANGE_NOTICE_PIN pinNum )
+{
+#if defined(PLIB_PORTS_ExistsPinChangeNotice)
+    if(PLIB_PORTS_ExistsPinChangeNotice(index))
+    {
+        PLIB_PORTS_PinChangeNoticeDisable( index, pinNum );
+    }
+#endif
+}
+
+
+/******************************************************************************
+  Function:
+    void SYS_PORTS_ChangeNotificationInIdleModeEnable( PORTS_MODULE_ID index )
+
+  Summary:
+    Enables the change notification for the selected port in Sleep or Idle mode.
+
+  Description:
+    This function enables the change notification for the selected port in Sleep
+    or Idle mode.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_ChangeNotificationInIdleModeEnable( PORTS_MODULE_ID index )
+{
+#if defined(PLIB_PORTS_ExistsChangeNoticeInIdle)
+    if(PLIB_PORTS_ExistsChangeNoticeInIdle(index))
+    {
+        PLIB_PORTS_ChangeNoticeInIdleEnable( index );
+    }
+#endif
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_PORTS_ChangeNotificationInIdleModeDisable( PORTS_MODULE_ID index)
+
+  Summary:
+    Disables the change notification for the selected port in Sleep or Idle mode.
+
+  Description:
+    This function disables the change notification for the selected port in Sleep
+    or Idle mode.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_ChangeNotificationInIdleModeDisable( PORTS_MODULE_ID index )
+{
+#if defined(PLIB_PORTS_ExistsChangeNoticeInIdle)
+    if(PLIB_PORTS_ExistsChangeNoticeInIdle(index))
+    {
+        PLIB_PORTS_ChangeNoticeInIdleDisable( index );
+    }
+#endif
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_PORTS_ChangeNotificationPullUpEnable ( PORTS_MODULE_ID         index,
+                                                    PORTS_CHANGE_NOTICE_PIN pinNum )
+
+  Summary:
+    Enables weak pull-up on change notification pin.
+
+  Description:
+    This function enables weak pull-up on change notification pin.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_ChangeNotificationPullUpEnable ( PORTS_MODULE_ID         index,
+                                                PORTS_CHANGE_NOTICE_PIN pinNum )
+{
+#if defined(PLIB_PORTS_ExistsChangeNoticePullUp)
+    if(PLIB_PORTS_ExistsChangeNoticePullUp(index))
+    {
+        PLIB_PORTS_ChangeNoticePullUpEnable ( index, pinNum );
+    }
+#endif
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_PORTS_ChangeNotificationPullUpDisable ( PORTS_MODULE_ID         index,
+                                                    PORTS_CHANGE_NOTICE_PIN pinNum )
+
+  Summary:
+    Disables pull-up on input change.
+
+  Description:
+    This function disables pull-up on input change.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_ChangeNotificationPullUpDisable ( PORTS_MODULE_ID         index,
+                                                PORTS_CHANGE_NOTICE_PIN pinNum )
+{
+#if defined(PLIB_PORTS_ExistsChangeNoticePullUp)
+    if(PLIB_PORTS_ExistsChangeNoticePullUp(index))
+    {
+        PLIB_PORTS_ChangeNoticePullUpDisable ( index, pinNum );
+    }
+#endif
+}
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: SYS PORT PINS Control Routines
+// *****************************************************************************
+// *****************************************************************************
+
+// *****************************************************************************
+/* Function:
+    void SYS_PORTS_PinModeSelect ( PORTS_MODULE_ID index, PORTS_ANALOG_PIN pin,
+    								PORTS_PIN_MODE mode)
+
+  Summary:
+    Enables the selected pin as analog or digital.
+
+  Description:
+    This function enables the selected pin as analog or digital.
+
+ Remarks:
+    None.
+*/
+
+void SYS_PORTS_PinModeSelect ( PORTS_MODULE_ID index, PORTS_ANALOG_PIN pin,
+								PORTS_PIN_MODE mode)
+{
+#if defined(PLIB_PORTS_ExistsPinMode)
+    if(PLIB_PORTS_ExistsPinMode(index))
+    {
+        PLIB_PORTS_PinModeSelect ( index, pin, mode);
+    }
+#endif
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_PORTS_PinWrite ( PORTS_MODULE_ID index,
+                              PORTS_CHANNEL channel,
+                              PORTS_BIT_POS bitPos
+                              bool value )
+  Summary:
+    Writes the selected digital pin.
+
+  Description:
+    This function writes the selected digital pin.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_PinWrite ( PORTS_MODULE_ID index,
+                          PORTS_CHANNEL channel,
+                          PORTS_BIT_POS bitPos,
+                          bool value )
+{
+    PLIB_PORTS_PinWrite ( index, channel, bitPos, value );
+}
+
+
+// *****************************************************************************
+/* Function:
+    bool SYS_PORTS_PinRead ( PORTS_MODULE_ID index,
+                             PORTS_CHANNEL channel,
+                             PORTS_BIT_POS bitPos )
+
+  Summary:
+    Reads the selected digital pin.
+
+  Description:
+    This function reads the selected digital pin.
+
+  Remarks:
+    None.
+*/
+
+bool SYS_PORTS_PinRead ( PORTS_MODULE_ID index,
+                         PORTS_CHANNEL channel,
+                         PORTS_BIT_POS bitPos )
+{
+    return PLIB_PORTS_PinGet ( index, channel, bitPos );
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_PORTS_PinToggle ( PORTS_MODULE_ID index,
+                               PORTS_CHANNEL channel,
+                               PORTS_BIT_POS bitPos )
+
+  Summary:
+    Toggles the selected digital pin.
+
+  Description:
+    This function toggles the selected digital pin.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_PinToggle ( PORTS_MODULE_ID index,
+                           PORTS_CHANNEL channel,
+                           PORTS_BIT_POS bitPos )
+{
+    PLIB_PORTS_PinToggle ( index, channel, bitPos );
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_PORTS_PinSet( PORTS_MODULE_ID index,
+                           PORTS_CHANNEL channel,
+                           PORTS_BIT_POS bitPos )
+
+  Summary:
+    Sets the selected digital pin/latch.
+
+  Description:
+    This function sets the selected digital pin/latch.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_PinSet( PORTS_MODULE_ID index,
+                       PORTS_CHANNEL channel,
+                       PORTS_BIT_POS bitPos )
+{
+    PLIB_PORTS_PinSet( index, channel, bitPos );
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_PORTS_PinClear ( PORTS_MODULE_ID index,
+                              PORTS_CHANNEL channel,
+                              PORTS_BIT_POS bitPos )
+
+  Summary:
+    Clears the selected digital pin.
+
+  Description:
+    This function clears the selected digital pin.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_PinClear ( PORTS_MODULE_ID index,
+                          PORTS_CHANNEL channel,
+                          PORTS_BIT_POS bitPos )
+{
+    PLIB_PORTS_PinClear ( index, channel, bitPos );
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_PORTS_PinDirectionSelect ( PORTS_MODULE_ID index,
+                                     SYS_PORTS_PIN_DIRECTION pinDir,
+                                     PORTS_CHANNEL channel,
+                                     PORTS_BIT_POS bitPos )
+  Summary:
+    Enables the direction for the selected pin.
+
+  Description:
+    This function enables the direction for the selected pin.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_PinDirectionSelect ( PORTS_MODULE_ID index,
+                                 SYS_PORTS_PIN_DIRECTION pinDir,
+                                 PORTS_CHANNEL channel,
+                                 PORTS_BIT_POS bitPos )
+{
+    if (pinDir == SYS_PORTS_DIRECTION_OUTPUT)
+    {
+        PLIB_PORTS_PinDirectionOutputSet(index, channel, bitPos);
+    }
+    else
+    {
+        PLIB_PORTS_PinDirectionInputSet(index, channel, bitPos);
+    }
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_PORTS_PinOpenDrainEnable ( PORTS_MODULE_ID index,
+                                        PORTS_CHANNEL channel,
+                                        PORTS_BIT_POS bitPos )
+
+  Summary:
+    Enables the open-drain functionality for the selected pin.
+
+  Description:
+    This function enables the open-drain functionality for the selected pin.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_PinOpenDrainEnable ( PORTS_MODULE_ID index,
+                                    PORTS_CHANNEL channel,
+                                    PORTS_BIT_POS bitPos )
+{
+#if defined(PLIB_PORTS_ExistsPortsOpenDrain)
+    if(PLIB_PORTS_ExistsPortsOpenDrain(index))
+    {
+        PLIB_PORTS_PinOpenDrainEnable ( index, channel, bitPos );
+    }
+#endif
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_PORTS_PinOpenDrainDisable ( PORTS_MODULE_ID index,
+                                         PORTS_CHANNEL channel,
+                                         PORTS_BIT_POS bitPos )
+
+  Summary:
+    Disables the open-drain functionality for the selected pin.
+
+  Description:
+    This function disables the open-drain functionality for the selected pin.
+
+  Remarks:
+    None.
+*/
+
+void SYS_PORTS_PinOpenDrainDisable ( PORTS_MODULE_ID index,
+                                     PORTS_CHANNEL channel,
+                                     PORTS_BIT_POS bitPos )
+{
+#if defined(PLIB_PORTS_ExistsPortsOpenDrain)
+    if(PLIB_PORTS_ExistsPortsOpenDrain(index))
+    {
+        PLIB_PORTS_PinOpenDrainDisable ( index, channel, bitPos );
+    }
+#endif
+}
+
+
+// *****************************************************************************
+/* Function:
+    void SYS_PORTS_RemapInput( PORTS_MODULE_ID      index,
+							  PORTS_REMAP_INPUT_FUNCTION function,
+							  PORTS_REMAP_INPUT_PIN      remapPin )
+
+  Summary:
+    Input/Output (I/O) function remapping.
+
+  Description:
+    This function controls the I/O function remapping.
+
+  Precondition:
+    None.
+*/	
+void SYS_PORTS_RemapInput( PORTS_MODULE_ID      index,
+						   PORTS_REMAP_INPUT_FUNCTION function,
+						   PORTS_REMAP_INPUT_PIN      remapPin )
+{
+#if defined(PLIB_PORTS_ExistsRemapInput)
+    if(PLIB_PORTS_ExistsRemapInput(index))
+    {
+        PLIB_DEVCON_SystemUnlock(DEVCON_ID_0);
+        PLIB_DEVCON_DeviceRegistersUnlock(DEVCON_ID_0, DEVCON_PPS_REGISTERS);
+        PLIB_PORTS_RemapInput( index, function, remapPin);
+    }
+#endif
+}
+
+// *****************************************************************************
+/* Function:
+    void SYS_PORTS_RemapOutput( PORTS_MODULE_ID      index,
+                                      PORTS_REMAP_OUTPUT_FUNCTION function,
+                                      PORTS_REMAP_OUTPUT_PIN      remapPin )
+
+  Summary:
+    Input/Output (I/O) function remapping.
+
+  Description:
+    This function controls the I/O function remapping.
+
+  Precondition:
+    None.
+*/
+void SYS_PORTS_RemapOutput( PORTS_MODULE_ID      index,
+						    PORTS_REMAP_OUTPUT_FUNCTION function,
+						    PORTS_REMAP_OUTPUT_PIN      remapPin )
+{
+#if defined(PLIB_PORTS_ExistsRemapOutput)
+    if(PLIB_PORTS_ExistsRemapOutput(index))
+    {
+        PLIB_DEVCON_SystemUnlock(DEVCON_ID_0);
+        PLIB_DEVCON_DeviceRegistersUnlock(DEVCON_ID_0, DEVCON_PPS_REGISTERS);
+        PLIB_PORTS_RemapOutput( index, function, remapPin);
+    }
+#endif
+}
+
+/*******************************************************************************
+ End of File
+*/
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/mx795.mhc b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/mx795.mhc
new file mode 100644
index 0000000000000000000000000000000000000000..58f488068c0f29cab887f70b9757b60def30ef91
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/mx795.mhc
@@ -0,0 +1,507 @@
+#
+# Configuration generated by Microchip Harmony Configurator (MHC) v1.0.8.7
+#     Project name:    mqtt_client
+#     Configuration:   mx795_CC3100_e16
+#     Device:          PIC32MX795F512L
+#     Harmony version: 1.08.01
+#
+#
+# from $PROJECT_FIRMWARE_DIRECTORY/$PROJECT_NAME.hconfig
+#
+CONFIG_APP_INSTANCES=1
+#
+# from $HARMONY_VERSION_PATH/utilities/mhc/config/app_name_idx_gencode.ftl
+#
+CONFIG_APP_MENU_IDX0=y
+CONFIG_APP_NAME_0="app"
+CONFIG_APP_AUTO_GENERATE_CODE0=n
+#
+# from $PROJECT_FIRMWARE_DIRECTORY/$PROJECT_NAME.hconfig
+#
+CONFIG_USE_EXCEPTION_HANDLER=y
+CONFIG_EXCEPTION_USE_SYS_DEBUG=y
+CONFIG_EXCEPTION_BREAKPOINT=y
+#
+# from bluetooth.hconfig
+#
+CONFIG_USE_BLUETOOTH_LIBRARIES=n
+#
+# from bootloader.hconfig
+#
+CONFIG_USE_BOOTLOADER=n
+#
+# from crypto.hconfig
+#
+CONFIG_USE_CRYPTO_LIBRARY=n
+CONFIG_USE_CRYPTO_LIB=n
+#
+# from decoder.hconfig
+#
+CONFIG_USE_IMAGE_DECODER=n
+CONFIG_USE_DECODER=n
+#
+# from drv_adc.hconfig
+#
+CONFIG_USE_DRV_ADC=n
+#
+# from drv_camera.hconfig
+#
+CONFIG_USE_DRV_CAMERA=n
+#
+# from drv_can.hconfig
+#
+CONFIG_USE_DRV_CAN=n
+#
+# from drv_cmp.hconfig
+#
+CONFIG_DRV_CVREF_ENABLE=n
+CONFIG_USE_DRV_CMP=n
+#
+# from drv_encx24j600.hconfig
+#
+CONFIG_DRV_ENCX24J600_USE_DRIVER=n
+#
+# from drv_enc28j60.hconfig
+#
+CONFIG_DRV_ENC28J60_USE_DRIVER=n
+#
+# from tcpip_mac.hconfig
+#
+CONFIG_TCPIP_USE_ETH_MAC=n
+#
+# from drv_flash.hconfig
+#
+CONFIG_USE_DRV_FLASH=n
+#
+# from drv_gfx_glcd.hconfig
+#
+CONFIG_USE_DRV_GFX_GLCD=n
+#
+# from drv_gfx_lcc.hconfig
+#
+CONFIG_USE_DRV_GFX_LCC=n
+#
+# from drv_gfx_otm2201a.hconfig
+#
+CONFIG_USE_DRV_GFX_OTM2201A=n
+#
+# from drv_gfx_ssd1926.hconfig
+#
+CONFIG_USE_DRV_GFX_SSD1926=n
+#
+# from drv_gfx_ssd1289.hconfig
+#
+CONFIG_USE_DRV_GFX_SSD1289=n
+#
+# from drv_gfx_s1d13517.hconfig
+#
+CONFIG_USE_DRV_GFX_S1D13517=n
+#
+# from drv_gfx_display.hconfig
+#
+CONFIG_USE_DRV_GFX_DISPLAY=n
+CONFIG_DRV_GFX_DISP_VSYNC_NEGATIVE_POLARITY=n
+CONFIG_DRV_GFX_DISP_HSYNC_NEGATIVE_POLARITY=n
+#
+# from drv_i2c.hconfig
+#
+CONFIG_USE_DRV_I2C=n
+#
+# from drv_ic.hconfig
+#
+CONFIG_USE_DRV_IC=n
+#
+# from drv_nvm.hconfig
+#
+CONFIG_USE_DRV_NVM=n
+#
+# from drv_oc.hconfig
+#
+CONFIG_USE_DRV_OC=n
+#
+# from drv_pmp.hconfig
+#
+CONFIG_USE_DRV_PMP=n
+#
+# from drv_rtcc.hconfig
+#
+CONFIG_USE_DRV_RTCC=y
+CONFIG_DRV_RTCC_DRIVER_MODE="STATIC"
+CONFIG_DRV_RTCC_INTERRUPT_MODE=n
+CONFIG_DRV_RTCC_ALARM_MASK_CONFIGURATION="RTCC_ALARM_EVERY_SECOND"
+CONFIG_DRV_RTCC_OUTPUT_ENABLE=n
+CONFIG_DRV_RTCC_TIME_SET="235959"
+CONFIG_DRV_RTCC_DATE_SET="140101"
+CONFIG_DRV_RTCC_DAY_SET=0
+CONFIG_DRV_RTCC_ALARM_TIME_SET="000005"
+CONFIG_DRV_RTCC_ALARM_DATE_SET="0101"
+CONFIG_DRV_RTCC_ALARM_DAY_SET=0
+#
+# from drv_sample.hconfig
+#
+CONFIG_USE_DRV_SAMPLE=n
+#
+# from drv_sdcard.hconfig
+#
+CONFIG_USE_DRV_SDCARD=n
+#
+# from drv_spi.hconfig
+#
+CONFIG_DRV_SPI_USE_DRIVER=y
+CONFIG_DRV_SPI_DRIVER_MODE="STATIC"
+CONFIG_DRV_SPI_USE_BLOCKING=n
+CONFIG_DRV_SPI_USE_ISR_MODE=n
+CONFIG_DRV_SPI_USE_POLLED_MODE=y
+CONFIG_DRV_SPI_USE_MASTER_MODE=y
+CONFIG_DRV_SPI_USE_SLAVE_MODE=n
+CONFIG_DRV_SPI_USE_STANDARD_BUFFER_MODE=y
+CONFIG_DRV_SPI_USE_ENHANCED_BUFFER_MODE=n
+CONFIG_DRV_SPI_USE_8BIT_MODE=y
+CONFIG_DRV_SPI_USE_16BIT_MODE=n
+CONFIG_DRV_SPI_USE_32BIT_MODE=n
+CONFIG_DRV_SPI_USE_DMA=n
+CONFIG_DRV_SPI_USE_CLIENT_CONFIG_FUCNTION=y
+CONFIG_DRV_SPI_INSTANCES_NUMBER=1
+CONFIG_DRV_SPI_CLIENT_NUMBER=1
+CONFIG_DRV_SPI_NUM_ELEMENTS_PER_INSTANCE=10
+#
+# from $HARMONY_VERSION_PATH/framework/driver/spi/config/drv_spi_idx.ftl
+#
+CONFIG_DRV_SPI_IDX0=y
+CONFIG_DRV_SPI_SPI_ID_IDX0="SPI_ID_1"
+CONFIG_DRV_SPI_TASK_MODE_POLLED_IDX0=y
+CONFIG_DRV_SPI_SPI_MODE_MASTER_IDX0=y
+CONFIG_DRV_SPI_COMM_WIDTH_8_BIT_IDX0=y
+CONFIG_DRV_SPI_BUFFER_STANDARD_IDX0=y
+CONFIG_DRV_SPI_ALLOW_IDLE_RUN_IDX0=n
+CONFIG_DRV_SPI_SPI_PROTOCOL_TYPE_IDX0="DRV_SPI_PROTOCOL_TYPE_STANDARD"
+CONFIG_DRV_SPI_SPI_CLOCK_IDX0="CLK_BUS_PERIPHERAL_2"
+CONFIG_DRV_SPI_BAUD_RATE_IDX0=10000000
+CONFIG_DRV_SPI_CLOCK_MODE_IDX0="DRV_SPI_CLOCK_MODE_IDLE_LOW_EDGE_RISE"
+CONFIG_DRV_SPI_INPUT_PHASE_IDX0="SPI_INPUT_SAMPLING_PHASE_IN_MIDDLE"
+CONFIG_DRV_SPI_QUEUE_SIZE_IDX0=10
+CONFIG_DRV_SPI_RESERVED_JOB_IDX0=1
+CONFIG_DRV_SPI_TRANSACTIONS_PER_SM_RUN_IDX0=16
+CONFIG_DRV_SPI_SPI_ID_STATIC_IDX0="SPI_ID_1"
+CONFIG_DRV_SPI_SPI_MODE_STATIC_IDX0="DRV_SPI_MODE_MASTER"
+CONFIG_DRV_SPI_COMM_WIDTH_STATIC_IDX0="SPI_COMMUNICATION_WIDTH_8BITS"
+CONFIG_DRV_SPI_BUFFER_STATIC_IDX0="DRV_SPI_BUFFER_TYPE_ENHANCED"
+CONFIG_DRV_SPI_ALLOW_IDLE_RUN_STATIC_IDX0=n
+CONFIG_DRV_SPI_SPI_PROTOCOL_TYPE_STATIC_IDX0="DRV_SPI_PROTOCOL_TYPE_STANDARD"
+CONFIG_DRV_SPI_FRAME_SYNC_PULSE_STATIC_IDX0="SPI_FRAME_SYNC_PULSE_ON_EVERY_DATA_CHARACTER"
+CONFIG_DRV_SPI_FRAME_PULSE_POLARITY_STATIC_IDX0="SPI_FRAME_PULSE_POLARITY_ACTIVE_LOW"
+CONFIG_DRV_SPI_FRAME_PULSE_DIRECTION_STATIC_IDX0="SPI_FRAME_PULSE_DIRECTION_OUTPUT"
+CONFIG_DRV_SPI_FRAME_PULSE_EDGE_STATIC_IDX0="SPI_FRAME_PULSE_EDGE_PRECEDES_FIRST_BIT_CLOCK"
+CONFIG_DRV_SPI_FRAME_PULSE_WIDTH_STATIC_IDX0="SPI_FRAME_PULSE_WIDTH_ONE_CLOCK_WIDE"
+CONFIG_DRV_SPI_AUDIO_TRANSMIT_MODE_STATIC_IDX0="SPI_AUDIO_TRANSMIT_STEREO"
+CONFIG_DRV_SPI_AUDIO_PROTOCOL_MODE_STATIC_IDX0="SPI_AUDIO_PROTOCOL_I2S"
+CONFIG_DRV_SPI_SPI_CLOCK_STATIC_IDX0="CLK_BUS_PERIPHERAL_2"
+CONFIG_DRV_SPI_BAUD_RATE_STATIC_IDX0=1000000
+CONFIG_DRV_SPI_CLOCK_MODE_STATIC_IDX0="DRV_SPI_CLOCK_MODE_IDLE_LOW_EDGE_RISE"
+CONFIG_DRV_SPI_INPUT_PHASE_STATIC_IDX0="SPI_INPUT_SAMPLING_PHASE_IN_MIDDLE"
+#
+# from drv_spi.hconfig
+#
+CONFIG_DRV_SPI_STATIC_INSTANCES_NUMBER=0
+#
+# from drv_sst25vf016b.hconfig
+#
+CONFIG_USE_DRV_SST25VF016B=n
+#
+# from drv_sst25vf020b.hconfig
+#
+CONFIG_USE_DRV_SST25VF020B=n
+#
+# from drv_sst25vf064c.hconfig
+#
+CONFIG_USE_DRV_SST25VF064C=n
+#
+# from drv_tmr.hconfig
+#
+CONFIG_USE_DRV_TMR=n
+#
+# from drv_adc10bit.hconfig
+#
+CONFIG_USE_DRV_TOUCH_ADC10BIT=n
+#
+# from drv_ar1021.hconfig
+#
+CONFIG_USE_DRV_TOUCH_AR1021=n
+#
+# from drv_mtch6301.hconfig
+#
+CONFIG_USE_DRV_TOUCH_MTCH6301=n
+#
+# from drv_mtch6303.hconfig
+#
+CONFIG_USE_DRV_TOUCH_MTCH6303=n
+#
+# from drv_usart.hconfig
+#
+CONFIG_USE_DRV_USART=y
+CONFIG_DRV_USART_DRIVER_MODE="STATIC"
+CONFIG_DRV_USART_INTERRUPT_MODE=y
+CONFIG_DRV_USART_BYTE_MODEL_SUPPORT=y
+CONFIG_DRV_USART_BYTE_MODEL_BLOCKING=y
+CONFIG_DRV_USART_BYTE_MODEL_CALLBACK=n
+CONFIG_DRV_USART_INSTANCES_NUMBER=1
+CONFIG_DRV_USART_CLIENTS_NUMBER=1
+#
+# from $HARMONY_VERSION_PATH/framework/driver/usart/config/drv_usart_idx.ftl
+#
+CONFIG_DRV_USART_INST_IDX0=y
+CONFIG_DRV_USART_PERIPHERAL_ID_IDX0="USART_ID_2"
+CONFIG_DRV_USART_BAUD_RATE_IDX0=115200
+CONFIG_DRV_USART_INT_PRIORITY_IDX0="INT_PRIORITY_LEVEL3"
+CONFIG_DRV_USART_INT_SUB_PRIORITY_IDX0="INT_SUBPRIORITY_LEVEL0"
+CONFIG_DRV_USART_OPER_MODE_IDX0="DRV_USART_OPERATION_MODE_NORMAL"
+CONFIG_DRV_USART_INIT_FLAG_WAKE_ON_START_IDX0=n
+CONFIG_DRV_USART_INIT_FLAG_AUTO_BAUD_IDX0=n
+CONFIG_DRV_USART_INIT_FLAG_STOP_IN_IDLE_IDX0=n
+CONFIG_DRV_USART_LINE_CNTRL_IDX0="DRV_USART_LINE_CONTROL_8NONE1"
+CONFIG_DRV_USART_HANDSHAKE_MODE_IDX0="DRV_USART_HANDSHAKE_NONE"
+CONFIG_DRV_USART_STATIC_RX_MODES_IDX0="USART_HANDSHAKE_MODE_FLOW_CONTROL"
+CONFIG_DRV_USART_STATIC_OP_MODES_IDX0="USART_ENABLE_TX_RX_USED"
+CONFIG_DRV_USART_STATIC_LINECONTROL_MODES_IDX0="USART_8N1"
+CONFIG_DRV_USART_STATIC_TX_ENABLE_IDX0=y
+CONFIG_DRV_USART_STATIC_RX_ENABLE_IDX0=y
+CONFIG_DRV_USART_STATIC_TX_INTR_MODES_IDX0="USART_TRANSMIT_FIFO_NOT_FULL"
+CONFIG_DRV_USART_STATIC_RX_INTR_MODES_IDX0="USART_RECEIVE_FIFO_ONE_CHAR"
+#
+# from drv_wifi.hconfig
+#
+CONFIG_USE_DRV_WIFI=n
+#
+# from gfx.hconfig
+#
+CONFIG_USE_GFX_STACK=n
+#
+# from gfx_segger.hconfig
+#
+CONFIG_USE_SEGGER_EMWIN=n
+#
+# from dsp.hconfig
+#
+CONFIG_USE_DSP=n
+#
+# from net_pres.hconfig
+#
+CONFIG_NET_PRES_USE=n
+#
+# from osal.hconfig
+#
+CONFIG_USE_OSAL=y
+#
+# from peripheral.hconfig
+#
+CONFIG_PERIPHERAL_LIB=y
+#
+# from sample_module.hconfig
+#
+CONFIG_USE_SAMPLE_MODULE=n
+#
+# from sys_clk.hconfig
+#
+CONFIG_USE_SYS_CLK=y
+CONFIG_SYS_CLK_MODE="STATIC"
+CONFIG_SYS_CLK_PBDIV0_OVERRIDE=n
+CONFIG_SYS_CLK_PBDIV0_MX="DIV_1"
+CONFIG_SYS_CLK_CONFIG_PRIMARY_XTAL="8000000"
+CONFIG_SYS_CLK_CONFIG_SECONDARY_XTAL=""
+CONFIG_SYS_CLK_FREQ="80000000"
+CONFIG_SYS_CLK_PBCLK_FREQ="80000000"
+CONFIG_SYS_CLK_UPLL_BEFORE_DIV2_FREQ="48000000"
+#
+# from sys_command.hconfig
+#
+CONFIG_USE_SYS_COMMAND=n
+#
+# from sys_common.hconfig
+#
+CONFIG_USE_SYS_COMMON=y
+CONFIG_SYS_BUFFER=n
+CONFIG_SYS_QUEUE=n
+#
+# from sys_console.hconfig
+#
+CONFIG_USE_SYS_CONSOLE=y
+CONFIG_SYS_CONSOLE_MODE="STATIC"
+CONFIG_SYS_CONSOLE_OVERRIDE_STDIO=y
+CONFIG_SYS_CONSOLE_SOURCE_IDX0="UART_CONSOLE"
+#
+# from sys_debug.hconfig
+#
+CONFIG_USE_SYS_DEBUG=y
+CONFIG_SYS_ERR_LEVEL="SYS_ERROR_FATAL"
+CONFIG_DEBUG_PRINT_BUFFER_SIZE=8192
+#
+# from sys_devcon.hconfig
+#
+CONFIG_USE_SYS_DEVCON=y
+CONFIG_SYS_DEVCON_USE_JTAG=n
+CONFIG_SYS_DEVCON_USE_TRACE=n
+#
+# from sys_dma.hconfig
+#
+CONFIG_USE_SYS_DMA=n
+#
+# from sys_fs.hconfig
+#
+CONFIG_USE_SYS_FS=n
+#
+# from sys_int.hconfig
+#
+CONFIG_USE_SYS_INT=y
+CONFIG_USE_EXT_INT=n
+#
+# from sys_msg.hconfig
+#
+CONFIG_USE_SYS_MSG=n
+#
+# from sys_ports.hconfig
+#
+CONFIG_USE_SYS_PORTS=y
+CONFIG_SYS_PORTS_IMPLEMENTATION="STATIC"
+CONFIG_COMPONENT_PACKAGE="TQFP"
+CONFIG_SYS_PORTS_CN=y
+CONFIG_USE_SYS_PORTS_CN_INTERRUPT=y
+CONFIG_SYS_PORTS_CN_INTERRUPT_PRIORITY="INT_PRIORITY_LEVEL2"
+CONFIG_SYS_PORTS_CN_INTERRUPT_SUB_PRIORITY="INT_SUBPRIORITY_LEVEL0"
+CONFIG_SYS_PORT_ADPCFG=0xffff
+CONFIG_SYS_PORT_CNEN=0x200000
+CONFIG_SYS_PORT_CNPU=0x0
+#
+# from $HARMONY_VERSION_PATH/framework/system/ports/config/sys_ports_idx.ftl
+#
+CONFIG_SYS_PORT_A_TRIS=0xc6ff
+CONFIG_SYS_PORT_A_LAT=0x0
+CONFIG_SYS_PORT_A_ODC=0x0
+CONFIG_SYS_PORT_B_TRIS=0xffff
+CONFIG_SYS_PORT_B_LAT=0x0
+CONFIG_SYS_PORT_B_ODC=0x0
+CONFIG_SYS_PORT_C_TRIS=0xf01e
+CONFIG_SYS_PORT_C_LAT=0x0
+CONFIG_SYS_PORT_C_ODC=0x0
+CONFIG_USE_PORT_D=y
+CONFIG_SYS_PORT_D_TRIS=0xbfef
+CONFIG_SYS_PORT_D_LAT=0x0
+CONFIG_SYS_PORT_D_ODC=0x0
+CONFIG_SYS_PORT_E_TRIS=0x3ff
+CONFIG_SYS_PORT_E_LAT=0x0
+CONFIG_SYS_PORT_E_ODC=0x0
+CONFIG_SYS_PORT_F_TRIS=0x313f
+CONFIG_SYS_PORT_F_LAT=0x0
+CONFIG_SYS_PORT_F_ODC=0x0
+CONFIG_SYS_PORT_G_TRIS=0xf3cf
+CONFIG_SYS_PORT_G_LAT=0x0
+CONFIG_SYS_PORT_G_ODC=0x0
+#
+# from sys_random.hconfig
+#
+CONFIG_USE_SYS_RANDOM=n
+#
+# from sys_reset.hconfig
+#
+CONFIG_USE_SYS_RESET=n
+#
+# from sys_rtcc.hconfig
+#
+CONFIG_USE_SYS_RTCC=n
+#
+# from sys_touch.hconfig
+#
+CONFIG_USE_SYS_TOUCH=n
+#
+# from sys_tmr.hconfig
+#
+CONFIG_USE_SYS_TMR=n
+#
+# from sys_wdt.hconfig
+#
+CONFIG_USE_SYS_WDT=n
+#
+# from test.hconfig
+#
+CONFIG_USE_TEST_HARNESS=n
+#
+# from tcpip_stack.hconfig
+#
+CONFIG_USE_TCPIP_STACK=n
+#
+# from usb.hconfig
+#
+CONFIG_USE_USB_STACK=n
+#
+# from bsp.hconfig
+#
+CONFIG_USE_BSP=n
+#
+# from rtos.hconfig
+#
+CONFIG_USE_3RDPARTY_RTOS=n
+#
+# from wolfssl.hconfig
+#
+CONFIG_USE_3RDPARTY_WOLFSSL=n
+#
+# from embtcp.hconfig
+#
+CONFIG_IN_EMB_TCPIP_USE_TCP=n
+#
+# from embdual.hconfig
+#
+CONFIG_IN_EMB_DUAL_USE_TCP=n
+#
+# from stack.hconfig
+#
+CONFIG_IN_TCPIP=n
+#
+# from gfxtp.hconfig
+#
+CONFIG_3RDPARTY_SEGGER_EMWIN_LIBRARY=n
+#
+# from harmony.hconfig
+#
+CONFIG_DEVICE_CONFIGURATION=y
+#
+# from PIC32MX795F512L.hconfig
+#
+CONFIG_USERID=0xffff
+CONFIG_FSRSSEL="PRIORITY_7"
+CONFIG_FMIIEN="ON"
+CONFIG_FETHIO="ON"
+CONFIG_FCANIO="ON"
+CONFIG_FUSBIDIO="ON"
+CONFIG_FVBUSONIO="ON"
+CONFIG_FPLLIDIV="DIV_2"
+CONFIG_FPLLMUL="MUL_20"
+CONFIG_UPLLIDIV="DIV_2"
+CONFIG_UPLLEN="OFF"
+CONFIG_FPLLODIV="DIV_1"
+CONFIG_FNOSC="FRCPLL"
+CONFIG_FSOSCEN="ON"
+CONFIG_IESO="ON"
+CONFIG_POSCMOD="OFF"
+CONFIG_OSCIOFNC="OFF"
+CONFIG_FPBDIV="DIV_1"
+CONFIG_FCKSM="CSECMD"
+CONFIG_WDTPS="PS1048576"
+CONFIG_FWDTEN="OFF"
+CONFIG_DEBUG="ON"
+CONFIG_ICESEL="ICS_PGx2"
+CONFIG_PWP="OFF"
+CONFIG_BWP="OFF"
+CONFIG_CP="OFF"
+#
+# from harmony.hconfig
+#
+CONFIG_PROJECT_STANDALONE=n
+#
+# from project.hconfig
+#
+CONFIG_XC32_HEAP="2048"
+#
+# from isa.hconfig
+#
+CONFIG_ISA_MIPS32_MODE=y
+CONFIG_ISA_MIPS16_MODE=n
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_config.h b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_config.h
new file mode 100644
index 0000000000000000000000000000000000000000..0fa8850e6d320a42d7a8b2f560c78151b88e707b
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_config.h
@@ -0,0 +1,175 @@
+/* clang-format off */
+/*******************************************************************************
+  MPLAB Harmony System Configuration Header
+
+  File Name:
+    system_config.h
+
+  Summary:
+    Build-time configuration header for the system defined by this MPLAB Harmony
+    project.
+
+  Description:
+    An MPLAB Project may have multiple configurations.  This file defines the
+    build-time options for a single configuration.
+
+  Remarks:
+    This configuration header must not define any prototypes or data
+    definitions (or include any files that do).  It only provides macro
+    definitions for build-time configuration options that are not instantiated
+    until used by another MPLAB Harmony module or application.
+
+    Created with MPLAB Harmony Version 1.08.01
+*******************************************************************************/
+
+// DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2013-2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+*******************************************************************************/
+// DOM-IGNORE-END
+
+#ifndef _SYSTEM_CONFIG_H
+#define _SYSTEM_CONFIG_H
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+/*  This section Includes other configuration headers necessary to completely
+    define this configuration.
+*/
+
+// DOM-IGNORE-BEGIN
+#ifdef __cplusplus  // Provide C++ Compatibility
+
+extern "C" {
+
+#endif
+// DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: System Service Configuration
+// *****************************************************************************
+// *****************************************************************************
+// *****************************************************************************
+/* Common System Service Configuration Options
+*/
+#define SYS_VERSION_STR           "1.08.01"
+#define SYS_VERSION               10801
+
+// *****************************************************************************
+/* Clock System Service Configuration Options
+*/
+#define SYS_CLK_FREQ                        80000000ul
+#define SYS_CLK_BUS_PERIPHERAL_1            80000000ul
+#define SYS_CLK_UPLL_BEFORE_DIV2_FREQ       48000000ul
+#define SYS_CLK_CONFIG_PRIMARY_XTAL         8000000ul
+#define SYS_CLK_CONFIG_SECONDARY_XTAL       0ul
+   
+/*** Interrupt System Service Configuration ***/
+#define SYS_INT                     true
+
+/*** Ports System Service Configuration ***/
+#define SYS_PORT_AD1PCFG        ~0xffff
+#define SYS_PORT_CNPUE          0x0
+#define SYS_PORT_CNEN           0x200000
+
+#define SYS_PORT_D_TRIS         0xbfef
+#define SYS_PORT_D_LAT          0x0
+#define SYS_PORT_D_ODC          0x0
+#define SYS_CONSOLE_DEVICE_MAX_INSTANCES        1
+#define SYS_CONSOLE_INSTANCES_NUMBER            1
+
+
+/*** Debug System Service Configuration ***/
+#define SYS_DEBUG_ENABLE
+#define DEBUG_PRINT_BUFFER_SIZE       8192
+#define SYS_DEBUG_BUFFER_DMA_READY
+#define SYS_DEBUG_USE_CONSOLE
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Driver Configuration
+// *****************************************************************************
+// *****************************************************************************
+// *****************************************************************************
+/* USART Driver Configuration Options
+*/
+#define DRV_USART_INSTANCES_NUMBER                  1
+#define DRV_USART_CLIENTS_NUMBER                    1
+#define DRV_USART_INTERRUPT_MODE                    true
+#define DRV_USART_BYTE_MODEL_SUPPORT                true
+#define DRV_USART_READ_WRITE_MODEL_SUPPORT          false
+#define DRV_USART_BUFFER_QUEUE_SUPPORT              false
+#define DRV_USART_SUPPORT_TRANSMIT_DMA              false
+#define DRV_USART_SUPPORT_RECEIVE_DMA               false
+
+/*** SPI Driver Configuration ***/
+#define DRV_SPI_NUMBER_OF_MODULES		4
+/*** Driver Compilation and static configuration options. ***/
+/*** Select SPI compilation units.***/
+#define DRV_SPI_POLLED 				1
+#define DRV_SPI_ISR 				0
+#define DRV_SPI_MASTER 				1
+#define DRV_SPI_SLAVE 				0
+#define DRV_SPI_RM 					1
+#define DRV_SPI_EBM 				0
+#define DRV_SPI_8BIT 				1
+#define DRV_SPI_16BIT 				0
+#define DRV_SPI_32BIT 				0
+#define DRV_SPI_DMA 				0
+
+/*** SPI Driver Static Allocation Options ***/
+#define DRV_SPI_INSTANCES_NUMBER 		1
+#define DRV_SPI_CLIENTS_NUMBER 			1
+#define DRV_SPI_ELEMENTS_PER_QUEUE 		10
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Middleware & Other Library Configuration
+// *****************************************************************************
+// *****************************************************************************
+
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Application Configuration
+// *****************************************************************************
+// *****************************************************************************
+
+/*** Application Instance 0 Configuration ***/
+
+//DOM-IGNORE-BEGIN
+#ifdef __cplusplus
+}
+#endif
+//DOM-IGNORE-END
+
+
+#endif // _SYSTEM_CONFIG_H
+/*******************************************************************************
+ End of File
+*/
+
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_definitions.h b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_definitions.h
new file mode 100644
index 0000000000000000000000000000000000000000..b6df49ed0822932c65ff8b9775713c4060712f80
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_definitions.h
@@ -0,0 +1,134 @@
+/* clang-format off */
+/*******************************************************************************
+  System Definitions
+
+  File Name:
+    system_definitions.h
+
+  Summary:
+    MPLAB Harmony project system definitions.
+
+  Description:
+    This file contains the system-wide prototypes and definitions for an MPLAB
+    Harmony project.
+ *******************************************************************************/
+
+//DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2013-2014 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+ *******************************************************************************/
+//DOM-IGNORE-END
+
+#ifndef _SYS_DEFINITIONS_H
+#define _SYS_DEFINITIONS_H
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+#include "system/common/sys_common.h"
+#include "system/common/sys_module.h"
+#include "system/clk/sys_clk.h"
+#include "system/clk/sys_clk_static.h"
+#include "system/devcon/sys_devcon.h"
+#include "system/int/sys_int.h"
+#include "system/console/sys_console.h"
+#include "driver/usart/drv_usart_static.h"
+#include "system/ports/sys_ports.h"
+#include "driver/spi/static/drv_spi_static.h"
+#include "system/debug/sys_debug.h"
+
+
+
+#include "driver/rtcc/drv_rtcc_static.h"
+#include "peripheral/devcon/plib_devcon.h"
+#include "app.h"
+
+
+// DOM-IGNORE-BEGIN
+#ifdef __cplusplus  // Provide C++ Compatibility
+
+extern "C" {
+
+#endif
+// DOM-IGNORE-END 
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Type Definitions
+// *****************************************************************************
+// *****************************************************************************
+
+// *****************************************************************************
+/* System Objects
+
+  Summary:
+    Structure holding the system's object handles
+
+  Description:
+    This structure contains the object handles for all objects in the
+    MPLAB Harmony project's system configuration.
+
+  Remarks:
+    These handles are returned from the "Initialize" functions for each module
+    and must be passed into the "Tasks" function for each module.
+*/
+
+typedef struct
+{
+    SYS_MODULE_OBJ  sysDevcon;
+    SYS_MODULE_OBJ  drvUsart0;
+    SYS_MODULE_OBJ  sysDebug;
+    SYS_MODULE_OBJ  sysConsole0;
+
+    /*** SPI Object for Index 0 ***/
+    SYS_MODULE_OBJ				spiObjectIdx0;
+
+} SYSTEM_OBJECTS;
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: extern declarations
+// *****************************************************************************
+// *****************************************************************************
+
+extern SYSTEM_OBJECTS sysObj;
+
+
+//DOM-IGNORE-BEGIN
+#ifdef __cplusplus
+}
+#endif
+//DOM-IGNORE-END
+
+#endif /* _SYS_DEFINITIONS_H */
+/*******************************************************************************
+ End of File
+*/
+
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_exceptions.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_exceptions.c
new file mode 100644
index 0000000000000000000000000000000000000000..cc389b7c7621493ed776d7f192cf07e992fe9adf
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_exceptions.c
@@ -0,0 +1,144 @@
+/* clang-format off */
+/*******************************************************************************
+  MPLAB Harmony Exceptions Source File
+
+  File Name:
+    system_exceptions.c
+
+  Summary:
+    This file contains a function which overrides the deafult _weak_ exception 
+    handler provided by the XC32 compiler.
+
+  Description:
+    This file redefines the default _weak_  exception handler with a more debug
+    friendly one. If an unexpected exception occurs the code will stop in a
+    while(1) loop.  The debugger can be halted and two variables _excep_code and
+    _except_addr can be examined to determine the cause and address where the
+    exception occured.
+ *******************************************************************************/
+
+// DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2013-2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+ *******************************************************************************/
+// DOM-IGNORE-END
+
+
+#include <xc.h>                 /* Defines special funciton registers, CP0 regs  */
+#include "system_config.h"
+#include "system_definitions.h"
+#include "system/debug/sys_debug.h"
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Global Data Definitions
+// *****************************************************************************
+// *****************************************************************************
+
+/*******************************************************************************
+  Exception Reason Data
+  
+  <editor-fold defaultstate="expanded" desc="Exception Reason Data">
+  
+  Remarks:
+    These global static items are used instead of local variables in the 
+    _general_exception_handler function because the stack may not be available
+    if an exception has occured.
+*/
+
+/* Code identifying the cause of the exception (CP0 Cause register). */
+static unsigned int _excep_code;
+
+/* Address of instruction that caused the exception. */
+static unsigned int _excep_addr;
+
+/* Pointer to the string describing the cause of the exception. */
+static char *_cause_str;
+
+/* Array identifying the cause (indexed by _exception_code). */
+static char *cause[] = 
+{
+    "Interrupt",
+    "Undefined",
+    "Undefined",
+    "Undefined",
+    "Load/fetch address error",
+    "Store address error",
+    "Instruction bus error",
+    "Data bus error",
+    "Syscall",
+    "Breakpoint",
+    "Reserved instruction",
+    "Coprocessor unusable",
+    "Arithmetic overflow",
+    "Trap",
+    "Reserved",
+    "Reserved",
+    "Reserved",
+    "Reserved",
+    "Reserved"
+};
+
+// </editor-fold>
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Exception Handling
+// *****************************************************************************
+// *****************************************************************************
+
+/*******************************************************************************
+  Function:
+    void _general_exception_handler ( void )
+
+  Summary:
+    Overrides the XC32 _weak_ _generic_exception_handler.
+    
+  Description:
+    This function overrides the XC32 default _weak_ _generic_exception_handler.
+
+  Remarks:
+    Refer to the XC32 User's Guide for additional information.
+ */
+
+void _general_exception_handler ( void )
+{
+    /* Mask off Mask of the ExcCode Field from the Cause Register
+    Refer to the MIPs Software User's manual */
+    _excep_code = (_CP0_GET_CAUSE() & 0x0000007C) >> 2;
+    _excep_addr = _CP0_GET_EPC();
+    _cause_str  = cause[_excep_code];
+
+    SYS_DEBUG_PRINT(SYS_ERROR_ERROR, "\nGeneral Exception %s (cause=%d, addr=%x).\n", 
+                    _cause_str, _excep_code, _excep_addr);
+
+    while (1)
+    {
+        SYS_DEBUG_BreakPoint();
+    }
+}
+
+/*******************************************************************************
+ End of File
+*/
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_init.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_init.c
new file mode 100644
index 0000000000000000000000000000000000000000..386facee70f4ad54f4f8226fb2f8d85852b6de34
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_init.c
@@ -0,0 +1,220 @@
+/* clang-format off */
+/*******************************************************************************
+  System Initialization File
+
+  File Name:
+    system_init.c
+
+  Summary:
+    This file contains source code necessary to initialize the system.
+
+  Description:
+    This file contains source code necessary to initialize the system.  It
+    implements the "SYS_Initialize" function, defines the configuration bits, 
+    and allocates any necessary global system resources, such as the 
+    sysObj structure that contains the object handles to all the MPLAB Harmony 
+    module objects in the system.
+ *******************************************************************************/
+
+// DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2013-2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+ *******************************************************************************/
+// DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+
+#include "system_config.h"
+#include "system_definitions.h"
+
+
+// ****************************************************************************
+// ****************************************************************************
+// Section: Configuration Bits
+// ****************************************************************************
+// ****************************************************************************
+// <editor-fold defaultstate="collapsed" desc="Configuration Bits">
+
+/*** DEVCFG0 ***/
+
+#pragma config DEBUG =      ON
+#pragma config ICESEL =     ICS_PGx2
+#pragma config PWP =        OFF
+#pragma config BWP =        OFF
+#pragma config CP =         OFF
+
+/*** DEVCFG1 ***/
+
+#pragma config FNOSC =      FRCPLL
+#pragma config FSOSCEN =    ON
+#pragma config IESO =       ON
+#pragma config POSCMOD =    OFF
+#pragma config OSCIOFNC =   OFF
+#pragma config FPBDIV =     DIV_1
+#pragma config FCKSM =      CSECMD
+#pragma config WDTPS =      PS1048576
+#pragma config FWDTEN =     OFF
+/*** DEVCFG2 ***/
+
+#pragma config FPLLIDIV =   DIV_2
+#pragma config FPLLMUL =    MUL_20
+#pragma config FPLLODIV =   DIV_1
+#pragma config UPLLIDIV =   DIV_2
+#pragma config UPLLEN =     OFF
+/*** DEVCFG3 ***/
+
+#pragma config USERID =     0xffff
+#pragma config FSRSSEL =    PRIORITY_7
+#pragma config FMIIEN =     ON
+#pragma config FETHIO =     ON
+#pragma config FCANIO =     ON
+#pragma config FUSBIDIO =   ON
+#pragma config FVBUSONIO =  ON
+// </editor-fold>
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Driver Initialization Data
+// *****************************************************************************
+// *****************************************************************************
+// <editor-fold defaultstate="collapsed" desc="DRV_SPI Initialization Data"> 
+ /*** SPI Driver Initialization Data ***/
+// </editor-fold>
+// <editor-fold defaultstate="collapsed" desc="DRV_USART Initialization Data">
+// </editor-fold>
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: System Data
+// *****************************************************************************
+// *****************************************************************************
+
+/* Structure to hold the object handles for the modules in the system. */
+SYSTEM_OBJECTS sysObj;
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Module Initialization Data
+// *****************************************************************************
+// *****************************************************************************
+// <editor-fold defaultstate="collapsed" desc="SYS_CONSOLE Initialization Data">
+// </editor-fold>
+// <editor-fold defaultstate="collapsed" desc="SYS_DEBUG Initialization Data">
+/*** System Debug Initialization Data ***/
+
+SYS_DEBUG_INIT debugInit =
+{
+    .moduleInit = {0},
+    .errorLevel = SYS_ERROR_FATAL
+};
+// </editor-fold>
+//<editor-fold defaultstate="collapsed" desc="SYS_DEVCON Initialization Data">
+/*******************************************************************************
+  Device Control System Service Initialization Data
+*/
+
+const SYS_DEVCON_INIT sysDevconInit =
+{
+    .moduleInit = {0},
+};
+
+// </editor-fold>
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Library/Stack Initialization Data
+// *****************************************************************************
+// *****************************************************************************
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Static Initialization Functions
+// *****************************************************************************
+// *****************************************************************************
+
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: System Initialization
+// *****************************************************************************
+// *****************************************************************************
+
+/*******************************************************************************
+  Function:
+    void SYS_Initialize ( void *data )
+
+  Summary:
+    Initializes the board, services, drivers, application and other modules.
+
+  Remarks:
+    See prototype in system/common/sys_module.h.
+ */
+
+void SYS_Initialize ( void* data )
+{
+    /* Core Processor Initialization */
+    SYS_CLK_Initialize( NULL );
+    sysObj.sysDevcon = SYS_DEVCON_Initialize(SYS_DEVCON_INDEX_0, (SYS_MODULE_INIT*)&sysDevconInit);
+    SYS_DEVCON_PerformanceConfig(SYS_CLK_SystemFrequencyGet());
+    SYS_DEVCON_JTAGDisable();
+    SYS_PORTS_Initialize();
+
+    /* Initialize Drivers */
+
+    /*** SPI Driver Index 0 initialization***/
+
+    sysObj.spiObjectIdx0 = DRV_SPI_Initialize(DRV_SPI_INDEX_0, (const SYS_MODULE_INIT  * const)NULL);
+    /* RTCC Initialization Call */
+    DRV_RTCC_Initialize();
+
+    sysObj.drvUsart0 = DRV_USART_Initialize(DRV_USART_INDEX_0, (SYS_MODULE_INIT *)NULL);
+    SYS_INT_VectorPrioritySet(INT_VECTOR_UART2, INT_PRIORITY_LEVEL3);
+    SYS_INT_VectorSubprioritySet(INT_VECTOR_UART2, INT_SUBPRIORITY_LEVEL0);
+
+    /* Initialize System Services */
+    sysObj.sysConsole0 = SYS_CONSOLE_Initialize(SYS_CONSOLE_INDEX_0, NULL);
+
+
+    /*** Debug Service Initialization Code ***/
+    sysObj.sysDebug = SYS_DEBUG_Initialize(SYS_DEBUG_INDEX_0, (SYS_MODULE_INIT*)&debugInit);
+
+    /*** Interrupt Service Initialization Code ***/
+    SYS_INT_Initialize();
+  
+    /* Initialize Middleware */
+
+    /* Enable Global Interrupts */
+    SYS_INT_Enable();
+
+    /* Initialize the Application */
+    APP_Initialize();
+}
+
+
+/*******************************************************************************
+ End of File
+*/
+
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_interrupt.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_interrupt.c
new file mode 100644
index 0000000000000000000000000000000000000000..15fca295018859352d46cc6d3a2f28a557835c64
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_interrupt.c
@@ -0,0 +1,113 @@
+/* clang-format off */
+/*******************************************************************************
+ System Interrupts File
+
+  File Name:
+    system_interrupt.c
+
+  Summary:
+    Raw ISR definitions.
+
+  Description:
+    This file contains a definitions of the raw ISRs required to support the
+    interrupt sub-system.
+
+  Summary:
+    This file contains source code for the interrupt vector functions in the
+    system.
+
+  Description:
+    This file contains source code for the interrupt vector functions in the
+    system.  It implements the system and part specific vector "stub" functions
+    from which the individual "Tasks" functions are called for any modules
+    executing interrupt-driven in the MPLAB Harmony system.
+
+  Remarks:
+    This file requires access to the systemObjects global data structure that
+    contains the object handles to all MPLAB Harmony module objects executing
+    interrupt-driven in the system.  These handles are passed into the individual
+    module "Tasks" functions to identify the instance of the module to maintain.
+ *******************************************************************************/
+
+// DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2011-2014 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+ *******************************************************************************/
+// DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+
+#include <xc.h>
+#include <sys/attribs.h>
+#include "app.h"
+#include "system_definitions.h"
+#include "simplelink.h"
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: System Interrupt Vector Functions
+// *****************************************************************************
+// *****************************************************************************
+extern P_EVENT_HANDLER g_cc3100_IRQ_handler;
+
+void __ISR(_CHANGE_NOTICE_VECTOR, ipl2AUTO) _IntHandlerChangeNotification(void)
+{    
+    if (SYS_PORTS_PinRead(PORTS_ID_0, PORT_CHANNEL_D, PORTS_BIT_POS_15) == 0x01) {
+        if (g_cc3100_IRQ_handler != NULL) {
+            g_cc3100_IRQ_handler(0);
+        }
+    }
+    DRV_SPI_Tasks(sysObj.spiObjectIdx0);
+
+    PLIB_INT_SourceFlagClear(INT_ID_0,INT_SOURCE_CHANGE_NOTICE);
+}
+
+void __ISR(_UART_2_VECTOR, ipl3AUTO) _IntHandlerDrvUsartInstance0(void)
+{
+    DRV_USART_TasksTransmit(sysObj.drvUsart0);
+    DRV_USART_TasksReceive(sysObj.drvUsart0);
+    DRV_USART_TasksError(sysObj.drvUsart0);
+}
+ 
+ 
+ 
+
+ 
+
+ 
+
+ 
+
+ 
+
+ 
+ 
+ 
+ 
+/*******************************************************************************
+ End of File
+*/
+
diff --git a/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_tasks.c b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_tasks.c
new file mode 100644
index 0000000000000000000000000000000000000000..415854c3ec9cfe3ea0d200e1bf6dd7c148b52142
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/system_config/mx795_CC3100_e16/system_tasks.c
@@ -0,0 +1,91 @@
+/* clang-format off */
+/*******************************************************************************
+ System Tasks File
+
+  File Name:
+    system_tasks.c
+
+  Summary:
+    This file contains source code necessary to maintain system's polled state
+    machines.
+
+  Description:
+    This file contains source code necessary to maintain system's polled state
+    machines.  It implements the "SYS_Tasks" function that calls the individual
+    "Tasks" functions for all polled MPLAB Harmony modules in the system.
+
+  Remarks:
+    This file requires access to the systemObjects global data structure that
+    contains the object handles to all MPLAB Harmony module objects executing
+    polled in the system.  These handles are passed into the individual module
+    "Tasks" functions to identify the instance of the module to maintain.
+ *******************************************************************************/
+
+// DOM-IGNORE-BEGIN
+/*******************************************************************************
+Copyright (c) 2013-2015 released Microchip Technology Inc.  All rights reserved.
+
+Microchip licenses to you the right to use, modify, copy and distribute
+Software only when embedded on a Microchip microcontroller or digital signal
+controller that is integrated into your product or third party product
+(pursuant to the sublicense terms in the accompanying license agreement).
+
+You should refer to the license agreement accompanying this Software for
+additional information regarding your rights and obligations.
+
+SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
+CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
+OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
+INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
+CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
+SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
+(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
+ *******************************************************************************/
+// DOM-IGNORE-END
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: Included Files
+// *****************************************************************************
+// *****************************************************************************
+
+#include "system_config.h"
+#include "system_definitions.h"
+
+// *****************************************************************************
+// *****************************************************************************
+// Section: System "Tasks" Routine
+// *****************************************************************************
+// *****************************************************************************
+
+/*******************************************************************************
+  Function:
+    void SYS_Tasks ( void )
+
+  Remarks:
+    See prototype in system/common/sys_module.h.
+*/
+
+void SYS_Tasks ( void )
+{
+    /* Maintain system services */
+    SYS_CONSOLE_Tasks(sysObj.sysConsole0);
+    SYS_DEVCON_Tasks(sysObj.sysDevcon);
+
+    /* Maintain Device Drivers */
+    DRV_SPI_Tasks(sysObj.spiObjectIdx0);
+
+    /* Maintain Middleware & Other Libraries */
+    
+    /* Maintain the application's state machine. */
+    APP_Tasks();
+}
+
+
+/*******************************************************************************
+ End of File
+ */
+
diff --git a/examples/PIC32/mqtt_client/firmware/src/user.h b/examples/PIC32/mqtt_client/firmware/src/user.h
new file mode 100644
index 0000000000000000000000000000000000000000..f4550274c48b9f696023ff5d47a7f16a7bab35b2
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/user.h
@@ -0,0 +1,1109 @@
+/*
+ * user.h - CC31xx/CC32xx Host Driver Implementation
+ *
+ * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions
+ *  are met:
+ *
+ *    Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *    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.
+ *
+ *    Neither the name of Texas Instruments Incorporated 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
+ *  OWNER 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.
+ *
+ *
+ *  Adapted for PIC32 by 2016 Cesanta Software Limited
+ */
+
+#ifndef __USER_H__
+#define __USER_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*!
+ ******************************************************************************
+
+    \defgroup       porting_user_include        Porting - User Include Files
+
+    This section IS NOT REQUIRED in case user provided primitives are handled
+    in makefiles or project configurations (IDE)
+
+    PORTING ACTION:
+        - Include all required header files for the definition of:
+            -# Transport layer library API (e.g. SPI, UART)
+            -# OS primitives definitions (e.g. Task spawn, Semaphores)
+            -# Memory management primitives (e.g. alloc, free)
+
+ ******************************************************************************
+ */
+#undef FD_SETSIZE
+#undef FD_SET
+#undef FD_CLR
+#undef FD_ISSET
+#undef FD_ZERO
+#undef htonl
+#undef ntohl
+#undef htons
+#undef ntohs
+#undef EBADF
+#undef ENOMEM
+#undef EINVAL
+#include <string.h>
+
+typedef int Fd_t;
+
+typedef void (*P_EVENT_HANDLER)(void *pValue);
+
+typedef P_EVENT_HANDLER SL_P_EVENT_HANDLER;
+
+/*!
+    \def        MAX_CONCURRENT_ACTIONS
+
+    \brief      Defines the maximum number of concurrent action in the system
+                Min:1 , Max: 32
+
+                Actions which has async events as return, can be
+
+    \sa
+
+    \note       In case there are not enough resources for the actions needed
+                in the system, error is received: POOL_IS_EMPTY one option is
+                to increase MAX_CONCURRENT_ACTIONS (improves performance but
+                results in memory consumption) Other option is to call the API
+                later (decrease performance)
+
+    \warning    In case of setting to one, recommend to use non-blocking
+                recv\recvfrom to allow multiple socket recv
+*/
+#define MAX_CONCURRENT_ACTIONS 10
+
+/*!
+ ******************************************************************************
+
+    \defgroup       proting_capabilities        Porting - Capabilities Set
+
+    This section IS NOT REQUIRED in case one of the following pre defined
+    capabilities set is in use:
+    - SL_TINY
+    - SL_SMALL
+    - SL_FULL
+
+    PORTING ACTION:
+        - Define one of the pre-defined capabilities set or uncomment the
+          relevant definitions below to select the required capabilities
+
+    @{
+
+ *******************************************************************************
+*/
+
+/*!
+    \def        SL_INC_ARG_CHECK
+
+    \brief      Defines whether the SimpleLink driver perform argument check
+                or not
+
+                When defined, the SimpleLink driver perform argument check on
+                function call. Removing this define could reduce some code
+                size and improve slightly the performances but may impact in
+                unpredictable behavior in case of invalid arguments
+
+    \sa
+
+    \note       belongs to \ref proting_sec
+
+    \warning    Removing argument check may cause unpredictable behavior in
+                case of invalid arguments.
+                In this case the user is responsible to argument validity
+                (for example all handlers must not be NULL)
+*/
+#define SL_INC_ARG_CHECK
+
+/*!
+    \def        SL_INC_STD_BSD_API_NAMING
+
+    \brief      Defines whether SimpleLink driver should expose standard BSD
+                APIs or not
+
+                When defined, the SimpleLink driver in addtion to its
+   alternative
+                BSD APIs expose also standard BSD APIs.
+    Stadrad BSD API includs the following functions:
+                socket , close , accept , bind , listen , connect , select ,
+                setsockopt  , getsockopt , recv , recvfrom , write , send ,
+   sendto ,
+                gethostbyname
+
+    \sa
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+
+#define SL_INC_STD_BSD_API_NAMING
+
+/*!
+    \brief      Defines whether to include extended API in SimpleLink driver
+                or not
+
+                When defined, the SimpleLink driver will include also all
+                exteded API of the included packages
+
+    \sa             ext_api
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define SL_INC_EXT_API
+
+/*!
+    \brief      Defines whether to include WLAN package in SimpleLink driver
+                or not
+
+                When defined, the SimpleLink driver will include also
+                the WLAN package
+
+    \sa
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define SL_INC_WLAN_PKG
+
+/*!
+    \brief      Defines whether to include SOCKET package in SimpleLink
+                driver or not
+
+                When defined, the SimpleLink driver will include also
+                the SOCKET package
+
+    \sa
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define SL_INC_SOCKET_PKG
+
+/*!
+    \brief      Defines whether to include NET_APP package in SimpleLink
+                driver or not
+
+                When defined, the SimpleLink driver will include also the
+                NET_APP package
+
+    \sa
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define SL_INC_NET_APP_PKG
+
+/*!
+    \brief      Defines whether to include NET_CFG package in SimpleLink
+                driver or not
+
+                When defined, the SimpleLink driver will include also
+                the NET_CFG package
+
+    \sa
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define SL_INC_NET_CFG_PKG
+
+/*!
+    \brief      Defines whether to include NVMEM package in SimpleLink
+                driver or not
+
+                When defined, the SimpleLink driver will include also the
+                NVMEM package
+
+    \sa
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define SL_INC_NVMEM_PKG
+
+/*!
+    \brief      Defines whether to include socket server side APIs
+                in SimpleLink driver or not
+
+                When defined, the SimpleLink driver will include also socket
+                server side APIs
+
+    \sa             server_side
+
+    \note
+
+    \warning
+*/
+#define SL_INC_SOCK_SERVER_SIDE_API
+
+/*!
+    \brief      Defines whether to include socket client side APIs in SimpleLink
+                driver or not
+
+                When defined, the SimpleLink driver will include also socket
+                client side APIs
+
+    \sa             client_side
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define SL_INC_SOCK_CLIENT_SIDE_API
+
+/*!
+    \brief      Defines whether to include socket receive APIs in SimpleLink
+                driver or not
+
+                When defined, the SimpleLink driver will include also socket
+                receive side APIs
+
+    \sa             recv_api
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define SL_INC_SOCK_RECV_API
+
+/*!
+    \brief      Defines whether to include socket send APIs in SimpleLink
+                driver or not
+
+                When defined, the SimpleLink driver will include also socket
+                send side APIs
+
+    \sa             send_api
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define SL_INC_SOCK_SEND_API
+
+/*!
+
+ Close the Doxygen group.
+ @}
+
+ */
+
+/*!
+ ******************************************************************************
+
+    \defgroup   porting_enable_device       Porting - Device Enable/Disable
+
+    The enable/disable line (nHib) provide mechanism to enter the device into
+    the least current consumption mode. This mode could be used when no traffic
+    is required (tx/rx).
+    when this hardware line is not connected to any IO of the host this define
+    should be left empty.
+
+
+    \note   Not connecting this line results in ability to start the driver
+            only once.
+
+    PORTING ACTION:
+        - Bind the GPIO that is connected to the device to the SimpleLink
+          driver
+
+    @{
+
+ ******************************************************************************
+*/
+/*!
+    \brief		Preamble to the enabling the Network Processor.
+                        Placeholder to implement any pre-process operations
+                        before enabling networking operations.
+
+    \sa			sl_DeviceEnable
+
+    \note       belongs to \ref ported_sec
+
+*/
+#define sl_DeviceEnablePreamble()
+
+/*!
+    \brief      Enable the device by set the appropriate GPIO to high
+
+    \sa         sl_DeviceDisable
+
+    \note           belongs to \ref proting_sec
+
+    \warning    if nHib/nShutdown pins are not connected to the host this define
+                should be left empty. Not connecting on of these lines may
+   result
+                in higher power consumption and inability to start and stop the
+                driver correctly.
+*/
+#define sl_DeviceEnable CC3100_enable
+
+/*!
+    \brief      Disable the device by setting the appropriate GPIO to Low
+
+    \sa         sl_DeviceEnable
+
+    \note           belongs to \ref proting_sec
+
+    \warning    if nHib/nShutdown pins are not connected to the host this define
+                should be left empty. Not connecting on of these lines may
+   result
+                in higher power consumption and inability to start and stop the
+                driver correctly.
+*/
+
+#define sl_DeviceDisable CC3100_disable
+
+/*!
+
+ Close the Doxygen group.
+ @}
+
+ */
+
+/*!
+ ******************************************************************************
+
+    \defgroup   porting_interface         Porting - Communication Interface
+
+    The simple link device can work with different communication
+    channels (e.g. spi/uart). Texas Instruments provides single driver
+    that can work with all these types. This section bind between the
+    physical communication interface channel and the SimpleLink driver
+
+
+    \note       Correct and efficient implementation of this driver is critical
+                for the performances of the SimpleLink device on this platform.
+
+
+    PORTING ACTION:
+        - Bind the functions of the communication channel interface driver with
+          the simple link driver
+
+    @{
+
+ ******************************************************************************
+*/
+
+#define _SlFd_t int
+
+/*!
+    \brief      Opens an interface communication port to be used for
+   communicating
+                with a SimpleLink device
+
+                Given an interface name and option flags, this function opens
+                the communication port and creates a file descriptor.
+                This file descriptor is used afterwards to read and write
+                data from and to this specific communication channel.
+                The speed, clock polarity, clock phase, chip select and all
+   other
+                specific attributes of the channel are all should be set to
+   hardcoded
+                in this function.
+
+    \param      ifName  -   points to the interface name/path. The interface
+   name is an
+                            optional attributes that the simple link driver
+   receives
+                            on opening the driver (sl_Start).
+                            In systems that the spi channel is not implemented
+   as
+                            part of the os device drivers, this parameter could
+   be NULL.
+
+    \param      flags   -   optional flags parameters for future use
+
+    \return     upon successful completion, the function shall open the channel
+                and return a non-negative integer representing the file
+   descriptor.
+                Otherwise, -1 shall be returned
+
+    \sa         sl_IfClose , sl_IfRead , sl_IfWrite
+
+    \note       The prototype of the function is as follow:
+                    Fd_t xxx_IfOpen(char* pIfName , unsigned long flags);
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define sl_IfOpen spi_Open
+
+/*!
+    \brief      Closes an opened interface communication port
+
+    \param      fd  -   file descriptor of opened communication channel
+
+    \return     upon successful completion, the function shall return 0.
+                Otherwise, -1 shall be returned
+
+    \sa         sl_IfOpen , sl_IfRead , sl_IfWrite
+
+    \note       The prototype of the function is as follow:
+                    int xxx_IfClose(Fd_t Fd);
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define sl_IfClose spi_Close
+
+/*!
+    \brief      Attempts to read up to len bytes from an opened communication
+   channel
+                into a buffer starting at pBuff.
+
+    \param      fd      -   file descriptor of an opened communication channel
+
+    \param      pBuff   -   pointer to the first location of a buffer that
+   contains enough
+                            space for all expected data
+
+    \param      len     -   number of bytes to read from the communication
+   channel
+
+    \return     upon successful completion, the function shall return the number
+   of read bytes.
+                Otherwise, 0 shall be returned
+
+    \sa         sl_IfClose , sl_IfOpen , sl_IfWrite
+
+
+    \note       The prototype of the function is as follow:
+                    int xxx_IfRead(Fd_t Fd , char* pBuff , int Len);
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define sl_IfRead spi_Read
+
+/*!
+    \brief attempts to write up to len bytes to the SPI channel
+
+    \param      fd      -   file descriptor of an opened communication channel
+
+    \param      pBuff   -   pointer to the first location of a buffer that
+   contains
+                            the data to send over the communication channel
+
+    \param      len     -   number of bytes to write to the communication
+   channel
+
+    \return     upon successful completion, the function shall return the number
+   of sent bytes.
+                therwise, 0 shall be returned
+
+    \sa         sl_IfClose , sl_IfOpen , sl_IfRead
+
+    \note       This function could be implemented as zero copy and return only
+   upon successful completion
+                of writing the whole buffer, but in cases that memory allocation
+   is not too tight, the
+                function could copy the data to internal buffer, return back and
+   complete the write in
+                parallel to other activities as long as the other SPI activities
+   would be blocked until
+                the entire buffer write would be completed
+
+               The prototype of the function is as follow:
+                    int xxx_IfWrite(Fd_t Fd , char* pBuff , int Len);
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define sl_IfWrite spi_Write
+
+/*!
+    \brief      register an interrupt handler routine for the host IRQ
+
+    \param      InterruptHdl    -   pointer to interrupt handler routine
+
+    \param      pValue          -   pointer to a memory structure that is passed
+                                    to the interrupt handler.
+
+    \return     upon successful registration, the function shall return 0.
+                Otherwise, -1 shall be returned
+
+    \sa
+
+    \note       If there is already registered interrupt handler, the function
+                should overwrite the old handler with the new one
+
+    \note       If the handler is a null pointer, the function should
+   un-register the
+                interrupt handler, and the interrupts can be disabled.
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+#define sl_IfRegIntHdlr(InterruptHdl, pValue) \
+  registerInterruptHandler(InterruptHdl, pValue)
+/*!
+    \brief      Masks the Host IRQ
+
+    \sa         sl_IfUnMaskIntHdlr
+
+
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+
+#define sl_IfMaskIntHdlr()
+
+/*!
+    \brief     Unmasks the Host IRQ
+
+    \sa        sl_IfMaskIntHdlr
+
+
+
+    \note      belongs to \ref proting_sec
+
+    \warning
+*/
+
+#define sl_IfUnMaskIntHdlr()
+
+/*!
+    \brief      Write Handers for statistics debug on write
+
+    \param      interface handler   -   pointer to interrupt handler routine
+
+
+    \return     no return value
+
+    \sa
+
+    \note       An optional hooks for monitoring before and after write info
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+/*
+#define SL_START_WRITE_STAT
+*/
+
+#ifdef SL_START_WRITE_STAT
+#define sl_IfStartWriteSequence SlStudio_SpiStartWriteSeq
+#define sl_IfEndWriteSequence SlStudio_SpiEndWriteSeq
+#endif
+/*!
+
+ Close the Doxygen group.
+ @}
+
+*/
+
+/*!
+ ******************************************************************************
+
+    \defgroup   porting_mem_mgm             Porting - Memory Management
+
+    This section declare in which memory management model the SimpleLink driver
+    will run:
+        -# Static
+        -# Dynamic
+
+    This section IS NOT REQUIRED in case Static model is selected.
+
+    The default memory model is Static
+
+    PORTING ACTION:
+        - If dynamic model is selected, define the alloc and free functions.
+
+    @{
+
+ *****************************************************************************
+*/
+
+/*!
+    \brief      Defines whether the SimpleLink driver is working in dynamic
+                memory model or not
+
+                When defined, the SimpleLink driver use dynamic allocations
+                if dynamic allocation is selected malloc and free functions
+                must be retrieved
+
+    \sa
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+
+/*
+#define SL_MEMORY_MGMT_DYNAMIC
+*/
+
+#ifdef SL_MEMORY_MGMT_DYNAMIC
+
+/*!
+    \brief
+
+    \sa
+
+    \note           belongs to \ref proting_sec
+
+    \warning
+*/
+#define sl_Malloc(Size) malloc(Size)
+
+/*!
+    \brief
+
+    \sa
+
+    \note           belongs to \ref proting_sec
+
+    \warning
+*/
+#define sl_Free(pMem) free(pMem)
+
+#endif
+
+/*!
+
+ Close the Doxygen group.
+ @}
+
+*/
+
+/*!
+ ******************************************************************************
+
+    \defgroup   porting_os          Porting - Operating System
+
+    The simple link driver can run on multi-threaded environment as well
+    as non-os environment (mail loop)
+
+    This section IS NOT REQUIRED in case you are working on non-os environment.
+
+    If you choose to work in multi-threaded environment under any operating
+ system
+    you will have to provide some basic adaptation routines to allow the driver
+    to protect access to resources from different threads (locking object) and
+    to allow synchronization between threads (sync objects).
+
+    PORTING ACTION:
+        -# Uncomment SL_PLATFORM_MULTI_THREADED define
+        -# Bind locking object routines
+        -# Bind synchronization object routines
+        -# Optional - Bind spawn thread routine
+
+    @{
+
+ ******************************************************************************
+*/
+
+/*
+#define SL_PLATFORM_MULTI_THREADED
+*/
+
+#ifdef SL_PLATFORM_MULTI_THREADED
+
+/*!
+    \brief
+    \sa
+    \note           belongs to \ref proting_sec
+    \warning
+*/
+#define SL_OS_RET_CODE_OK
+
+/*!
+    \brief
+    \sa
+    \note           belongs to \ref proting_sec
+    \warning
+*/
+#define SL_OS_WAIT_FOREVER
+
+/*!
+    \brief
+    \sa
+    \note           belongs to \ref proting_sec
+    \warning
+*/
+#define SL_OS_NO_WAIT
+
+/*!
+    \brief type definition for a time value
+
+    \note   On each porting or platform the type could be whatever is needed -
+   integer, pointer to structure etc.
+
+    \note       belongs to \ref proting_sec
+*/
+#define _SlTime_t
+
+/*!
+    \brief  type definition for a sync object container
+
+    Sync object is object used to synchronize between two threads or thread and
+   interrupt handler.
+    One thread is waiting on the object and the other thread send a signal,
+   which then
+    release the waiting thread.
+    The signal must be able to be sent from interrupt context.
+    This object is generally implemented by binary semaphore or events.
+
+    \note   On each porting or platform the type could be whatever is needed -
+   integer, structure etc.
+
+    \note       belongs to \ref proting_sec
+*/
+#define _SlSyncObj_t
+
+/*!
+    \brief  This function creates a sync object
+
+    The sync object is used for synchronization between diffrent thread or ISR
+   and
+    a thread.
+
+    \param  pSyncObj    -   pointer to the sync object control block
+
+    \return upon successful creation the function should return 0
+            Otherwise, a negative value indicating the error code shall be
+   returned
+
+    \note       belongs to \ref proting_sec
+    \warning
+*/
+#define sl_SyncObjCreate(pSyncObj, pName)
+
+/*!
+    \brief  This function deletes a sync object
+
+    \param  pSyncObj    -   pointer to the sync object control block
+
+    \return upon successful deletion the function should return 0
+            Otherwise, a negative value indicating the error code shall be
+   returned
+    \note       belongs to \ref proting_sec
+    \warning
+*/
+#define sl_SyncObjDelete(pSyncObj)
+
+/*!
+    \brief      This function generates a sync signal for the object.
+
+    All suspended threads waiting on this sync object are resumed
+
+    \param      pSyncObj    -   pointer to the sync object control block
+
+    \return     upon successful signaling the function should return 0
+                Otherwise, a negative value indicating the error code shall be
+   returned
+    \note       the function could be called from ISR context
+    \warning
+*/
+#define sl_SyncObjSignal(pSyncObj)
+
+/*!
+    \brief  This function waits for a sync signal of the specific sync object
+
+    \param  pSyncObj    -   pointer to the sync object control block
+    \param  Timeout     -   numeric value specifies the maximum number of mSec
+   to
+                            stay suspended while waiting for the sync signal
+                            Currently, the simple link driver uses only two
+   values:
+                                - OSI_WAIT_FOREVER
+                                - OSI_NO_WAIT
+
+    \return upon successful reception of the signal within the timeout window
+   return 0
+            Otherwise, a negative value indicating the error code shall be
+   returned
+    \note       belongs to \ref proting_sec
+    \warning
+*/
+#define sl_SyncObjWait(pSyncObj, Timeout)
+
+/*!
+    \brief  type definition for a locking object container
+
+    Locking object are used to protect a resource from mutual accesses of two or
+   more threads.
+    The locking object should suppurt reentrant locks by a signal thread.
+    This object is generally implemented by mutex semaphore
+
+    \note   On each porting or platform the type could be whatever is needed -
+   integer, structure etc.
+    \note       belongs to \ref proting_sec
+*/
+#define _SlLockObj_t
+
+/*!
+    \brief  This function creates a locking object.
+
+    The locking object is used for protecting a shared resources between
+   different
+    threads.
+
+    \param  pLockObj    -   pointer to the locking object control block
+
+    \return upon successful creation the function should return 0
+            Otherwise, a negative value indicating the error code shall be
+   returned
+    \note       belongs to \ref proting_sec
+    \warning
+*/
+#define sl_LockObjCreate(pLockObj, pName)
+
+/*!
+    \brief  This function deletes a locking object.
+
+    \param  pLockObj    -   pointer to the locking object control block
+
+    \return upon successful deletion the function should return 0
+            Otherwise, a negative value indicating the error code shall be
+   returned
+    \note       belongs to \ref proting_sec
+    \warning
+*/
+#define sl_LockObjDelete(pLockObj)
+
+/*!
+    \brief  This function locks a locking object.
+
+    All other threads that call this function before this thread calls
+    the osi_LockObjUnlock would be suspended
+
+    \param  pLockObj    -   pointer to the locking object control block
+    \param  Timeout     -   numeric value specifies the maximum number of mSec
+   to
+                            stay suspended while waiting for the locking object
+                            Currently, the simple link driver uses only two
+   values:
+                                - OSI_WAIT_FOREVER
+                                - OSI_NO_WAIT
+
+
+    \return upon successful reception of the locking object the function should
+   return 0
+            Otherwise, a negative value indicating the error code shall be
+   returned
+    \note       belongs to \ref proting_sec
+    \warning
+*/
+#define sl_LockObjLock(pLockObj, Timeout)
+
+/*!
+    \brief  This function unlock a locking object.
+
+    \param  pLockObj    -   pointer to the locking object control block
+
+    \return upon successful unlocking the function should return 0
+            Otherwise, a negative value indicating the error code shall be
+   returned
+    \note       belongs to \ref proting_sec
+    \warning
+*/
+#define sl_LockObjUnlock(pLockObj)
+
+#endif
+/*!
+    \brief  This function call the pEntry callback from a different context
+
+    \param  pEntry      -   pointer to the entry callback function
+
+    \param  pValue      -   pointer to any type of memory structure that would
+   be
+                            passed to pEntry callback from the execution thread.
+
+    \param  flags       -   execution flags - reserved for future usage
+
+    \return upon successful registration of the spawn the function should return
+   0
+            (the function is not blocked till the end of the execution of the
+   function
+            and could be returned before the execution is actually completed)
+            Otherwise, a negative value indicating the error code shall be
+   returned
+    \note       belongs to \ref proting_sec
+    \warning
+*/
+/*
+#define SL_PLATFORM_EXTERNAL_SPAWN
+*/
+
+#ifdef SL_PLATFORM_EXTERNAL_SPAWN
+#define sl_Spawn(pEntry, pValue, flags)
+#endif
+
+/*!
+
+ Close the Doxygen group.
+ @}
+
+ */
+
+/*!
+ ******************************************************************************
+
+    \defgroup       porting_events      Porting - Event Handlers
+
+    This section includes the asynchronous event handlers routines
+
+    PORTING ACTION:
+        -Uncomment the required handler and define your routine as the value
+        of this handler
+
+    @{
+
+ ******************************************************************************
+ */
+
+/*!
+    \brief
+
+    \sa
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+/*
+#define sl_GeneralEvtHdlr
+ */
+
+/*!
+    \brief          An event handler for WLAN connection or disconnection
+   indication
+                    This event handles async WLAN events.
+                    Possible events are:
+                    SL_WLAN_CONNECT_EVENT - indicates WLAN is connected
+                    SL_WLAN_DISCONNECT_EVENT - indicates WLAN is disconnected
+    \sa
+
+    \note           belongs to \ref proting_sec
+
+    \warning
+*/
+#define sl_WlanEvtHdlr SimpleLinkWlanEventHandler
+
+/*!
+    \brief          An event handler for IP address asynchronous event. Usually
+   accepted after new WLAN connection.
+                    This event handles networking events.
+                    Possible events are:
+                    SL_NETAPP_IPV4_ACQUIRED - IP address was acquired (DHCP or
+   Static)
+
+    \sa
+
+    \note           belongs to \ref proting_sec
+
+    \warning
+*/
+
+#define sl_NetAppEvtHdlr SimpleLinkNetAppEventHandler
+
+/*!
+    \brief      A callback for HTTP server events.
+                Possible events are:
+                SL_NETAPP_HTTPGETTOKENVALUE - NWP requests to get the value of
+                a specific token SL_NETAPP_HTTPPOSTTOKENVALUE - NWP post to the
+                host a new value for a specific token
+
+    \param      pServerEvent - Contains the relevant event information
+                (SL_NETAPP_HTTPGETTOKENVALUE or SL_NETAPP_HTTPPOSTTOKENVALUE)
+
+    \param      pServerResponse - Should be filled by the user with the relevant
+                response information (i.e SL_NETAPP_HTTPSETTOKENVALUE as a
+                response to SL_NETAPP_HTTPGETTOKENVALUE event)
+
+    \sa
+
+    \note       belongs to \ref proting_sec
+
+    \warning
+*/
+
+// #define sl_HttpServerCallback        SimpleLinkHttpServerCallback
+/*!
+    \brief
+
+    \sa
+
+    \note           belongs to \ref proting_sec
+
+    \warning
+*/
+/*
+#define sl_SockEvtHdlr
+*/
+
+/*!
+    \brief
+
+    \sa
+
+    \note           belongs to \ref porting_sec
+
+    \warning
+*/
+
+#define sl_AsyncCmdHdlr SimpleLinkCmdHandler
+
+#define SL_STORE_RESTORE_CONTEXT
+#ifdef SL_STORE_RESTORE_CONTEXT
+#define sl_SuspenedStoreContext SimpleLinkSuspenedStoreContextHandler
+#define sl_ResumeRestoreContext SimpleLinkResumeRestoreContextHandler
+#endif
+
+/*!
+
+ Close the Doxygen group.
+ @}
+
+ */
+
+#ifdef __cplusplus
+}
+#endif  // __cplusplus
+
+#endif  // __USER_H__
diff --git a/examples/PIC32/mqtt_client/firmware/src/user_params.h b/examples/PIC32/mqtt_client/firmware/src/user_params.h
new file mode 100644
index 0000000000000000000000000000000000000000..4153655403ccdbfa3a71be5a524829f965cd65c1
--- /dev/null
+++ b/examples/PIC32/mqtt_client/firmware/src/user_params.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2016 Cesanta Software Limited
+ * All rights reserved
+ */
+
+#ifndef _USER_PARAMS_H
+#define _USER_PARAMS_H
+
+#define NET_SSID "my_network"
+#define NET_PWD "my_password"
+#define NET_SECURITY SL_SEC_TYPE_WPA_WPA2
+
+#define MQTT_BROKER_ADDRESS "192.168.1.108:1883"
+#define MQTT_USER_NAME NULL
+#define MQTT_USER_PWD NULL
+
+#define CS_PORT PORT_CHANNEL_D
+#define CS_PIN PORTS_BIT_POS_14
+
+#define HIB_PORT PORT_CHANNEL_D
+#define HIB_PIN PORTS_BIT_POS_4
+
+#endif /* _USER_PARAMS_H */
diff --git a/mongoose.h b/mongoose.h
index 825a7cf0ca5d350d5fb9fed3026fe2a4c51935cc..1726c1cfe16faa05d3311788ade9bfe088c6702e 100644
--- a/mongoose.h
+++ b/mongoose.h
@@ -468,6 +468,7 @@ unsigned long os_random(void);
 
 #include <simplelink.h>
 #include <netapp.h>
+#undef timeval 
 
 typedef int sock_t;
 #define INVALID_SOCKET (-1)