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 */
 |