735 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			735 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | /****************************************************************************
 | ||
|  | 
 | ||
|  | Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED. | ||
|  | 
 | ||
|  | This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT | ||
|  | be copied by any method or incorporated into another program without | ||
|  | the express written consent of Aerospace C.Power. This Information or any portion | ||
|  | thereof remains the property of Aerospace C.Power. The Information contained herein | ||
|  | is believed to be accurate and Aerospace C.Power assumes no responsibility or | ||
|  | liability for its use in any way and conveys no license or title under | ||
|  | any patent or copyright and makes no representation or warranty that this | ||
|  | Information is free from patent or copyright infringement. | ||
|  | 
 | ||
|  | ****************************************************************************/ | ||
|  | 
 | ||
|  | /* This file contains the Kunlun features configuration
 | ||
|  |  * any feature related .c file should include this file | ||
|  |  */ | ||
|  | 
 | ||
|  | #ifndef PLC_CONFIG_API_H
 | ||
|  | #define PLC_CONFIG_API_H
 | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | extern "C" { | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /* PLC configuration start ****************************************************/ | ||
|  | 
 | ||
|  | #if HW_PLATFORM == HW_PLATFORM_SIMU
 | ||
|  | #define SUPPORT_SOUTHERN_POWER_GRID     1
 | ||
|  | #else
 | ||
|  | #define SUPPORT_SOUTHERN_POWER_GRID     0
 | ||
|  | #endif
 | ||
|  | #define SUPPORT_SMART_GRID              1
 | ||
|  | 
 | ||
|  | /* define if FW support CCO role */ | ||
|  | #if (HW_PLATFORM == HW_PLATFORM_SIMU)
 | ||
|  | 
 | ||
|  | #ifndef PLC_SUPPORT_CCO_ROLE
 | ||
|  | #define PLC_SUPPORT_CCO_ROLE            1
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifndef PLC_SUPPORT_STA_ROLE
 | ||
|  | #define PLC_SUPPORT_STA_ROLE            1
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #if PLC_SUPPORT_CCO_ROLE
 | ||
|  | #define RUN_IN_PSRAM                    1
 | ||
|  | #define IOT_PSRAM_SIZE                  4
 | ||
|  | #else
 | ||
|  | #define RUN_IN_PSRAM                    0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /* #define number of nodes supported in the PLC network must be (n * 8 - 1) */ | ||
|  | #define PLC_NETWORK_SCALE               1015
 | ||
|  | 
 | ||
|  | #else /* (HW_PLATFORM == HW_PLATFORM_SIMU) */
 | ||
|  | 
 | ||
|  | #ifndef PLC_SUPPORT_CCO_ROLE
 | ||
|  | #define PLC_SUPPORT_CCO_ROLE            0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifndef IOT_FLASH_BUILD
 | ||
|  | #define IOT_FLASH_BUILD                 0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #if PLC_SUPPORT_CCO_ROLE
 | ||
|  | #define PLC_SUPPORT_STA_ROLE            0
 | ||
|  | #else
 | ||
|  | #define PLC_SUPPORT_STA_ROLE            1
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #if PLC_SUPPORT_CCO_ROLE
 | ||
|  | 
 | ||
|  | #if RUN_IN_PSRAM
 | ||
|  | /* #define number of nodes supported in the PLC network must be (n * 8 - 1) */ | ||
|  | #define PLC_NETWORK_SCALE               1015
 | ||
|  | #else /* RUN_IN_PSRAM */
 | ||
|  | /* #define number of nodes supported in the PLC network must be (n * 8 - 1) */ | ||
|  | #define PLC_NETWORK_SCALE               207
 | ||
|  | #endif /* RUN_IN_PSRAM */
 | ||
|  | 
 | ||
|  | #else /* PLC_SUPPORT_CCO_ROLE */
 | ||
|  | 
 | ||
|  | #if ((TARGET_VERSION == TARGET_KUNLUN3) && !SUPPORT_SOUTHERN_POWER_GRID)
 | ||
|  | 
 | ||
|  | /* #define number of nodes supported in the PLC network must be (n * 8 - 1) */ | ||
|  | #define PLC_NETWORK_SCALE               2039
 | ||
|  | 
 | ||
|  | #else /* (TARGET_VERSION == TARGET_KUNLUN3) */
 | ||
|  | 
 | ||
|  | /* #define number of nodes supported in the PLC network must be (n * 8 - 1) */ | ||
|  | #define PLC_NETWORK_SCALE               1015
 | ||
|  | 
 | ||
|  | #endif /* (TARGET_VERSION == TARGET_KUNLUN3) */
 | ||
|  | 
 | ||
|  | #endif /* PLC_SUPPORT_CCO_ROLE */
 | ||
|  | 
 | ||
|  | #endif /* (HW_PLATFORM == HW_PLATFORM_SIMU) */
 | ||
|  | 
 | ||
|  | /* PLC configuration end ******************************************************/ | ||
|  | 
 | ||
|  | /* TASK priority configuration start ******************************************/ | ||
|  | 
 | ||
|  | #define IOT_PING_TASK_PRIO              7
 | ||
|  | 
 | ||
|  | #define IOT_SMART_GRID_TASK_PRIO        7
 | ||
|  | 
 | ||
|  | #define IOT_BRM_TASK_PRIO               7
 | ||
|  | 
 | ||
|  | #define IOT_PLCUART_TASK_PRIO           7
 | ||
|  | 
 | ||
|  | #define IOT_GRAPP_PROTO_TASK_PRIO       6
 | ||
|  | 
 | ||
|  | #define IOT_DEV_TEST_TASK_PRIO          7
 | ||
|  | 
 | ||
|  | #define IOT_CKB_TASK_PRIO               7
 | ||
|  | 
 | ||
|  | #define IOT_TPUT_TASK_PRIO              6
 | ||
|  | 
 | ||
|  | #define IOT_PPM_DETECT_TASK_PRIO        7
 | ||
|  | 
 | ||
|  | /* TASK priority configuration end ********************************************/ | ||
|  | 
 | ||
|  | /* DEBUG configuration start **************************************************/ | ||
|  | 
 | ||
|  | #ifndef IOT_ASSERT_DEBUG
 | ||
|  | #if (PLC_SUPPORT_CCO_ROLE || (IOT_FLASH_SIZE > 1))
 | ||
|  | #define IOT_ASSERT_DEBUG                1
 | ||
|  | #else
 | ||
|  | #define IOT_ASSERT_DEBUG                0
 | ||
|  | #endif
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #define IOT_PKT_DEBUG                   0
 | ||
|  | 
 | ||
|  | #if (TARGET_VERSION == TARGET_KUNLUN3)
 | ||
|  | #define IOT_PKT_FREE_CALLBACK_ENABLE    1
 | ||
|  | #else
 | ||
|  | #define IOT_PKT_FREE_CALLBACK_ENABLE    (PLC_SUPPORT_CCO_ROLE && RUN_IN_PSRAM)
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #define SMART_GRID_DEBUG                1
 | ||
|  | 
 | ||
|  | #if PLC_SUPPORT_CCO_ROLE
 | ||
|  | #define IOT_EXCEPTION_DEBUG             0
 | ||
|  | #else
 | ||
|  | #define IOT_EXCEPTION_DEBUG             1
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #define IOT_FULL_DUMP_DEBUG             0
 | ||
|  | 
 | ||
|  | /* debug log output settings */ | ||
|  | #if (HW_PLATFORM == HW_PLATFORM_SIMU)
 | ||
|  | 
 | ||
|  | #define IOT_PRINTF_DEBUG                1
 | ||
|  | #define UART_DEBUG                      0
 | ||
|  | 
 | ||
|  | /* dbglog debug */ | ||
|  | #define IOT_DBGLOG_DEBUG_DISABLE        0
 | ||
|  | 
 | ||
|  | #elif (HW_PLATFORM == HW_PLATFORM_FPGA) /* HW_PLATFORM == HW_PLATFORM_SIMU */
 | ||
|  | 
 | ||
|  | #define IOT_PRINTF_DEBUG                1
 | ||
|  | #define UART_DEBUG                      0
 | ||
|  | 
 | ||
|  | /* dbglog debug */ | ||
|  | #define IOT_DBGLOG_DEBUG_DISABLE        0
 | ||
|  | 
 | ||
|  | #else /* HW_PLATFORM == HW_PLATFORM_SILICON */
 | ||
|  | 
 | ||
|  | #if IOT_FLASH_BUILD
 | ||
|  | #define IOT_PRINTF_DEBUG                1
 | ||
|  | #else /* IOT_FLASH_BUILD */
 | ||
|  | #define IOT_PRINTF_DEBUG                1
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #define UART_DEBUG                      0
 | ||
|  | 
 | ||
|  | /* dbglog debug */ | ||
|  | #if (PLC_SUPPORT_CCO_ROLE)
 | ||
|  | 
 | ||
|  | #if (IOT_PRINTF_DEBUG && (IOT_FLASH_SIZE < 2))
 | ||
|  | #define IOT_DBGLOG_DEBUG_DISABLE        1
 | ||
|  | #else /* IOT_PRINTF_DEBUG */
 | ||
|  | #define IOT_DBGLOG_DEBUG_DISABLE        0
 | ||
|  | #endif /* IOT_PRINTF_DEBUG */
 | ||
|  | 
 | ||
|  | #else /* PLC_SUPPORT_CCO_ROLE */
 | ||
|  | 
 | ||
|  | #if (IOT_PRINTF_DEBUG && (IOT_FLASH_SIZE <= 2) && (!IOT_SMART_CONFIG))
 | ||
|  | #define IOT_DBGLOG_DEBUG_DISABLE        1
 | ||
|  | #else /* IOT_PRINTF_DEBUG */
 | ||
|  | #define IOT_DBGLOG_DEBUG_DISABLE        0
 | ||
|  | #endif /* IOT_PRINTF_DEBUG */
 | ||
|  | 
 | ||
|  | #endif /* PLC_SUPPORT_CCO_ROLE */
 | ||
|  | 
 | ||
|  | /* interrupt err trigger cnt write to flash */ | ||
|  | #define IOT_INTERRUPT_ERR_TRIGGER_WRITE_FLASH_ENABLE   1
 | ||
|  | /* 10min */ | ||
|  | #define IOT_INTERRUPT_ERR_TRIGGER_WRITE_FLASH_PER   120
 | ||
|  | /* 1 hours */ | ||
|  | #define IOT_INTERRUPT_ERR_TRIGGER_WRITE_FLASH_FIXED_TIME   \
 | ||
|  |     (IOT_INTERRUPT_ERR_TRIGGER_WRITE_FLASH_PER * 6) | ||
|  | 
 | ||
|  | #define IOT_INTERRUPT_ERR_TRIGGER_CRASH   0
 | ||
|  | #endif /* HW_PLATFORM == HW_PLATFORM_SIMU */
 | ||
|  | 
 | ||
|  | /* DEBUG configuration end ****************************************************/ | ||
|  | 
 | ||
|  | /* APPLICAITON configuration start ********************************************/ | ||
|  | 
 | ||
|  | #if (HW_PLATFORM == HW_PLATFORM_SIMU)
 | ||
|  | 
 | ||
|  | #ifndef IOT_APP_SELECTION
 | ||
|  | #define IOT_APP_SELECTION               0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifndef IOT_SMART_CONFIG
 | ||
|  | #define IOT_SMART_CONFIG                0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #endif /* HW_PLATFORM == HW_PLATFORM_SIMU */
 | ||
|  | 
 | ||
|  | /* IOT_APP enum defination : */ | ||
|  | #define IOT_APP_DEF_0_SG                0   /* SG app */
 | ||
|  | #define IOT_APP_DEF_1_PING              1   /* Ping app. Not used now. */
 | ||
|  | #define IOT_APP_DEF_2_PLCUART           2   /* PLC-Uart app. Not used now. */
 | ||
|  | #define IOT_APP_DEF_3_DEMO              3   /* Demo app. */
 | ||
|  | #define IOT_APP_DEF_4_GE                4   /* GE app. */
 | ||
|  | #define IOT_APP_DEF_5_SG_EXT            5   /* sg extend app. */
 | ||
|  | #define IOT_APP_DEF_6_SG_METER          6   /* sg meter app. */
 | ||
|  | #define IOT_APP_DEF_7_LED_CTRL          7   /* led controller app. */
 | ||
|  | #define IOT_APP_DEF_8_GE_LWIP           8   /* GE App with lwip. */
 | ||
|  | #define IOT_APP_DEF_9_GE_EXT            9   /* GE extend app. */
 | ||
|  | #define IOT_APP_DEF_10_CP               10  /* Charge platform. */
 | ||
|  | #define IOT_APP_DEF_11_BRM              11   /* branch management app */
 | ||
|  | #define IOT_APP_DEF_12_DEMO_LWIP        12   /* demo lwip app */
 | ||
|  | #define IOT_APP_DEF_13_GE_MODBUS        13  /* ge modbus app */
 | ||
|  | #define IOT_APP_DEF_14_BSRM             14  /* branch signal recognition app */
 | ||
|  | #define IOT_APP_DEF_15_SNIFFER          15  /* sniffer app */
 | ||
|  | /* branch signal recognition cus app */ | ||
|  | #define IOT_APP_DEF_16_BSRM_CUS_APP     16
 | ||
|  | #define IOT_APP_DEF_17_CUST_DEMO_APP    17  /* cus_core demo app for kl3. */
 | ||
|  | #define IOT_APP_DEF_18_AT_APP           18  /* demo at app. */
 | ||
|  | #define IOT_APP_DEF_19_IOT_SNIFFER      19  /* iot sniffer app */
 | ||
|  | #define IOT_APP_DEF_20_SUNSOLAR         20  /* sunslolar app */
 | ||
|  | #define IOT_APP_DEF_21_HTBUS            21  /* htbus app */
 | ||
|  | #define IOT_APP_DEF_22_GE_MICRO_CCTT    22  /* micro cctt app */
 | ||
|  | #define IOT_APP_DEF_23_CUST_AT_APP      23  /* cus_core at app for kl3. */
 | ||
|  | #define IOT_APP_DEF_24_SILA_APP         24  /* sila app. */
 | ||
|  | #define IOT_APP_DEF_25_AT_MICRO_CCTT    25  /* at micro cctt app */
 | ||
|  | #define IOT_APP_DEF_26_IOT_DL645_APP    26  /* iot dl645 app. */
 | ||
|  | 
 | ||
|  | /* macro define for sta control type */ | ||
|  | #define IOT_STA_CONTROL_TYPE_STA        1
 | ||
|  | #define IOT_STA_CONTROL_TYPE_METER      2
 | ||
|  | #define IOT_STA_CONTROL_TYPE_AUTO       3
 | ||
|  | #define IOT_STA_CONTROL_TYPE_PPM_DETECT 4
 | ||
|  | 
 | ||
|  | #define IOT_STA_CONTROL_MODE            0
 | ||
|  | /* enable/disable dev_test app for cco testing  */ | ||
|  | #define IOT_DEV_TEST_CCO_MODE           0
 | ||
|  | 
 | ||
|  | /* enable/disable sg_ctrl app for control device */ | ||
|  | #define IOT_SG_CONTROLLER_ENABLE        0
 | ||
|  | #if (IOT_APP_SELECTION != IOT_APP_DEF_0_SG)
 | ||
|  | #define IOT_SMART_GRID_ENABLE           0
 | ||
|  | #elif (IOT_AI_ENABLE)
 | ||
|  | #define IOT_SMART_GRID_ENABLE           0
 | ||
|  | #else
 | ||
|  | #if (IOT_STA_CONTROL_MODE || IOT_SG_CONTROLLER_ENABLE)
 | ||
|  | #define IOT_SMART_GRID_ENABLE           0
 | ||
|  | #else
 | ||
|  | #define IOT_SMART_GRID_ENABLE           1
 | ||
|  | #endif
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /*Below Macro will define which IOT APP will run */ | ||
|  | #if (IOT_APP_SELECTION == IOT_APP_DEF_1_PING)
 | ||
|  | /* enable PING APP */ | ||
|  | #define IOT_PING_APP_ENABLE             1
 | ||
|  | #else
 | ||
|  | #define IOT_PING_APP_ENABLE             0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #if (IOT_APP_SELECTION == IOT_APP_DEF_2_PLCUART)
 | ||
|  | /* enable PLCUART APP */ | ||
|  | #define IOT_PLCUART_APP_ENABLE          1
 | ||
|  | #else
 | ||
|  | #define IOT_PLCUART_APP_ENABLE          0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #if (IOT_APP_SELECTION == IOT_APP_DEF_17_CUST_DEMO_APP)
 | ||
|  | /* enable CUSTOMER APP */ | ||
|  | #define IOT_CUST_DEMO_APP_ENABLE        1
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #if (IOT_APP_SELECTION == IOT_APP_DEF_23_CUST_AT_APP)
 | ||
|  | /* enable CUSTOMER APP */ | ||
|  | #define IOT_CUST_AT_APP_ENABLE          1
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #if (IOT_APP_SELECTION == IOT_APP_DEF_3_DEMO)
 | ||
|  | /* enable DEMO APP */ | ||
|  | #define IOT_DEMO_APP_ENABLE             1
 | ||
|  | /* control the tx/rx led by app. */ | ||
|  | #define IOT_APPCTRL_LED                 0
 | ||
|  | #define IOT_DEMO_APP_ETH_SUPPORT        0
 | ||
|  | /* enable udp server on DEMO APP */ | ||
|  | #define IOT_DEMO_APP_UDP_SERVER_ENABLE  0
 | ||
|  | #define IOT_DEMO_APP_TCP_SERVER_ENABLE  0
 | ||
|  | #define IOT_ENABLE_ADD_PADDING_INFO     0
 | ||
|  | #elif (IOT_APP_SELECTION == IOT_APP_DEF_12_DEMO_LWIP)
 | ||
|  | /* enable DEMO APP */ | ||
|  | #define IOT_DEMO_APP_ENABLE             1
 | ||
|  | /* control the tx/rx led by app. */ | ||
|  | #define IOT_APPCTRL_LED                 1
 | ||
|  | #define IOT_DEMO_APP_ETH_SUPPORT        0
 | ||
|  | /* enable udp server on DEMO APP */ | ||
|  | #define IOT_DEMO_APP_UDP_SERVER_ENABLE  0
 | ||
|  | #define IOT_DEMO_APP_TCP_SERVER_ENABLE  0
 | ||
|  | /* enable lwip */ | ||
|  | #define IOT_LWIP_SUPPORT                1
 | ||
|  | #elif (IOT_APP_SELECTION == IOT_APP_DEF_18_AT_APP)
 | ||
|  | /* enable AT APP */ | ||
|  | #define IOT_AT_APP_ENABLE               1
 | ||
|  | /* control the tx/rx led by app. */ | ||
|  | #define IOT_APPCTRL_LED                 0
 | ||
|  | #define IOT_ENABLE_ADD_PADDING_INFO     0
 | ||
|  | #define IOT_AT_ONLY                     1
 | ||
|  | #elif (IOT_APP_SELECTION == IOT_APP_DEF_24_SILA_APP)
 | ||
|  | /* enable AT APP */ | ||
|  | #define IOT_AT_APP_ENABLE               1
 | ||
|  | /* control the tx/rx led by app. */ | ||
|  | #define IOT_APPCTRL_LED                 0
 | ||
|  | #define IOT_ENABLE_ADD_PADDING_INFO     0
 | ||
|  | #if PLC_SUPPORT_STA_ROLE
 | ||
|  | /* sila dev module enable. */ | ||
|  | #define IOT_SILA_DEV_ENABLE             1
 | ||
|  | #endif
 | ||
|  | #elif (IOT_APP_SELECTION == IOT_APP_DEF_25_AT_MICRO_CCTT) // at micro cctt start
 | ||
|  | /* enable micro cctt app */ | ||
|  | #define IOT_MICRO_CCTT_TASK_ENABLE      1
 | ||
|  | /* enable at app */ | ||
|  | #define IOT_AT_APP_ENABLE               1
 | ||
|  | /* at only */ | ||
|  | #define IOT_AT_ONLY                     1
 | ||
|  | #define IOT_ENABLE_ADD_PADDING_INFO     0
 | ||
|  | /* disable io operation for at */ | ||
|  | #define APP_IO_OPERATION_ENABLE         0
 | ||
|  | /* enable lwip */ | ||
|  | #define IOT_LWIP_SUPPORT                1
 | ||
|  | /* enable expanded IO functions */ | ||
|  | #define IOT_EXT_GPIO_ENABLE             1
 | ||
|  | #define IOT_EXT_GPIO_MCP23017_ENABLE    1
 | ||
|  | #define IOT_EXT_GPIO_TCA9534A_ENABLE    1
 | ||
|  | /* enable external rtc support */ | ||
|  | #define IOT_RTC_EXT_ENABLE              1
 | ||
|  | /* enable external temperature/humidity support */ | ||
|  | #define IOT_HTM_EXT_CHT8310_ENABLE      1
 | ||
|  | /* enable app to access cli interface */ | ||
|  | #define IOT_CLI_INF_MODE                2
 | ||
|  | // micro cctt app end
 | ||
|  | #else
 | ||
|  | #define IOT_DEMO_APP_ENABLE             0
 | ||
|  | #define IOT_APPCTRL_LED                 0
 | ||
|  | #define IOT_DEMO_APP_ETH_SUPPORT        0
 | ||
|  | #define IOT_DEMO_APP_UDP_SERVER_ENABLE  0
 | ||
|  | #define IOT_DEMO_APP_TCP_SERVER_ENABLE  0
 | ||
|  | #define IOT_AT_APP_ENABLE               0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #if (IOT_APP_SELECTION == IOT_APP_DEF_4_GE)
 | ||
|  | /* enable GR APP */ | ||
|  | #define IOT_GR_APP_ENABLE               1
 | ||
|  | /* If to build grapp as libapp.a for ge_ext_sdk */ | ||
|  | #define IOT_GE_EXT_SDK_ENABLE           0
 | ||
|  | #elif (IOT_APP_SELECTION == IOT_APP_DEF_7_LED_CTRL)
 | ||
|  | /* enable led_ctrl task app */ | ||
|  | #define IOT_LED_CTRL_APP_ENABLE         1
 | ||
|  | /* enable GR APP */ | ||
|  | #define IOT_GR_APP_ENABLE               1
 | ||
|  | #elif (IOT_APP_SELECTION == IOT_APP_DEF_8_GE_LWIP)
 | ||
|  | /* enable ge extern task app */ | ||
|  | #define IOT_GE_EXT_TASK_ENABLE          1
 | ||
|  | /* enable GR APP */ | ||
|  | #define IOT_GR_APP_ENABLE               1
 | ||
|  | /* enable lwip */ | ||
|  | #define IOT_LWIP_SUPPORT                1
 | ||
|  | /* If to build grapp as libapp.a for ge_ext_sdk */ | ||
|  | #define IOT_GE_EXT_SDK_ENABLE           1
 | ||
|  | #elif (IOT_APP_SELECTION == IOT_APP_DEF_9_GE_EXT)
 | ||
|  | /* enable ge extern task app */ | ||
|  | #define IOT_GE_EXT_TASK_ENABLE          1
 | ||
|  | /* enable GR APP */ | ||
|  | #define IOT_GR_APP_ENABLE               1
 | ||
|  | /* If to build grapp as libapp.a for ge_ext_sdk */ | ||
|  | #define IOT_GE_EXT_SDK_ENABLE           1
 | ||
|  | #elif (IOT_APP_SELECTION == IOT_APP_DEF_10_CP)
 | ||
|  | /* enable chargepile extern task app */ | ||
|  | #define IOT_CP_TASK_ENABLE              1
 | ||
|  | /* enable GR APP */ | ||
|  | #define IOT_GR_APP_ENABLE               1
 | ||
|  | /* If to build grapp as libapp.a for ge_ext_sdk */ | ||
|  | #define IOT_GE_EXT_SDK_ENABLE           1
 | ||
|  | #elif (IOT_APP_SELECTION == IOT_APP_DEF_13_GE_MODBUS)
 | ||
|  | /* enable ge extern task app */ | ||
|  | #define IOT_GE_MODBUS_TASK_ENABLE       1
 | ||
|  | #define IOT_GE_EXT_TASK_ENABLE          0
 | ||
|  | /* enable GR APP */ | ||
|  | #define IOT_GR_APP_ENABLE               1
 | ||
|  | /* If to build grapp as libapp.a for ge_ext_sdk */ | ||
|  | #define IOT_GE_EXT_SDK_ENABLE           1
 | ||
|  | #elif (IOT_APP_SELECTION == IOT_APP_DEF_22_GE_MICRO_CCTT) // micro cctt app start
 | ||
|  | /* enable micro cctt app */ | ||
|  | #define IOT_MICRO_CCTT_TASK_ENABLE      1
 | ||
|  | /* enable GR APP */ | ||
|  | #define IOT_GR_APP_ENABLE               1
 | ||
|  | /* enable lwip */ | ||
|  | #define IOT_LWIP_SUPPORT                1
 | ||
|  | /* enable expanded IO functions */ | ||
|  | #define IOT_EXT_GPIO_ENABLE             1
 | ||
|  | #define IOT_EXT_GPIO_MCP23017_ENABLE    1
 | ||
|  | #define IOT_EXT_GPIO_TCA9534A_ENABLE    1
 | ||
|  | /* enable external rtc support */ | ||
|  | #define IOT_RTC_EXT_ENABLE              1
 | ||
|  | /* enable external temperature/humidity support */ | ||
|  | #define IOT_HTM_EXT_CHT8310_ENABLE      1
 | ||
|  | /* enable app to access cli interface */ | ||
|  | #define IOT_CLI_INF_MODE                2
 | ||
|  | // micro cctt app end
 | ||
|  | #else
 | ||
|  | /* Disable IOT featuers. */ | ||
|  | #define IOT_GR_APP_ENABLE               0
 | ||
|  | #define IOT_LED_CTRL_APP_ENABLE         0
 | ||
|  | #define IOT_GE_EXT_TASK_ENABLE          0
 | ||
|  | #define IOT_GE_MODBUS_TASK_ENABLE       0
 | ||
|  | #define IOT_CP_TASK_ENABLE              0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifndef IOT_GE_EXT_SDK_ENABLE
 | ||
|  | #define IOT_GE_EXT_SDK_ENABLE           0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /* define app send msdu can add pad info or not */ | ||
|  | #ifndef IOT_ENABLE_ADD_PADDING_INFO
 | ||
|  | #define IOT_ENABLE_ADD_PADDING_INFO     0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #if (IOT_APP_SELECTION == IOT_APP_DEF_5_SG_EXT\
 | ||
|  |     || IOT_APP_SELECTION == IOT_APP_DEF_6_SG_METER) | ||
|  | /* sg-ext & sg-meter app need sg app. */ | ||
|  | #ifdef IOT_SMART_GRID_ENABLE
 | ||
