diff options
Diffstat (limited to 'platform/atm2/ATM22xx-x1x/user/profiles.mk')
-rw-r--r-- | platform/atm2/ATM22xx-x1x/user/profiles.mk | 238 |
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__ |