mcu_hi3321_watch/tjd/system/sys_config.h
2025-05-31 10:45:15 +08:00

464 lines
17 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*----------------------------------------------------------------------------
* Copyright (c) TJD Technologies Co., Ltd. 2020. All rights reserved.
*
* Description: sys_config.h
*
* Author: saimen
*
* Create: 2024-04-24
*--------------------------------------------------------------------------*/
#ifndef SYS_CONFIG_H
#define SYS_CONFIG_H
#ifdef __cplusplus
extern "C" {
#endif
//lib
#include <stdint.h>
#include <stdbool.h>
//user
#include "debug_print.h"
/*
备用头文件
\sdk\kernel\liteos\liteos_v207.1.0\Huawei_LiteOS\open_source\musl\include\bits\alltypes.h
\sdk\middleware\utils\common_headers\native\soc_errno.h
\sdk\middleware\utils\common_headers
*/
/**********************************************************************************************************************
* DEFINE
*/
/*
设备硬件版本号-DEVICE_HARD_VERSION
示例: HV1.0
*/
#define DEVICE_HARD_VERSION_H (1) //第一代设备
#define DEVICE_HARD_VERSION_L (2) //第一代设备
/*
嵌入式固件版本规范V大版本号.子版本号
V版本标示必须大写。
大版本号取值范围0~255。
=0代表EVT阶段;
=1代表DVT阶段全功能开发完成;
>=8代表MP阶段量产、封包后阶段;
小版本号取值范围1~255每次发版本递增加1。
示例: SV8.1
*/
#define DEVICE_SOFT_VERSION_H (0)
#define DEVICE_SOFT_VERSION_L (35)
/*
KERNEL由TKERNEL_TYPE_STR,KERNEL_PROJECT_ID,KERNEL_DEVICE_ID三段构成
示例: W010_T13542_0123456789ABCDEF0123456789ABCDEF00000001
*/
#define DEVICE_KERNEL_TYPE_STR "W010" //
#define DEVICE_KERNEL_PROJECT_ID (13542) //与禅道中项目号对应
#define DEVICE_KERNEL_DEVICE_ID (0xFFFF) //获取20字节soc id每个芯片都不一样。
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
#ifndef SYS_NULL
#define SYS_NULL 0
#endif
#ifndef SYS_OFF
#define SYS_OFF 0
#endif
#ifndef SYS_ON
#define SYS_ON 1
#endif
#define TJD_PCB_NAME "TH18A" //
// 产品蓝牙名前缀 - 生成配对二维码需要 - 也用作产品设备名称Lefun-Dev-xxxMAC地址后2字节的十六进制
#define TJD_BLE_NAME_PREFIX "Lefun" //Lefun-T
#define TJD_BT_NAME_PREFIX "Lefun-T"
// 产品设备型号
#define TJD_INFO_DEVICE_MODEL "Watch"
// 运动健康APP的二维码数据服务器链接地址 - 适用于Android & IOS由APP组提供
#define TJD_APP_QR_CODE_URL "http://dw.ss-tjd.com/download/en4.html"
// 设备固件专项版本标志字符串 - 命名规则以下方LOG模块为依据"COMMON"就是由configLOG_COMMON得来
#define DEVICE_SOFT_SPECIAL_NAME "COMMON"
// OTA使用到的片内flash地址为了方便脚本截取地址必须加上括号
#define OTA_FLAG_ADDR (0x0000e000)
#define OTA_LOAD_ADDR (0x00010000)
// 控制该版本为厂测版本(SYS_ON)或硬测版本(SYS_OFF)
#define VERSION_OF_ATE SYS_ON
#define VERSION_OF_HW SYS_ON
// 看门狗宏开关
#define WATCH_DOG SYS_OFF
//调试通道选择
#define DBG_COM_SWO 0
#define DBG_COM_UART 1
#define USED_DBG_COM DBG_COM_UART
#if (WATCH_DOG == SYS_OFF)
#define DEBUG_LOG SYS_ON
#else
#define DEBUG_LOG SYS_OFF
#endif
// log打印是否支持颜色输出
#define LOG_ENABLE_COLOUR SYS_OFF
// log打印的级别
// #define LOG_LEVEL LOG_LEVEL_INFO
#if (DEBUG_LOG == SYS_ON)
//#include "print_log.h"
#endif
#if 0//(DEBUG_LOG == SYS_ON)||(DTM_UART)
#define AM_DEBUG_PRINTF
#endif
// debug总开关
#define DEBUG_STATE(x) ( (DEBUG_LOG == SYS_OFF) ? (SYS_OFF) : (x) )
// 各个模块的debug开关
#define configLOG_SBL DEBUG_STATE(SYS_OFF)
#define configLOG_COMMON DEBUG_STATE(SYS_ON)
#define configLOG_SYS DEBUG_STATE(SYS_ON)
#define configLOG_SQL DEBUG_STATE(SYS_ON)
#define configLOG_SERVICE DEBUG_STATE(SYS_ON)
#define configLOG_RTC DEBUG_STATE(SYS_ON)
#define configLOG_WDT DEBUG_STATE(SYS_OFF)
#define configLOG_ADC DEBUG_STATE(SYS_OFF)
#define configLOG_CHG DEBUG_STATE(SYS_OFF)
#define configLOG_GSENSOR DEBUG_STATE(SYS_OFF)
#define configLOG_GPS DEBUG_STATE(SYS_ON)
#define configLOG_BT DEBUG_STATE(SYS_ON)
#define configLOG_OTA DEBUG_STATE(SYS_OFF)
#define configLOG_FS DEBUG_STATE(SYS_OFF)
#define configLOG_SPORT DEBUG_STATE(SYS_OFF)
#define configLOG_HEALTH DEBUG_STATE(SYS_OFF)
#define configLOG_SYS_REMIND DEBUG_STATE(SYS_OFF)
#define configLOG_TP DEBUG_STATE(SYS_ON)
#define configLOG_HR DEBUG_STATE(SYS_ON)
#define configLOG_GS DEBUG_STATE(SYS_ON)
#define configLOG_MS DEBUG_STATE(SYS_ON)
#define configLOG_MOTOR DEBUG_STATE(SYS_OFF)
#define configLOG_UI DEBUG_STATE(SYS_ON)
#define configLOG_BUTTON DEBUG_STATE(SYS_OFF)
#define configLOG_CHARGER DEBUG_STATE(SYS_ON)
#define configLOG_ENCODER DEBUG_STATE(SYS_ON)
#define configLOG_PM DEBUG_STATE(SYS_ON)
#define configLOG_PHONE DEBUG_STATE(SYS_ON)
/*
* 各个模块log实现
* 各个模块debug宏开关
*/
#if (configLOG_SBL == SYS_ON)
#define secbootloader_printf(...) print_str(__VA_ARGS__)
#else
#define secbootloader_printf(...)
#endif
#if (configLOG_COMMON == SYS_ON)
#define sys_common_printf(fmt, ...) print_str("TJD|[COMMON] " fmt "\r\n", ##__VA_ARGS__)
#else
#define sys_common_printf(...)
#endif
#if (configLOG_SYS == SYS_ON)
#define sys_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define SYS_TAG "SYS"
#define sys_log_e(...) sys_print(SYS_TAG " E/",__VA_ARGS__)
#define sys_log_w(...) sys_print(SYS_TAG " W/",__VA_ARGS__)
#define sys_log_d(...) sys_print(SYS_TAG " D/",__VA_ARGS__)
#else
#define sys_print(...)
#define sys_log_e(...)
#define sys_log_w(...)
#define sys_log_d(...)
#endif
#if (configLOG_SQL == SYS_ON)
#define sys_sql_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define SQL_TAG "SQL"
#define sys_sql_log_e(...) sys_sql_print(SQL_TAG " E/",__VA_ARGS__)
#define sys_sql_log_w(...) sys_sql_print(SQL_TAG " W/",__VA_ARGS__)
#define sys_sql_log_d(...) sys_sql_print(SQL_TAG " D/",__VA_ARGS__)
#else
#define sys_sql_print(...)
#define sys_sql_log_e(...)
#define sys_sql_log_w(...)
#define sys_sql_log_d(...)
#endif
#if (configLOG_SERVICE == SYS_ON)
#define sys_service_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define SERVICE_TAG "SERVICE"
#define sys_service_log_e(...) sys_service_print(SERVICE_TAG " E/",__VA_ARGS__)
#define sys_service_log_w(...) sys_service_print(SERVICE_TAG " W/",__VA_ARGS__)
#define sys_service_log_d(...) sys_service_print(SERVICE_TAG " D/",__VA_ARGS__)
#else
#define sys_service_print(...)
#define sys_service_log_e(...)
#define sys_service_log_w(...)
#define sys_service_log_d(...)
#endif
#if (configLOG_GPS == SYS_ON)
#define sys_gps_printf(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define GPS_TAG "GPS"
#define sys_gps_log_e(...) sys_gps_printf(GPS_TAG " E/",__VA_ARGS__)
#define sys_gps_log_w(...) sys_gps_printf(GPS_TAG " W/",__VA_ARGS__)
#define sys_gps_log_d(...) sys_gps_printf(GPS_TAG " D/",__VA_ARGS__)
#define sys_gps_log_i(...) sys_gps_printf(GPS_TAG " I/",__VA_ARGS__)
#else
#define sys_gps_printf(...)
#define sys_gps_log_e(...)
#define sys_gps_log_w(...)
#define sys_gps_log_d(...)
#define sys_gps_log_i(...)
#endif
#if (configLOG_BT == SYS_ON)
#define sys_bt_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define sys_bt_print_n(level, fmt, ...) print_str( fmt " ", ##__VA_ARGS__)
#define BT_TAG "BT"
#define sys_bt_log_e(...) sys_bt_print(BT_TAG " E/",__VA_ARGS__)
#define sys_bt_log_w(...) sys_bt_print(BT_TAG " W/",__VA_ARGS__)
#define sys_bt_log_d(...) sys_bt_print(BT_TAG " D/",__VA_ARGS__)
#define sys_bt_log_i(...) sys_bt_print_n(BT_TAG " I/",__VA_ARGS__)
#else
#define sys_bt_print(...)
#define sys_bt_log_e(...)
#define sys_bt_log_w(...)
#define sys_bt_log_d(...)
#define sys_bt_log_i(...)
#endif
#if (configLOG_FS == SYS_ON)
#define sys_fs_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define FS_TAG "FS"
#define sys_fs_log_e(...) sys_fs_print(FS_TAG " E/",__VA_ARGS__)
#define sys_fs_log_w(...) sys_fs_print(FS_TAG " W/",__VA_ARGS__)
#define sys_fs_log_d(...) sys_fs_print(FS_TAG " D/",__VA_ARGS__)
#else
#define sys_fs_printf(...)
#define sys_fs_log_e(...)
#define sys_fs_log_w(...)
#define sys_fs_log_d(...)
#endif
#if (configLOG_TP == SYS_ON)
#define sys_tp_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define TP_TAG "DRI_TP"
#define sys_tp_log_e(...) sys_tp_print(TP_TAG " E/",__VA_ARGS__)
#define sys_tp_log_w(...) sys_tp_print(TP_TAG " W/",__VA_ARGS__)
#define sys_tp_log_i(...) sys_tp_print(TP_TAG " I/",__VA_ARGS__)
#define sys_tp_log_d(...) sys_tp_print(TP_TAG " D/",__VA_ARGS__)
#else
#define sys_tp_print(...)
#define sys_tp_log_e(...)
#define sys_tp_log_w(...)
#define sys_tp_log_i(...)
#define sys_tp_log_d(...)
#endif
#if (configLOG_RTC == SYS_ON)
#define sys_rtc_print(level, fmt, ...) print_str("TJD|[%s] " fmt " \r\n", level, ##__VA_ARGS__)
#define RTC_TAG "DRI_RTC"
#define sys_rtc_log_e(...) sys_rtc_print(RTC_TAG " E/",__VA_ARGS__)
#define sys_rtc_log_w(...) sys_rtc_print(RTC_TAG " W/",__VA_ARGS__)
#define sys_rtc_log_i(...) sys_rtc_print(RTC_TAG " I/",__VA_ARGS__)
#define sys_rtc_log_d(...) sys_rtc_print(RTC_TAG " D/",__VA_ARGS__)
#else
#define sys_rtc_print(...)
#define sys_rtc_log_e(...)
#define sys_rtc_log_w(...)
#define sys_rtc_log_i(...)
#define sys_rtc_log_d(...)
#endif
#if (configLOG_ENCODER == SYS_ON)
#define sys_enc_print(level, fmt, ...) print_str("TJD|[%s] " fmt " \r\n", level, ##__VA_ARGS__)
#define ENC_TAG "DRI_ENCODER"
#define sys_enc_log_e(...) sys_enc_print(ENC_TAG " E/",__VA_ARGS__)
#define sys_enc_log_w(...) sys_enc_print(ENC_TAG " W/",__VA_ARGS__)
#define sys_enc_log_i(...) sys_enc_print(ENC_TAG " I/",__VA_ARGS__)
#define sys_enc_log_d(...) sys_enc_print(ENC_TAG " D/",__VA_ARGS__)
#else
#define sys_enc_print(...)
#define sys_enc_log_e(...)
#define sys_enc_log_w(...)
#define sys_enc_log_i(...)
#define sys_enc_log_d(...)
#endif
#if (configLOG_HR == SYS_ON)
#define sys_hr_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define HR_TAG "HR"
#define sys_hr_log_e(...) sys_hr_print(HR_TAG " E/",__VA_ARGS__)
#define sys_hr_log_w(...) sys_hr_print(HR_TAG " W/",__VA_ARGS__)
#define sys_hr_log_i(...) sys_hr_print(HR_TAG " I/",__VA_ARGS__)
#define sys_hr_log_d(...) sys_hr_print(HR_TAG " D/",__VA_ARGS__)
#else
#define sys_hr_print(...)
#define sys_hr_log_e(...)
#define sys_hr_log_w(...)
#define sys_hr_log_i(...)
#define sys_hr_log_d(...)
#endif
#if (configLOG_GS == SYS_ON)
#define sys_gs_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define sys_algo_print(level, fmt, ...) print_str("TJD|[%s] " fmt, level, ##__VA_ARGS__)
#define GS_TAG "GS"
#define sys_gs_log_e(...) sys_gs_print(GS_TAG " E/",__VA_ARGS__)
#define sys_gs_log_w(...) sys_gs_print(GS_TAG " W/",__VA_ARGS__)
#define sys_algo_log_i(...) sys_algo_print(GS_TAG " I/",__VA_ARGS__)
#define sys_gs_log_i(...) sys_gs_print(GS_TAG " I/",__VA_ARGS__)
#define sys_gs_log_d(...) sys_gs_print(GS_TAG " D/",__VA_ARGS__)
#else
#define sys_gs_print(...)
#define sys_gs_log_e(...)
#define sys_gs_log_w(...)
#define sys_gs_log_i(...)
#define sys_gs_log_d(...)
#endif
#if (configLOG_MS == SYS_ON)
#define sys_ms_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define MS_TAG "MS"
#define sys_ms_log_e(...) sys_ms_print(MS_TAG " E/",__VA_ARGS__)
#define sys_ms_log_w(...) sys_ms_print(MS_TAG " W/",__VA_ARGS__)
#define sys_ms_log_i(...) sys_ms_print(MS_TAG " I/",__VA_ARGS__)
#define sys_ms_log_d(...) sys_ms_print(MS_TAG " D/",__VA_ARGS__)
#else
#define sys_ms_print(...)
#define sys_ms_log_e(...)
#define sys_ms_log_w(...)
#define sys_ms_log_i(...)
#define sys_ms_log_d(...)
#endif
#if (configLOG_MOTOR == SYS_ON)
#define sys_motor_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define MOTOR_TAG "MOTOR"
#define sys_motor_log_e(...) sys_motor_print(MOTOR_TAG " E/",__VA_ARGS__)
#define sys_motor_log_w(...) sys_motor_print(MOTOR_TAG " W/",__VA_ARGS__)
#define sys_motor_log_i(...) sys_motor_print(MOTOR_TAG " I/",__VA_ARGS__)
#define sys_motor_log_d(...) sys_motor_print(MOTOR_TAG " D/",__VA_ARGS__)
#else
#define sys_motor_print(...)
#define sys_motor_log_e(...)
#define sys_motor_log_w(...)
#define sys_motor_log_i(...)
#define sys_motor_log_d(...)
#endif
#if (configLOG_UI == SYS_ON)
#define sys_ui_print(level, fmt, ...) print_str("TJD|[%s]" fmt "\r\n", level, ##__VA_ARGS__)
#define UI_TAG "UI"
#define sys_ui_log_e(...) sys_ui_print(UI_TAG " E/",__VA_ARGS__)
#define sys_ui_log_w(...) sys_ui_print(UI_TAG " W/",__VA_ARGS__)
#define sys_ui_log_i(...) sys_ui_print(UI_TAG " I/",__VA_ARGS__)
#define sys_ui_log_d(...) sys_ui_print(UI_TAG " D/",__VA_ARGS__)
#else
#define sys_ui_print(...)
#define sys_ui_log_e(...)
#define sys_ui_log_w(...)
#define sys_ui_log_i(...)
#define sys_ui_log_d(...)
#endif
#if (configLOG_BUTTON == SYS_ON)
#define sys_button_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define BUTTON_TAG "BUTTON"
#define sys_button_log_e(...) sys_button_print(BUTTON_TAG " E/",__VA_ARGS__)
#define sys_button_log_w(...) sys_button_print(BUTTON_TAG " W/",__VA_ARGS__)
#define sys_button_log_i(...) sys_button_print(BUTTON_TAG " I/",__VA_ARGS__)
#define sys_button_log_d(...) sys_button_print(BUTTON_TAG " D/",__VA_ARGS__)
#else
#define sys_button_print(...)
#define sys_button_log_e(...)
#define sys_button_log_w(...)
#define sys_button_log_i(...)
#define sys_button_log_d(...)
#endif
#if (configLOG_CHARGER == SYS_ON)
#define sys_chrg_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define CHARGER_TAG "CHARGER"
#define sys_chrg_log_e(...) sys_chrg_print(CHARGER_TAG " E/",__VA_ARGS__)
#define sys_chrg_log_w(...) sys_chrg_print(CHARGER_TAG " W/",__VA_ARGS__)
#define sys_chrg_log_i(...) sys_chrg_print(CHARGER_TAG " I/",__VA_ARGS__)
#define sys_chrg_log_d(...) sys_chrg_print(CHARGER_TAG " D/",__VA_ARGS__)
#else
#define sys_chrg_print(...)
#define sys_chrg_log_e(...)
#define sys_chrg_log_w(...)
#define sys_chrg_log_i(...)
#define sys_chrg_log_d(...)
#endif
#if (configLOG_PM == SYS_ON)
#define sys_pm_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define PM_TAG "PM"
#define sys_pm_log_e(...) sys_pm_print(PM_TAG " E/",__VA_ARGS__)
#define sys_pm_log_w(...) sys_pm_print(PM_TAG " W/",__VA_ARGS__)
#define sys_pm_log_i(...) sys_pm_print(PM_TAG " I/",__VA_ARGS__)
#define sys_pm_log_d(...) sys_pm_print(PM_TAG " D/",__VA_ARGS__)
#else
#define sys_pm_print(...)
#define sys_pm_log_e(...)
#define sys_pm_log_w(...)
#define sys_pm_log_i(...)
#define sys_pm_log_d(...)
#endif
#if (configLOG_PHONE == SYS_ON)
#define sys_phone_print(level, fmt, ...) print_str("TJD|[%s] " fmt "\r\n", level, ##__VA_ARGS__)
#define PHONE_TAG "PHONE"
#define sys_phone_log_e(...) sys_phone_print(PHONE_TAG " E/",__VA_ARGS__)
#define sys_phone_log_w(...) sys_phone_print(PHONE_TAG " W/",__VA_ARGS__)
#define sys_phone_log_i(...) sys_phone_print(PHONE_TAG " I/",__VA_ARGS__)
#define sys_phone_log_d(...) sys_phone_print(PHONE_TAG " D/",__VA_ARGS__)
#else
#define sys_phone_print(...)
#define sys_phone_log_e(...)
#define sys_phone_log_w(...)
#define sys_phone_log_i(...)
#define sys_phone_log_d(...)
#endif
#ifndef PRJ_FOR_FS_SPECIAL_TEST
#define PRJ_FOR_FS_SPECIAL_TEST SYS_OFF
#endif
// 日志打点
//#include "log_typedef.h"
//#include "log_api.h"
/*
* 驱动模块开关
*/
//加速度
#define TJD_GSENSOR_SC7A20E
//心率
#define TJD_HR_HX3602
//地磁
#define TJD_MSENSOR_MMC5603
#define TJD_TP_FT6146 0
#define TJD_TP_CST820 1
#ifdef __cplusplus
}
#endif
#endif