|  | #undef IOT_SMART_GRID_ENABLE
 | ||
|  | #endif
 | ||
|  | #define IOT_SMART_GRID_ENABLE           1
 | ||
|  | #define IOT_SG_EXT_SDK_ENABLE           1
 | ||
|  | #else
 | ||
|  | #define IOT_SG_EXT_SDK_ENABLE           0
 | ||
|  | #endif
 | ||
|  | #if (IOT_SG_CONTROLLER_ENABLE && (TARGET_VERSION != TARGET_KUNLUN3))
 | ||
|  | /* enable expanded IO functions */ | ||
|  | #define IOT_EXT_GPIO_ENABLE             1
 | ||
|  | #define IOT_EXT_GPIO_MCP23017_ENABLE    1
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #if (IOT_APP_SELECTION == IOT_APP_DEF_11_BRM)
 | ||
|  | #ifdef IOT_SMART_GRID_ENABLE
 | ||
|  | #undef IOT_SMART_GRID_ENABLE
 | ||
|  | #endif
 | ||
|  | #ifdef IOT_SG_EXT_SDK_ENABLE
 | ||
|  | #undef IOT_SG_EXT_SDK_ENABLE
 | ||
|  | #endif
 | ||
|  | #define IOT_SMART_GRID_ENABLE           1
 | ||
