/*---------------------------------------------------------------------------- * 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 #include //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-xxx(MAC地址后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