#
# Copyright (C) 2016 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# only locally defined variables can be used at this time

my_variant := lunchbox

AUX_OS_$(my_variant)             := nanohub
AUX_ARCH_$(my_variant)           := stm32
AUX_SUBARCH_$(my_variant)        := stm32f411
AUX_CPU_$(my_variant)            := cortexm4

# variant supports building OS bootloader, main OS image and application as targets
# target should one of the following:
#   "" (empty) -- applies to all targets
#  _BL -- applies to OS bootloader target build only
#  _OS -- applies to OS image target build only
# _APP -- applies to application target build only
#
# special targets:
# _OSCFG - apply only at build stage of OS binary image
# _BLCFG - apply only at build stage of BL binary image
#
# the following variables may be defined in variant script for any target:
# NANO_VARIANT<target>_CFLAGS_<variant>
# NANO_VARIANT<target>_C_INCLUDES_<variant>
# NANO_VARIANT<target>_STATIC_LIBRARIRES_<variant>
# NANO_VARIANT<target>_WHOLE_STATIC_LIBRARIRES_<variant>
#
# the following may be defined for _OS and _BL only, to control
# what additional source files need to be included in the build;
# the file paths in this list are relative to the target (_OS or _BL) LOCAL_PATH;
# NANO_VARIANT<target>_SRC_FILES_<variant>

NANO_VARIANT_OSCFG_STATIC_LIBRARIES_$(my_variant) := libnanohub_os_$(my_variant)

NANO_VARIANT_OS_CFLAGS_$(my_variant) :=

NANO_VARIANT_OS_CFLAGS_$(my_variant) += \
    -DUSE_BMM150                        \
    -DMAG_SLAVE_PRESENT                 \

#GPIOB0 is debug uart at 2MBps
NANO_VARIANT_OS_CFLAGS_$(my_variant) += -DDEBUG_UART_PIN=16

#'Lu' -> lunchbox
NANO_VARIANT_CFLAGS_$(my_variant) += -DPLATFORM_HW_TYPE=0x4C75

NANO_VARIANT_C_INCLUDES_$(my_variant) :=                    \
    device/google/contexthub/firmware/variant/lunchbox/inc  \

# this is relative to NANOHUB_OS_PATH
NANO_VARIANT_OSCFG_SRC_FILES_$(my_variant) :=               \
    os/algos/calibration/accelerometer/accel_cal.c          \
    os/algos/calibration/gyroscope/gyro_cal.c               \
    os/algos/calibration/gyroscope/gyro_stillness_detect.c  \
    os/algos/calibration/magnetometer/mag_cal.c             \
    os/algos/calibration/common/diversity_checker.c         \
    os/algos/calibration/over_temp/over_temp_cal.c          \
    os/algos/common/math/mat.c                              \
    os/algos/common/math/quat.c                             \
    os/algos/common/math/vec.c                              \
    os/algos/fusion.c                                       \
    os/algos/time_sync.c                                    \
    os/drivers/ams_tmd2772/ams_tmd2772.c                    \
    os/drivers/bosch_bmi160/bosch_bmi160.c                  \
    os/drivers/bosch_bmi160/bosch_bmm150_slave.c            \
    os/drivers/bosch_bmp280/bosch_bmp280.c                  \
    os/drivers/hall/hall.c                                  \
    os/drivers/orientation/orientation.c                    \
    os/drivers/rohm_rpr0521/rohm_rpr0521.c                  \
    os/drivers/tilt_detection/tilt_detection.c              \
    os/drivers/vsync/vsync.c                                \
    os/drivers/window_orientation/window_orientation.c      \