|  | #define IOT_SG_EXT_SDK_ENABLE           1
 | ||
|  | /* enable/disable brm app */ | ||
|  | #define IOT_BRM_ENABLE                  1
 | ||
|  | /* enable extend io device */ | ||
|  | #define IOT_EXT_GPIO_ENABLE             1
 | ||
|  | #define IOT_EXT_GPIO_TPT29555_ENABLE    1
 | ||
|  | #define IOT_BRM_DEVADP_ENABLE           0
 | ||
|  | #define IOT_BRM_PPM_PING_ENABLE         1
 | ||
|  | #else
 | ||
|  | #define IOT_BRM_ENABLE                  0
 | ||
|  | #define IOT_BRM_DEVADP_ENABLE           0
 | ||
|  | #define IOT_BRM_PPM_PING_ENABLE         0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /* bsrm mode */ | ||
|  | #define IOT_BSRM_MODE_DEFAULT           1
 | ||
|  | #define IOT_BSRM_MODE_CUS_APP           2
 | ||
|  | 
 | ||
|  | #if (IOT_APP_SELECTION == IOT_APP_DEF_14_BSRM)
 | ||
|  | #ifdef IOT_BSRM_MODE
 | ||
|  | #undef IOT_BSRM_MODE
 | ||
|  | #endif /* IOT_BSRM_MODE */
 | ||
