aboutsummaryrefslogtreecommitdiff
path: root/platform/atm2/ATM22xx-x1x/user/profiles.mk
diff options
context:
space:
mode:
Diffstat (limited to 'platform/atm2/ATM22xx-x1x/user/profiles.mk')
-rw-r--r--platform/atm2/ATM22xx-x1x/user/profiles.mk238
1 files changed, 238 insertions, 0 deletions
diff --git a/platform/atm2/ATM22xx-x1x/user/profiles.mk b/platform/atm2/ATM22xx-x1x/user/profiles.mk
new file mode 100644
index 0000000..ba43def
--- /dev/null
+++ b/platform/atm2/ATM22xx-x1x/user/profiles.mk
@@ -0,0 +1,238 @@
+################################################################################
+#
+# @file profiles.mk
+#
+# @brief Common BLE profile build settings
+#
+# Copyright (C) Atmosic 2020-2021
+#
+################################################################################
+
+ifndef __PROFILE_MK__
+__PROFILE_MK__ = 1
+
+ifdef PROFILES
+# Enable the profiles framework
+DRIVERS += profiles
+
+# $1 - common part of profile name
+# $2 - client/server part of profile name
+# $3 - common directory ($1 if empty)
+# $4 - define (uppercase $1$2 if empty)
+define profile_TEMPLATE
+$(eval A := $(if $3,$3,$1))
+$(eval B := $(if $4,$4,$(call to_upper,$1$2)))
+ifneq ($(filter $B,$(PROFILES)),)
+C_SRCS += $(BLE_PRF_DIR)/$A/$1$2/src/$1$2.c \
+ $(wildcard $(BLE_PRF_DIR)/$A/$1$2/src/$1$2_task.c)
+INCLUDES += $(BLE_PRF_DIR)/$A $(BLE_PRF_DIR)/$A/$1$2/api
+CFLAGS += -DCFG_PRF_$B
+endif
+$(eval $(if $(filter undefine,$(.FEATURES)),undefine A,A :=))
+$(eval $(if $(filter undefine,$(.FEATURES)),undefine B,B :=))
+endef
+
+
+#
+# Standard profiles
+#
+
+# ANCSC Apple Notification Center Service Client
+$(eval $(call profile_TEMPLATE,ancs,c))
+
+# ANPC Alert Notification Client
+$(eval $(call profile_TEMPLATE,anp,c))
+# ANPS Alert Notification Server
+$(eval $(call profile_TEMPLATE,anp,s))
+
+# BASC Battery Service Client
+$(eval $(call profile_TEMPLATE,bas,c))
+# BASS Battery Service Server
+$(eval $(call profile_TEMPLATE,bas,s))
+
+# BLPC Blood Pressure collector
+$(eval $(call profile_TEMPLATE,blp,c))
+# BLPS Blood Pressure Sensor
+$(eval $(call profile_TEMPLATE,blp,s))
+
+# BCSC Body Composition Client
+$(eval $(call profile_TEMPLATE,bcs,c))
+# BCSS Body Composition Server
+$(eval $(call profile_TEMPLATE,bcs,s))
+
+# CGMC Continuous Glucose Monitoring Client
+$(eval $(call profile_TEMPLATE,cgm,c))
+# CGMS Continuous Glucose Monitoring Server
+$(eval $(call profile_TEMPLATE,cgm,s))
+
+# CPPC Cycling Power Client
+$(eval $(call profile_TEMPLATE,cpp,c))
+# CPPS Cycling Power Server
+$(eval $(call profile_TEMPLATE,cpp,s))
+
+# CSCPC Cycling Speed and Cadence Client
+$(eval $(call profile_TEMPLATE,cscp,c))
+# CSCPS Cycling Speed and Cadence Server
+$(eval $(call profile_TEMPLATE,cscp,s))
+
+# DISC Device Information Service Client
+$(eval $(call profile_TEMPLATE,dis,c))
+# DISS (Device Information Service) Server
+$(eval $(call profile_TEMPLATE,dis,s))
+
+# ENVC Environmental Sensing Client
+$(eval $(call profile_TEMPLATE,env,c))
+# ENVS Environmental Sensing Server
+$(eval $(call profile_TEMPLATE,env,s))
+
+# FMPL Find me locator
+$(eval $(call profile_TEMPLATE,find,l,,FMPL))
+# FMPT Find me target
+$(eval $(call profile_TEMPLATE,find,t,,FMPT))
+
+# GLPC Glucose Collector
+$(eval $(call profile_TEMPLATE,glp,c))
+# GLPS Glucose Sensor
+$(eval $(call profile_TEMPLATE,glp,s))
+
+# HOGPD HID over GATT Profile Device
+$(eval $(call profile_TEMPLATE,hogp,d))
+# HOGPBH HID Profile Boot Host
+$(eval $(call profile_TEMPLATE,hogp,bh))
+# HOGPRH HID over GATT Report Profile Host
+$(eval $(call profile_TEMPLATE,hogp,rh))
+
+# HRPC Heart Rate collector
+$(eval $(call profile_TEMPLATE,hrp,c))
+# HRPS Heart Rate Sensor
+$(eval $(call profile_TEMPLATE,hrp,s))
+
+# HTPC Health thermometer collector
+$(eval $(call profile_TEMPLATE,htp,c))
+# HTPT Health Thermometer
+$(eval $(call profile_TEMPLATE,htp,t))
+
+# IPSC Internet Protocol Support Profile Client
+$(eval $(call profile_TEMPLATE,ips,c))
+# IPSS Internet Protocol Support Profile Server
+$(eval $(call profile_TEMPLATE,ips,s))
+
+# LANC Location and Navigation Client
+$(eval $(call profile_TEMPLATE,lan,c))
+# LANS Location and Navigation Server
+$(eval $(call profile_TEMPLATE,lan,s))
+
+# PASPC Phone Alert Status Client
+$(eval $(call profile_TEMPLATE,pasp,c))
+# PASPS Phone Alert Status Server
+$(eval $(call profile_TEMPLATE,pasp,s))
+
+# PLXC Pulse Oximeter Profile Client
+$(eval $(call profile_TEMPLATE,plx,c))
+# PLXS Pulse Oximeter Profile Server
+$(eval $(call profile_TEMPLATE,plx,s))
+
+# PXPM Proximity monitor
+$(eval $(call profile_TEMPLATE,prox,m,,PXPM))
+# PXPR Proximity reporter
+$(eval $(call profile_TEMPLATE,prox,r,,PXPR))
+
+# RSCPC Running Speed and Cadence Client
+$(eval $(call profile_TEMPLATE,rscp,c))
+# RSCPS Running Speed and Cadence Server
+$(eval $(call profile_TEMPLATE,rscp,s))
+
+# SCPPC Scan Parameter Client
+$(eval $(call profile_TEMPLATE,scpp,c))
+# SCPPS Scan Parameter Server
+$(eval $(call profile_TEMPLATE,scpp,s))
+
+# TIPC Time Client
+$(eval $(call profile_TEMPLATE,tip,c))
+# TIPS Time Server
+$(eval $(call profile_TEMPLATE,tip,s))
+
+# UDSC User Data Service Client
+$(eval $(call profile_TEMPLATE,uds,c))
+# UDSS User Data Service Server
+$(eval $(call profile_TEMPLATE,uds,s))
+
+# WPTC Wireless Power Transfer Profile Client
+$(eval $(call profile_TEMPLATE,wpt,c))
+# WPTS Wireless Power Transfer Profile Server
+$(eval $(call profile_TEMPLATE,wpt,s))
+
+# WSCC Weight Scale Client
+$(eval $(call profile_TEMPLATE,wsc,c,wscp))
+# WSCS Weight Scale Server
+$(eval $(call profile_TEMPLATE,wsc,s,wscp))
+
+#
+# Atmosic profiles
+#
+
+# AGPC Atmosic Generic Client
+$(eval $(call profile_TEMPLATE,agp,c))
+# AGPS Atmosic Generic Client
+$(eval $(call profile_TEMPLATE,agp,s))
+
+# ATVVS (Android TV Voice) Service
+$(eval $(call profile_TEMPLATE,atvv,s))
+
+# DTPS (Data Transfer Profile) Server
+ifneq ($(filter DTPS,$(PROFILES)),)
+C_SRCS += $(BLE_PRF_DIR)/dts/dts/src/dtps.c
+CFLAGS += -DCFG_PRF_DTPS
+DTS_SERVER_ROLE := 1
+endif # DTPS
+
+# OTAPS (Over the Air Upgrade Profile) Server
+$(eval $(call profile_TEMPLATE,otap,s))
+ifneq ($(filter OTAPS,$(PROFILES)),)
+CFLAGS += -DCFG_CRC
+LIBRARIES += upgrade crc
+DTS_SERVER_ROLE := 1
+ifdef OTA_DISCON_BEFORE_REBOOT
+CFLAGS += -DCFG_UPGD_REBOOT_POSTPONED
+endif
+endif # OTAPS
+
+# TPUTPC Throughput Testing Client
+$(eval $(call profile_TEMPLATE,tputp,c))
+ifneq ($(filter TPUTPC,$(PROFILES)),)
+DTS_CLIENT_ROLE := 1
+DTS_UTILS := 1
+endif # TPUTPC
+
+# TPUTPS Throughput Testing Server
+$(eval $(call profile_TEMPLATE,tputp,s))
+ifneq ($(filter TPUTPS,$(PROFILES)),)
+DTS_SERVER_ROLE := 1
+DTS_UTILS := 1
+endif # TPUTPS
+
+# DTSS (Data Transfer Service) server role library
+ifdef DTS_SERVER_ROLE
+# DTS server role support
+C_SRCS += $(BLE_PRF_DIR)/dts/dts/src/dts_server.c
+INCLUDES += $(BLE_PRF_DIR)/dts/dts/api
+endif # DTS_SERVER_ROLE
+
+# DTSC (Data Transfer Service) client role library
+ifdef DTS_CLIENT_ROLE
+C_SRCS += $(BLE_PRF_DIR)/dts/dts/src/dts_client.c
+INCLUDES += $(BLE_PRF_DIR)/dts/dts/api
+endif # DTS_CLIENT_ROLE
+
+# DTS utility library
+ifdef DTS_UTILS
+C_SRCS += $(BLE_PRF_DIR)/dts/dts/src/dts_utils.c
+endif # DTS_UTILS
+
+ifneq (,$(or $(filter ANCSC BASS DISS HTPT OTAPS,$(PROFILES)),$(DTS_CLIENT_ROLE)))
+LIBRARIES += prf
+endif
+
+endif # PROFILES
+
+endif # __PROFILE_MK__