| ################################################################################ |
| # |
| # @file makefile |
| # |
| # @brief HID remote controller |
| # |
| # Copyright (C) Atmosic 2021-2023 |
| # |
| ################################################################################ |
| |
| include ../../user/common.mk |
| |
| DEBUG := 1 |
| PROFILES := OTAPS DISS BASS HOGPD |
| FRAMEWORK_MODULES := \ |
| app_batt \ |
| app_bass \ |
| app_diss \ |
| atm_adv \ |
| atm_adv_param \ |
| atm_asm \ |
| atm_common \ |
| atm_debug \ |
| atm_gap \ |
| atm_log \ |
| ble_bass \ |
| ble_diss \ |
| ble_gap \ |
| ble_gap_sec \ |
| ble_hogpd \ |
| ble_otaps \ |
| |
| DRIVERS := \ |
| atm_ble \ |
| atm_gpio \ |
| atm_pm \ |
| atm_vkey \ |
| batt_model \ |
| gadc \ |
| interrupt \ |
| keyboard \ |
| led_blink \ |
| pdm \ |
| sw_event \ |
| sw_timer \ |
| trng \ |
| |
| OVERLAY_FILE ?= pinmap_$(BOARD)_overlay.h |
| CFLAGS += -DPINMAP_$(BOARD)_OVERLAY="$(OVERLAY_FILE)" |
| |
| ifdef FLASHROM |
| UU_TEST := HID_remote |
| endif |
| |
| ifdef CFG_ATVRC |
| CFG_ATVRC_FULL_FEAT := 1 |
| LPC_RCOS := 1 |
| FORCE_LPC_RCOS := 1 |
| BOARD := m2231 |
| endif |
| |
| ifdef CFG_ATVRC_BF |
| CFG_ATVRC_FULL_FEAT := 1 |
| BOARD := m3231 |
| PV_HARV_EN := 1 |
| endif |
| |
| ifdef CFG_ATVRC_FULL_FEAT |
| CFG_RC_IR := 1 |
| CFG_ATVRC_ATT := 1 |
| ifndef CFG_ATVRC_ATM_AUDIO |
| CFG_ATVRC_AUDIO := 1 |
| endif |
| CFG_ATVRC_CUSTOM := 1 |
| CFG_ATVRC_UNI_IR := 1 |
| CFG_ATVRC_NEC_IR_OVERRIDE := 1 |
| CFG_ATVRC_WAKEUP := 1 |
| |
| ifdef USE_LIB |
| REF_DESIGN_RCU_DIR := ../../../../.. |
| else |
| REF_DESIGN_RCU_DIR := ../../../../../contrib/refDesignRcu |
| endif |
| SRC_ATVRC := src/atvrc |
| INCLUDES += $(REF_DESIGN_RCU_DIR) $(SRC_ATVRC) |
| CFLAGS += -DCFG_ATM_SDK -DCFG_VKEY_BUF -DCFG_OTA_SPEEDUP -DCFG_GAP_MAX_LL_MTU=247 |
| endif |
| |
| ifdef CFG_ATVRC_ATT |
| FRAMEWORK_MODULES += atm_prfs ble_atmprfs |
| CFLAGS += -DCFG_ATVRC_ATT |
| ATVRC_C_SRCS += \ |
| $(REF_DESIGN_RCU_DIR)/vendor/827x_ble_remote/app_att.c \ |
| $(SRC_ATVRC)/bridge_att.c \ |
| $(SRC_ATVRC)/bridge_timer.c \ |
| |
| endif |
| |
| ifdef CFG_ATVRC_UNI_IR |
| CFLAGS += -DCFG_ATVRC_UNI_IR |
| C_SRCS += $(DRIVER_DIR)/ir/uni_ir.c |
| ATVRC_C_SRCS += \ |
| $(REF_DESIGN_RCU_DIR)/vendor/827x_ble_remote/app_ir.c \ |
| $(SRC_ATVRC)/bridge_ir.c \ |
| |
| endif |
| |
| ifdef CFG_ATVRC_CUSTOM |
| CFLAGS += -DCFG_ATVRC_CUSTOM -DCFG_FLEX_VKEY_MAP |
| ATVRC_C_SRCS += $(SRC_ATVRC)/atvrc_custom.c |
| flash_nvds.data += C1-ATVRC_CUSTOM_DATA/g10 |
| endif |
| |
| ifdef CFG_ATVRC_NEC_IR_OVERRIDE |
| CFLAGS += -DCFG_NEC_IR_OVERRIDE -DIR_DATA_CONST= |
| flash_nvds.data += C2-ATVRC_NEC_IR_OVERRIDE/default |
| endif |
| |
| ifdef CFG_ATVRC_WAKEUP |
| CFLAGS += -DCFG_ATVRC_WAKEUP |
| endif |
| |
| ifdef CFG_ATVRC_FIND_ME |
| DRIVERS += buzzer |
| CFLAGS += -DCFG_ATVRC_FIND_ME |
| ATVRC_C_SRCS += \ |
| $(REF_DESIGN_RCU_DIR)/vendor/827x_ble_remote/app_find_me/app_fms.c \ |
| $(REF_DESIGN_RCU_DIR)/vendor/827x_ble_remote/app_find_me/app_imc.c \ |
| $(SRC_ATVRC)/bridge_fms.c \ |
| |
| endif |
| |
| ifneq (,$(filter -DAUTO_TEST,$(CFLAGS))) |
| CFLAGS += -DCFG_PDM_LOCAL_TEST -DSW_TIMER_ID_MAX=13 |
| else |
| ifdef CFG_ATVRC_ATT |
| CFLAGS += -DSW_TIMER_ID_MAX=15 |
| else |
| CFLAGS += -DSW_TIMER_ID_MAX=12 |
| endif |
| endif |
| |
| SRC_TOP = src |
| SRC_NONBT = src/non_bt |
| SRC_BT = src/bt |
| |
| # Voice setting |
| # HID_MSBC: mSBC over HID |
| # HID_ADPCM: ADPCM over HID |
| # otherwise: ADPCM over ATVV |
| PDM_ADPCM := 1 |
| ifeq ($(CFG_VOICE),HID_MSBC) |
| CFLAGS += -DCFG_VOHID -DCFG_PDM_MSBC -DCFG_PDM_INTP_TABLE_ALLOC |
| C_SRCS += $(SRC_BT)/rc_hidau.c $(SRC_NONBT)/sbc_enc_wrapper.c |
| override PDM_ADPCM := |
| ifdef FLASHROM |
| UU_TEST += sbc_enc_wrapper rc_hidau |
| endif |
| |
| else ifeq ($(CFG_VOICE),HID_ADPCM) |
| CFLAGS += -DCFG_VOHID |
| C_SRCS += $(SRC_BT)/rc_hidau.c |
| |
| ifdef FLASHROM |
| UU_TEST += rc_hidau |
| endif |
| |
| else # CFG_VOICE |
| |
| ifdef CFG_ATVRC_AUDIO |
| CFLAGS += -DCFG_ATVRC_AUDIO |
| ATVRC_C_SRCS += \ |
| $(REF_DESIGN_RCU_DIR)/application/audio/gl_audio.c \ |
| $(SRC_ATVRC)/bridge_audio.c \ |
| $(SRC_BT)/rc_atvv.c \ |
| |
| else |
| C_SRCS += $(SRC_BT)/rc_atvv.c |
| FRAMEWORK_MODULES += ble_atvvs |
| PROFILES += ATVVS |
| endif |
| |
| ifndef CFG_ATVV_VER_004 |
| CFLAGS += -DCFG_ATVV_VER_100 |
| endif |
| |
| ifdef CFG_ATVV_ASST_MODEL |
| CFLAGS += -DCFG_ATVV_ASST_MODEL=$(CFG_ATVV_ASST_MODEL) |
| endif |
| |
| ifdef CFG_RF_TEST |
| CFLAGS += -DCFG_RF_TEST |
| endif |
| |
| ifdef FLASHROM |
| UU_TEST += rc_atvv |
| endif |
| |
| endif # CFG_VOICE |
| |
| ifdef FLASHROM |
| ifndef CFG_PDM_INTP_DISABLE |
| UU_TEST += pdm_intp |
| endif |
| ifdef PDM_ADPCM |
| UU_TEST += adpcm_enc |
| endif |
| endif # FLASHROM |
| |
| # power plan: |
| # power_coin_none.mk |
| # power_cone_pv.mk |
| # power_hsc_3v3_pv.mk |
| # power_hsc_3v8_pv.mk |
| CFG_RC_POWER_FILE ?= power_coin_none.mk |
| |
| ifeq ($(wildcard $(CFG_RC_POWER_FILE)),) |
| $(error $(CFG_RC_POWER_FILE) doesn't exist. Use one of [\ |
| $(wildcard power*.mk)]) |
| endif |
| |
| include $(CFG_RC_POWER_FILE) |
| |
| ifneq (,$(filter m2202 m3202,$(BOARD))) |
| VKEY_MAP_CFG := x202 |
| FLASH_SIZE = 0x80000 |
| # Keyboard, IR, PDM and LED |
| CFLAGS += \ |
| -DLED_UART_MUX \ |
| |
| else ifneq (,$(filter m2221 m3221,$(BOARD))) |
| VKEY_MAP_CFG := default |
| ifndef FLASHROM |
| FLASH_SIZE = 0x40000 |
| endif |
| |
| else ifneq (,$(filter m2231 m3231,$(BOARD))) |
| VKEY_MAP_CFG := $(BOARD) |
| ifndef FLASHROM |
| ifdef PUYA_2MB |
| FLASH_SIZE = 0x20000 |
| NVDS_SIZE = 4096 |
| else |
| FLASH_SIZE = 0x40000 |
| endif |
| endif |
| OTA_DISCON_BEFORE_REBOOT := 1 |
| CFLAGS += \ |
| -DCFG_ATVRC_MMI \ |
| -DNUM_LEDS=2 \ |
| |
| else ifneq (,$(filter x2xx_emu,$(BOARD))) |
| VKEY_MAP_CFG := default |
| ifndef FLASHROM |
| FLASH_SIZE = 0x40000 |
| endif |
| |
| else |
| $(error "usage: make $(MAKECMDGOALS) \ |
| BOARD=<m2202|m3202|m2221|m3221|m2231|m3231>") |
| endif |
| |
| CFLAGS += -DVKEY_MAP_FILE=rc_mmi_vkey_$(VKEY_MAP_CFG).h |
| |
| ifdef PV_HARV_EN |
| $(error "PV_HARV_EN deprecated. Please use CFG_RC_POWER_FILE) |
| endif |
| |
| ifdef CFG_RC_IR |
| DRIVERS += ir timer |
| C_SRCS += $(DRIVER_DIR)/ir/nec_ir.c $(DRIVER_DIR)/ir/ir_ctl.c |
| ifdef CFG_ATVRC_UNI_IR |
| ATVRC_C_SRCS += $(SRC_NONBT)/rc_ir.c |
| else |
| C_SRCS += $(SRC_NONBT)/rc_ir.c |
| endif |
| ifdef FLASHROM |
| UU_TEST += rc_ir nec_ir ir_ctl |
| endif |
| # disable ATM_SLWTIMER, isr conflicts with pdm |
| CFLAGS += \ |
| -DCFG_RC_IR \ |
| -DCFG_DIS_ATM_SLWTIMER \ |
| -DATM_DUAL_TIMER_OVERRIDE_PRI=IRQ_PRI_RT \ |
| |
| ifdef CFG_RC_IR_ON_HID |
| CFLAGS += -DCFG_RC_IR_ON_HID |
| endif # CFG_RC_IR_ON_HID |
| endif |
| |
| ifdef CFG_ATVRC_FULL_FEAT |
| EXCLUDE_APP_LIB_C_SRCS := $(ATVRC_C_SRCS) |
| endif |
| |
| # Keyboard |
| CFLAGS += -DCFG_KBD -DKSI_PULLUPS |
| |
| # Feature: ghostkey filter |
| ifdef CFG_EN_GHOSTKEY |
| CFLAGS += -DCFG_EN_GHOSTKEY |
| DRIVERS += keyboard_ghostkey |
| endif |
| |
| ifdef CFG_GHOSTKEY_MAX_DETECT |
| CFLAGS += -DCFG_GHOSTKEY_MAX_DETECT=$(CFG_GHOSTKEY_MAX_DETECT) |
| endif |
| |
| # BT |
| CFLAGS += \ |
| -DNO_ATM_SCAN \ |
| -DNO_GAP_SEC_PASSKEY \ |
| -DNO_GAP_SEC_NC \ |
| -DCFG_GAP_PARAM_CONST=0 \ |
| -DCFG_S_MAX_ENTRY=2 \ |
| -DBLE_MSG_HANDLER_LIST_SIZE=10 \ |
| -DCFG_RC_BIG_MTU \ |
| -DCFG_RC_SLAVE_PARAM_NEGO \ |
| |
| ifneq (,$(filter -DCFG_RC_BIG_MTU,$(CFLAGS))) |
| FRAMEWORK_MODULES += ble_gattc |
| else |
| CFLAGS += -DNO_BLE_GATTC |
| endif |
| |
| INCLUDES += \ |
| $(SRC_TOP) \ |
| $(SRC_BT) \ |
| $(SRC_NONBT) \ |
| |
| # define the files would not include to $(APP).a |
| EXCLUDE_APP_LIB_C_SRCS += \ |
| $(SRC_TOP)/rc_mmi.c \ |
| $(SRC_TOP)/rc_mmi_vkey.c \ |
| |
| ifdef FLASHROM |
| UU_TEST += rc_mmi rc_mmi_vkey |
| endif |
| |
| # Others would include to $(APP).a |
| # Application : Non-BT part |
| C_SRCS += \ |
| $(SRC_NONBT)/rc_pdm.c \ |
| |
| CFLAGS += \ |
| -DCFG_ADV_DATA_PARAM_CONST=0 \ |
| |
| ifdef FLASHROM |
| UU_TEST += rc_pdm |
| endif |
| |
| # Application: BT part |
| C_SRCS += \ |
| $(SRC_BT)/rc_gap.c \ |
| $(SRC_BT)/rc_ota.c \ |
| $(SRC_BT)/rc_hogp.c \ |
| |
| ifdef FLASHROM |
| UU_TEST += rc_gap rc_ota rc_hogp |
| endif |
| |
| C_SRCS += $(EXCLUDE_APP_LIB_C_SRCS) |
| |
| CFLAGS += \ |
| -DGAP_PARM_NAME="app_config.h" \ |
| -DGAP_ADV_PARM_NAME="app_config.h" \ |
| -DGAP_SCAN_PARM_NAME="app_config.h" \ |
| -DAPP_VERSION=\"1.0.0.0\" \ |
| |
| flash_nvds.data += \ |
| 02-DEVICE_NAME/remote \ |
| 11-SLEEP_ENABLE/hib \ |
| 12-EXT_WAKEUP_ENABLE/enable2 \ |
| |
| ifdef NO_BROWNOUT |
| CFLAGS += -DCFG_RC_NO_BROWNOUT |
| endif |
| include rc_test_mode.mk |
| include $(COMMON_USER_DIR)/profiles.mk |
| include $(COMMON_USER_DIR)/framework.mk |
| |