|  | #define IOT_BSRM_MODE                   IOT_BSRM_MODE_DEFAULT
 | ||
|  | #endif /* (IOT_APP_SELECTION == IOT_APP_DEF_14_BSRM) */
 | ||
|  | 
 | ||
|  | #if (IOT_APP_SELECTION == IOT_APP_DEF_16_BSRM_CUS_APP)
 | ||
|  | #ifdef IOT_BSRM_MODE
 | ||
|  | #undef IOT_BSRM_MODE
 | ||
|  | #endif /* IOT_BSRM_MODE */
 | ||
|  | #define IOT_BSRM_MODE                   IOT_BSRM_MODE_CUS_APP
 | ||
|  | #endif /* (IOT_APP_SELECTION == IOT_APP_DEF_16_BSRM_CUS_APP) */
 | ||
|  | 
 | ||
|  | #ifdef IOT_BSRM_MODE
 | ||
|  | #ifdef IOT_SMART_GRID_ENABLE
 | ||
|  | #undef IOT_SMART_GRID_ENABLE
 | ||
|  | #endif
 | ||
|  | #ifdef IOT_SG_EXT_SDK_ENABLE
 | ||
|  | #undef IOT_SG_EXT_SDK_ENABLE
 | ||
|  | #endif
 | ||
|  | #if (IOT_BSRM_MODE == IOT_BSRM_MODE_DEFAULT)
 | ||
|  | #define IOT_SMART_GRID_ENABLE           0
 | ||
|  | #define IOT_SG_EXT_SDK_ENABLE           0
 | ||
|  | #elif (IOT_BSRM_MODE == IOT_BSRM_MODE_CUS_APP)
 | ||
|  | #define IOT_SMART_GRID_ENABLE           1
 | ||
|  | #define IOT_SG_EXT_SDK_ENABLE           1
 | ||
|  | #endif /* (IOT_BSRM_MODE == IOT_BSRM_MODE_DEFAULT) */
 | ||
|  | #else /* IOT_BSRM_MODE */
 | ||
|  | #define IOT_BSRM_MODE                   0
 | ||
|  | #endif /* IOT_BSRM_MODE */
 | ||
|  | 
 | ||
|  | #if (IOT_APP_SELECTION == IOT_APP_DEF_20_SUNSOLAR)
 | ||
|  | #ifdef IOT_SMART_GRID_ENABLE
 | ||
|  | #undef IOT_SMART_GRID_ENABLE
 | ||
|  | #endif
 | ||
|  | #ifdef IOT_SG_EXT_SDK_ENABLE
 | ||
|  | #undef IOT_SG_EXT_SDK_ENABLE
 | ||
|  | #endif
 | ||
|  | #define IOT_SMART_GRID_ENABLE           1
 | ||
|  | #define IOT_SG_EXT_SDK_ENABLE           1
 | ||
|  | /* enable sunsolar APP */ | ||
|  | #define IOT_SUNSOLAR_APP_ENABLE         1
 | ||
|  | #else
 | ||
|  | #define IOT_SUNSOLAR_APP_ENABLE         0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #if (IOT_APP_SELECTION == IOT_APP_DEF_21_HTBUS)
 | ||
|  | 
 | ||
|  | #ifdef IOT_SMART_GRID_ENABLE
 | ||
|  | #undef IOT_SMART_GRID_ENABLE
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifdef PLC_NETWORK_SCALE
 | ||
|  | #undef PLC_NETWORK_SCALE
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #define IOT_SMART_GRID_ENABLE           0
 | ||
|  | #define IOT_HTBUS_EN                    1
 | ||
|  | /* define the supported network scale for htbus */ | ||
|  | #define PLC_NETWORK_SCALE               65
 | ||
|  | 
 | ||
|  | #else /* IOT_APP_SELECTION == IOT_APP_DEF_21_HTBUS */
 | ||
|  | 
 | ||
|  | #define IOT_HTBUS_EN                    0
 | ||
|  | 
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /*app tput test*/ | ||
|  | #define IOT_TPUT_APP_ENABLE             0
 | ||
|  | 
 | ||
|  | #define IOT_ENERGE_METER_ENABLE         0
 | ||
|  | 
 | ||
|  | #define IOT_PLC_PHY_TX_PWR_REDUCE       0
 | ||
|  | 
 | ||
|  | #define IOT_OS_MALLOC_DEBUG             0
 | ||
|  | 
 | ||
|  | /* For external uart port definations. */ | ||
|  | #ifndef IOT_EXTERNAL_UART_PORT_ENABLE
 | ||
|  | #define IOT_EXTERNAL_UART_PORT_ENABLE   0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /* For rom patch definations. */ | ||
|  | #ifndef IOT_ROM_PATCH_ENABLE
 | ||
|  | #define IOT_ROM_PATCH_ENABLE   0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /* For virtual channel definations. */ | ||
|  | #ifndef INCLUDE_VIRTUAL_CHANNEL
 | ||
|  | #define INCLUDE_VIRTUAL_CHANNEL         0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /* For virtual uart port definations. */ | ||
|  | #if INCLUDE_VIRTUAL_CHANNEL
 | ||
|  | #define IOT_VRITUAL_UART_PORT_ENABLE    1
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /* for phy tx long preamble */ | ||
|  | #ifndef IOT_TX_LONG_PREAMBLE_ENABLE
 | ||
|  | #define IOT_TX_LONG_PREAMBLE_ENABLE     0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /* APPLICAITON configuration end **********************************************/ | ||
|  | 
 | ||
|  | /* TCPIP configuration start **************************************************/ | ||
|  | 
 | ||
|  | #ifndef IOT_LWIP_SUPPORT
 | ||
|  | 
 | ||
|  | #if (HW_PLATFORM == HW_PLATFORM_SIMU)
 | ||
|  | #define IOT_LWIP_SUPPORT                    0
 | ||
|  | #else
 | ||
|  | #if (PLC_SUPPORT_CCO_ROLE || (IOT_STA_CONTROL_MODE == IOT_STA_CONTROL_TYPE_STA))
 | ||
|  | #define IOT_LWIP_SUPPORT                    0
 | ||
|  | #else
 | ||
|  | #define IOT_LWIP_SUPPORT                    0
 | ||
|  | #endif
 | ||
|  | #endif /* #if (HW_PLATFORM == HW_PLATFORM_SIMU) */
 | ||
|  | 
 | ||
|  | #endif /* #ifndef IOT_LWIP_SUPPORT */
 | ||
|  | 
 | ||
|  | #if IOT_LWIP_SUPPORT
 | ||
|  | 
 | ||
|  | /* comment:
 | ||
|  | *   if you want to set uart link network bridge into an ethernet network for L2 | ||
|  | * forward mode. you need to set the macro 'IOT_LWIP_NETIF_PLC_SUPPORT' to 0 and | ||
|  | * 'IOT_LWIP_NETIF_UART_SUPPORT' to 1 , it will make the data from eth is | ||
|  | * forwarded unconditionally to uart. | ||
|  | *   if you want to use the PLC link network, please set the macro | ||
|  | * 'IOT_LWIP_NETIF_PLC_SUPPORT' to 1. | ||
|  | */ | ||
|  | 
 | ||
|  | /* set to 1 to enable PLC link network interface support */ | ||
|  | #define IOT_LWIP_NETIF_PLC_SUPPORT          1
 | ||
|  | 
 | ||
|  | /* set to 1 to enable ethernet link network interface support */ | ||
|  | #define IOT_LWIP_NETIF_ETH_SUPPORT          0
 | ||
|  | 
 | ||
|  | /* set to 1 to enable uart link network interface support */ | ||
|  | #define IOT_LWIP_NETIF_UART_SUPPORT         1
 | ||
|  | 
 | ||
|  | /* set to 1 to enable MSVC PCAP network interface support */ | ||
|  | #define IOT_LWIP_NETIF_MSVC_PCAP_SUPPORT    0
 | ||
|  | 
 | ||
|  | #if IOT_LWIP_NETIF_PLC_SUPPORT
 | ||
|  | 
 | ||
|  | /* set to 1 if PLC link network interface should use ethernet header. this mode
 | ||
|  |  * is uaually used in case ARP is required and PLC link network is bridged into | ||
|  |  * an ethernet network for L2 forward mode. | ||
|  |  * set to 0 if PLC link network interface is bridged into an ethernet network | ||
|  |  * for L3 forward mode. in this case, ethernet header won'be used. and DHCP/ARP | ||
|  |  * is not supported. mac address and ip address are mapped by TEI in plc link | ||
|  |  * network locally. | ||
|  |  */ | ||
|  | #define IOT_LWIP_NETIF_PLC_ETH_SUPPORT      1
 | ||
|  | 
 | ||
|  | /* set to 1 to enable DHCP client support */ | ||
|  | #define IOT_LWIP_NETIF_PLC_DHCP_SUPPORT     0
 | ||
|  | 
 | ||
|  | /* set to 1 to bridge uart link into plc network */ | ||
|  | #define IOT_LWIP_NETIF_PLC_UART_SUPPORT     IOT_LWIP_NETIF_UART_SUPPORT
 | ||
|  | 
 | ||
|  | /* set to 1 to bridge plc link into eth network */ | ||
|  | #if PLC_SUPPORT_CCO_ROLE
 | ||
|  | #define IOT_LWIP_NETIF_PLC_TO_ETH_SUPPORT   1
 | ||
|  | #else
 | ||
|  | #define IOT_LWIP_NETIF_PLC_TO_ETH_SUPPORT   0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #endif /* IOT_LWIP_NETIF_PLC_SUPPORT */
 | ||
|  | 
 | ||
|  | /* enable emac driver */ | ||
|  | #define IOT_ETH_ENABLE                      \
 | ||
|  |     (IOT_LWIP_NETIF_PLC_TO_ETH_SUPPORT ||  \ | ||
|  |     IOT_LWIP_NETIF_PLC_SUPPORT || \ | ||
|  |     IOT_LWIP_NETIF_ETH_SUPPORT || \ | ||
|  |     IOT_LWIP_NETIF_UART_SUPPORT) | ||
|  | 
 | ||
|  | #if IOT_LWIP_NETIF_UART_SUPPORT
 | ||
|  | 
 | ||
|  | #if (PLC_SUPPORT_CCO_ROLE && (!IOT_LWIP_NETIF_PLC_SUPPORT))
 | ||
|  | 
 | ||
|  | /* set to 1 to enable uart and eth to forward data to each other at L2 forward mode. */ | ||
|  | #define IOT_LWIP_UART_OVER_ETH_SUPPORT      1
 | ||
|  | 
 | ||
|  | #define IOT_ETH_ENABLE                      1
 | ||
|  | 
 | ||
|  | #endif /* (PLC_SUPPORT_CCO_ROLE && (!IOT_LWIP_NETIF_PLC_SUPPORT)) */
 | ||
|  | 
 | ||
|  | #endif /* IOT_LWIP_NETIF_UART_SUPPORT */
 | ||
|  | #endif /* IOT_LWIP_SUPPORT */
 | ||
|  | 
 | ||
|  | #if IOT_DEMO_APP_ETH_SUPPORT && !IOT_LWIP_SUPPORT
 | ||
|  | #define IOT_ETH_ENABLE                      1
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #define IOT_CLI_INF_MODE_UART               0
 | ||
|  | #define IOT_CLI_INF_MODE_LWIP_SOCKET        1
 | ||
|  | #define IOT_CLI_INF_MODE_APP                2
 | ||
|  | 
 | ||
|  | #ifndef IOT_CLI_INF_MODE
 | ||
|  | #if IOT_LWIP_SUPPORT
 | ||
|  | #define IOT_CLI_INF_MODE                    IOT_CLI_INF_MODE_LWIP_SOCKET
 | ||
|  | #else
 | ||
|  | #define IOT_CLI_INF_MODE                    IOT_CLI_INF_MODE_UART
 | ||
|  | #endif
 | ||
|  | #endif /* #ifndef IOT_CLI_INF_MODE */
 | ||
|  | 
 | ||
|  | /* TCPIP configuration end ****************************************************/ | ||
|  | 
 | ||
|  | /* enable/disable expanded IO functions */ | ||
|  | #ifndef IOT_EXT_GPIO_ENABLE
 | ||
|  | #define IOT_EXT_GPIO_ENABLE                 0
 | ||
|  | #endif /* IOT_EXT_GPIO_ENABLE */
 | ||
|  | 
 | ||
|  | /* extern lora device. if enable, the lora device will be supported */ | ||
|  | #ifndef IOT_CUS_PORT_LORA_ENABLE
 | ||
|  | #define IOT_CUS_PORT_LORA_ENABLE            0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifndef IOT_CUS_PORT_BLE_ENABLE
 | ||
|  | #define IOT_CUS_PORT_BLE_ENABLE             0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifndef IOT_CUS_PORT_ZIGBEE_ENABLE
 | ||
|  | #define IOT_CUS_PORT_ZIGBEE_ENABLE          0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifndef IOT_CUS_PORT_ETH_ENABLE
 | ||
|  | #define IOT_CUS_PORT_ETH_ENABLE             0
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #define IOT_CUS_APP_MULTI_PORTS (IOT_CUS_PORT_RF_ENABLE  || \
 | ||
|  |     IOT_CUS_PORT_BLE_ENABLE || IOT_CUS_PORT_LORA_ENABLE || \ | ||
|  |     IOT_CUS_PORT_ZIGBEE_ENABLE || IOT_CUS_PORT_ETH_ENABLE) | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | } | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #endif /* PLC_CONFIG_API_H */
 |