greedyhao 4 år sedan
förälder
incheckning
bce81ccd3e

+ 1 - 0
.gitignore

@@ -3,3 +3,4 @@
 /porting/examples/dummy/dummy
 /porting/examples/linux/nimble-linux
 /porting/examples/linux_blemesh/nimble-linux-blemesh
+.vscode

+ 2 - 5
SConscript

@@ -38,7 +38,6 @@ src += Split('''
     nimble/host/src/ble_hs.c
     nimble/host/src/ble_hs_cfg.c
     nimble/host/src/ble_hs_conn.c
-    nimble/host/src/ble_hs_dbg.c
     nimble/host/src/ble_hs_flow.c
     nimble/host/src/ble_hs_hci.c
     nimble/host/src/ble_hs_hci_cmd.c
@@ -49,6 +48,7 @@ src += Split('''
     nimble/host/src/ble_hs_mbuf.c
     nimble/host/src/ble_hs_mqueue.c
     nimble/host/src/ble_hs_misc.c
+    nimble/host/src/ble_hs_periodic_sync.c
     nimble/host/src/ble_hs_pvcy.c
     nimble/host/src/ble_hs_startup.c
     nimble/host/src/ble_hs_stop.c
@@ -68,7 +68,7 @@ src += Split('''
     nimble/host/src/ble_uuid.c
     nimble/host/services/ans/src/ble_svc_ans.c
     nimble/host/services/bas/src/ble_svc_bas.c
-    nimble/host/services/bleuart/src/ble_svc_uart.c
+    nimble/host/services/bleuart/src/bleuart.c
     nimble/host/services/gap/src/ble_svc_gap.c
     nimble/host/services/gatt/src/ble_svc_gatt.c
     nimble/host/services/ias/src/ble_svc_ias.c
@@ -76,7 +76,6 @@ src += Split('''
     nimble/host/services/tps/src/ble_svc_tps.c
     nimble/host/store/ram/src/ble_store_ram.c
     nimble/host/util/src/addr.c
-    nimble/src/ble_util.c
     ''')
 
 # Few utils and data structures copied from Mynewt
@@ -90,7 +89,6 @@ src += Split('''
     porting/nimble/src/os_mbuf.c
     porting/nimble/src/os_mempool.c
     porting/nimble/src/os_msys_init.c
-    porting/npl/rtthread/src/modlog.c
     porting/npl/rtthread/src/nimble_port_rtthread.c
     porting/npl/rtthread/src/npl_os_rtthread.c
     porting/npl/rtthread/src/npl_shell.c
@@ -136,7 +134,6 @@ if GetDepend(['PKG_NIMBLE_CTLR']):
     src += Split("""
         nimble/transport/ram/src/ble_hci_ram.c
         nimble/controller/src/ble_ll_sched.c
-        nimble/controller/src/ble_ll_xcvr.c
         nimble/controller/src/ble_ll_whitelist.c
         nimble/controller/src/ble_ll_ctrl.c
         nimble/controller/src/ble_ll_hci.c

+ 497 - 322
porting/nimble/include/syscfg/syscfg.h

@@ -30,48 +30,28 @@
 #define MYNEWT_VAL_TINYCRYPT_UECC_RNG_USE_TRNG (0)
 #endif
 
-#ifndef MYNEWT_VAL_BSP_NRF51
-#define MYNEWT_VAL_BSP_NRF51 (0)
+/*** @apache-mynewt-core/hw/hal */
+#ifndef MYNEWT_VAL_HAL_ENABLE_SOFTWARE_BREAKPOINTS
+#define MYNEWT_VAL_HAL_ENABLE_SOFTWARE_BREAKPOINTS (1)
 #endif
 
-#ifndef MYNEWT_VAL_BSP_NRF52
-#define MYNEWT_VAL_BSP_NRF52 (0)
+#ifndef MYNEWT_VAL_HAL_FLASH_VERIFY_BUF_SZ
+#define MYNEWT_VAL_HAL_FLASH_VERIFY_BUF_SZ (16)
 #endif
 
-#ifndef MYNEWT_VAL_MCU_NRF52840
-#define MYNEWT_VAL_MCU_NRF52840 (0)
+#ifndef MYNEWT_VAL_HAL_FLASH_VERIFY_ERASES
+#define MYNEWT_VAL_HAL_FLASH_VERIFY_ERASES (0)
 #endif
 
-/* hw/mcu/nordic/nrf52xxx */
-#ifndef MYNEWT_VAL_TIMER_0
-#define MYNEWT_VAL_TIMER_0 (0)
+#ifndef MYNEWT_VAL_HAL_FLASH_VERIFY_WRITES
+#define MYNEWT_VAL_HAL_FLASH_VERIFY_WRITES (0)
 #endif
 
-#ifndef MYNEWT_VAL_TIMER_1
-#define MYNEWT_VAL_TIMER_1 (0)
+#ifndef MYNEWT_VAL_HAL_SYSTEM_RESET_CB
+#define MYNEWT_VAL_HAL_SYSTEM_RESET_CB (0)
 #endif
 
-#ifndef MYNEWT_VAL_TIMER_2
-#define MYNEWT_VAL_TIMER_2 (0)
-#endif
-
-#ifndef MYNEWT_VAL_TIMER_3
-#define MYNEWT_VAL_TIMER_3 (0)
-#endif
-
-#ifndef MYNEWT_VAL_TIMER_4
-#define MYNEWT_VAL_TIMER_4 (0)
-#endif
-
-#ifndef MYNEWT_VAL_TIMER_5
-#define MYNEWT_VAL_TIMER_5 (1)
-#endif
-
-#ifndef MYNEWT_VAL_TRNG
-#define MYNEWT_VAL_TRNG (0)
-#endif
-
-/*** kernel/os */
+/*** @apache-mynewt-core/kernel/os */
 #ifndef MYNEWT_VAL_FLOAT_USER
 #define MYNEWT_VAL_FLOAT_USER (0)
 #endif
@@ -84,6 +64,10 @@
 #define MYNEWT_VAL_MSYS_1_BLOCK_SIZE (292)
 #endif
 
+#ifndef MYNEWT_VAL_MSYS_1_SANITY_MIN_COUNT
+#define MYNEWT_VAL_MSYS_1_SANITY_MIN_COUNT (0)
+#endif
+
 #ifndef MYNEWT_VAL_MSYS_2_BLOCK_COUNT
 #define MYNEWT_VAL_MSYS_2_BLOCK_COUNT (0)
 #endif
@@ -92,6 +76,18 @@
 #define MYNEWT_VAL_MSYS_2_BLOCK_SIZE (0)
 #endif
 
+#ifndef MYNEWT_VAL_MSYS_2_SANITY_MIN_COUNT
+#define MYNEWT_VAL_MSYS_2_SANITY_MIN_COUNT (0)
+#endif
+
+#ifndef MYNEWT_VAL_MSYS_SANITY_TIMEOUT
+#define MYNEWT_VAL_MSYS_SANITY_TIMEOUT (60000)
+#endif
+
+#ifndef MYNEWT_VAL_OS_ASSERT_CB
+#define MYNEWT_VAL_OS_ASSERT_CB (0)
+#endif
+
 #ifndef MYNEWT_VAL_OS_CLI
 #define MYNEWT_VAL_OS_CLI (0)
 #endif
@@ -105,10 +101,264 @@
 #endif
 
 #ifndef MYNEWT_VAL_OS_CPUTIME_TIMER_NUM
-#define MYNEWT_VAL_OS_CPUTIME_TIMER_NUM (5)
+#define MYNEWT_VAL_OS_CPUTIME_TIMER_NUM (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_CRASH_FILE_LINE
+#define MYNEWT_VAL_OS_CRASH_FILE_LINE (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_CRASH_LOG
+#define MYNEWT_VAL_OS_CRASH_LOG (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_CRASH_RESTORE_REGS
+#define MYNEWT_VAL_OS_CRASH_RESTORE_REGS (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_CRASH_STACKTRACE
+#define MYNEWT_VAL_OS_CRASH_STACKTRACE (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_CTX_SW_STACK_CHECK
+#define MYNEWT_VAL_OS_CTX_SW_STACK_CHECK (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_CTX_SW_STACK_GUARD
+#define MYNEWT_VAL_OS_CTX_SW_STACK_GUARD (4)
+#endif
+
+#ifndef MYNEWT_VAL_OS_DEBUG_MODE
+#define MYNEWT_VAL_OS_DEBUG_MODE (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_EVENTQ_DEBUG
+#define MYNEWT_VAL_OS_EVENTQ_DEBUG (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_EVENTQ_MONITOR
+#define MYNEWT_VAL_OS_EVENTQ_MONITOR (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_IDLE_TICKLESS_MS_MAX
+#define MYNEWT_VAL_OS_IDLE_TICKLESS_MS_MAX (600000)
+#endif
+
+#ifndef MYNEWT_VAL_OS_IDLE_TICKLESS_MS_MIN
+#define MYNEWT_VAL_OS_IDLE_TICKLESS_MS_MIN (100)
+#endif
+
+#ifndef MYNEWT_VAL_OS_MAIN_STACK_SIZE
+#define MYNEWT_VAL_OS_MAIN_STACK_SIZE (1024)
+#endif
+
+#ifndef MYNEWT_VAL_OS_MAIN_TASK_PRIO
+#define MYNEWT_VAL_OS_MAIN_TASK_PRIO (127)
+#endif
+
+#ifndef MYNEWT_VAL_OS_MAIN_TASK_SANITY_ITVL_MS
+#define MYNEWT_VAL_OS_MAIN_TASK_SANITY_ITVL_MS (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_MEMPOOL_CHECK
+#define MYNEWT_VAL_OS_MEMPOOL_CHECK (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_MEMPOOL_GUARD
+#define MYNEWT_VAL_OS_MEMPOOL_GUARD (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_MEMPOOL_POISON
+#define MYNEWT_VAL_OS_MEMPOOL_POISON (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_SCHEDULING
+#define MYNEWT_VAL_OS_SCHEDULING (1)
+#endif
+
+#ifndef MYNEWT_VAL_OS_SYSINIT_STAGE
+#define MYNEWT_VAL_OS_SYSINIT_STAGE (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_SYSVIEW
+#define MYNEWT_VAL_OS_SYSVIEW (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_SYSVIEW_TRACE_CALLOUT
+#define MYNEWT_VAL_OS_SYSVIEW_TRACE_CALLOUT (1)
+#endif
+
+#ifndef MYNEWT_VAL_OS_SYSVIEW_TRACE_EVENTQ
+#define MYNEWT_VAL_OS_SYSVIEW_TRACE_EVENTQ (1)
+#endif
+
+#ifndef MYNEWT_VAL_OS_SYSVIEW_TRACE_MBUF
+#define MYNEWT_VAL_OS_SYSVIEW_TRACE_MBUF (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_SYSVIEW_TRACE_MEMPOOL
+#define MYNEWT_VAL_OS_SYSVIEW_TRACE_MEMPOOL (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_SYSVIEW_TRACE_MUTEX
+#define MYNEWT_VAL_OS_SYSVIEW_TRACE_MUTEX (1)
+#endif
+
+#ifndef MYNEWT_VAL_OS_SYSVIEW_TRACE_SEM
+#define MYNEWT_VAL_OS_SYSVIEW_TRACE_SEM (1)
+#endif
+
+#ifndef MYNEWT_VAL_OS_TASK_RUN_TIME_CPUTIME
+#define MYNEWT_VAL_OS_TASK_RUN_TIME_CPUTIME (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_TIME_DEBUG
+#define MYNEWT_VAL_OS_TIME_DEBUG (0)
+#endif
+
+#ifndef MYNEWT_VAL_OS_WATCHDOG_MONITOR
+#define MYNEWT_VAL_OS_WATCHDOG_MONITOR (0)
+#endif
+
+#ifndef MYNEWT_VAL_SANITY_INTERVAL
+#define MYNEWT_VAL_SANITY_INTERVAL (15000)
+#endif
+
+#ifndef MYNEWT_VAL_WATCHDOG_INTERVAL
+#define MYNEWT_VAL_WATCHDOG_INTERVAL (30000)
+#endif
+
+/*** @apache-mynewt-core/sys/console/stub */
+#ifndef MYNEWT_VAL_CONSOLE_UART_BAUD
+#define MYNEWT_VAL_CONSOLE_UART_BAUD (115200)
 #endif
 
-/*** nimble */
+#ifndef MYNEWT_VAL_CONSOLE_UART_DEV
+#define MYNEWT_VAL_CONSOLE_UART_DEV ("uart0")
+#endif
+
+#ifndef MYNEWT_VAL_CONSOLE_UART_FLOW_CONTROL
+#define MYNEWT_VAL_CONSOLE_UART_FLOW_CONTROL (UART_FLOW_CTL_NONE)
+#endif
+
+/*** @apache-mynewt-core/sys/flash_map */
+#ifndef MYNEWT_VAL_FLASH_MAP_MAX_AREAS
+#define MYNEWT_VAL_FLASH_MAP_MAX_AREAS (10)
+#endif
+
+#ifndef MYNEWT_VAL_FLASH_MAP_SYSINIT_STAGE
+#define MYNEWT_VAL_FLASH_MAP_SYSINIT_STAGE (2)
+#endif
+
+/*** @apache-mynewt-core/sys/log/common */
+#ifndef MYNEWT_VAL_DFLT_LOG_LVL
+#define MYNEWT_VAL_DFLT_LOG_LVL (1)
+#endif
+
+#ifndef MYNEWT_VAL_DFLT_LOG_MOD
+#define MYNEWT_VAL_DFLT_LOG_MOD (0)
+#endif
+
+#ifndef MYNEWT_VAL_LOG_GLOBAL_IDX
+#define MYNEWT_VAL_LOG_GLOBAL_IDX (1)
+#endif
+
+/*** @apache-mynewt-core/sys/log/modlog */
+#ifndef MYNEWT_VAL_MODLOG_CONSOLE_DFLT
+#define MYNEWT_VAL_MODLOG_CONSOLE_DFLT (1)
+#endif
+
+#ifndef MYNEWT_VAL_MODLOG_LOG_MACROS
+#define MYNEWT_VAL_MODLOG_LOG_MACROS (0)
+#endif
+
+#ifndef MYNEWT_VAL_MODLOG_MAX_MAPPINGS
+#define MYNEWT_VAL_MODLOG_MAX_MAPPINGS (16)
+#endif
+
+#ifndef MYNEWT_VAL_MODLOG_MAX_PRINTF_LEN
+#define MYNEWT_VAL_MODLOG_MAX_PRINTF_LEN (128)
+#endif
+
+#ifndef MYNEWT_VAL_MODLOG_SYSINIT_STAGE
+#define MYNEWT_VAL_MODLOG_SYSINIT_STAGE (100)
+#endif
+
+/*** @apache-mynewt-core/sys/log/stub */
+#ifndef MYNEWT_VAL_LOG_CONSOLE
+#define MYNEWT_VAL_LOG_CONSOLE (1)
+#endif
+
+#ifndef MYNEWT_VAL_LOG_FCB
+#define MYNEWT_VAL_LOG_FCB (0)
+#endif
+
+#ifndef MYNEWT_VAL_LOG_FCB_SLOT1
+#define MYNEWT_VAL_LOG_FCB_SLOT1 (0)
+#endif
+
+#ifndef MYNEWT_VAL_LOG_LEVEL
+#define MYNEWT_VAL_LOG_LEVEL (255)
+#endif
+
+/*** @apache-mynewt-core/sys/mfg */
+#ifndef MYNEWT_VAL_MFG_LOG_LVL
+#define MYNEWT_VAL_MFG_LOG_LVL (15)
+#endif
+
+#ifndef MYNEWT_VAL_MFG_LOG_MODULE
+#define MYNEWT_VAL_MFG_LOG_MODULE (128)
+#endif
+
+#ifndef MYNEWT_VAL_MFG_MAX_MMRS
+#define MYNEWT_VAL_MFG_MAX_MMRS (2)
+#endif
+
+#ifndef MYNEWT_VAL_MFG_SYSINIT_STAGE
+#define MYNEWT_VAL_MFG_SYSINIT_STAGE (100)
+#endif
+
+/*** @apache-mynewt-core/sys/sys */
+#ifndef MYNEWT_VAL_DEBUG_PANIC_ENABLED
+#define MYNEWT_VAL_DEBUG_PANIC_ENABLED (1)
+#endif
+
+/*** @apache-mynewt-core/sys/sysdown */
+#ifndef MYNEWT_VAL_SYSDOWN_CONSTRAIN_DOWN
+#define MYNEWT_VAL_SYSDOWN_CONSTRAIN_DOWN (1)
+#endif
+
+#ifndef MYNEWT_VAL_SYSDOWN_PANIC_FILE_LINE
+#define MYNEWT_VAL_SYSDOWN_PANIC_FILE_LINE (0)
+#endif
+
+#ifndef MYNEWT_VAL_SYSDOWN_PANIC_MESSAGE
+#define MYNEWT_VAL_SYSDOWN_PANIC_MESSAGE (0)
+#endif
+
+#ifndef MYNEWT_VAL_SYSDOWN_TIMEOUT_MS
+#define MYNEWT_VAL_SYSDOWN_TIMEOUT_MS (10000)
+#endif
+
+/*** @apache-mynewt-core/sys/sysinit */
+#ifndef MYNEWT_VAL_SYSINIT_CONSTRAIN_INIT
+#define MYNEWT_VAL_SYSINIT_CONSTRAIN_INIT (1)
+#endif
+
+#ifndef MYNEWT_VAL_SYSINIT_PANIC_FILE_LINE
+#define MYNEWT_VAL_SYSINIT_PANIC_FILE_LINE (0)
+#endif
+
+#ifndef MYNEWT_VAL_SYSINIT_PANIC_MESSAGE
+#define MYNEWT_VAL_SYSINIT_PANIC_MESSAGE (0)
+#endif
+
+/*** @apache-mynewt-core/util/rwlock */
+#ifndef MYNEWT_VAL_RWLOCK_DEBUG
+#define MYNEWT_VAL_RWLOCK_DEBUG (0)
+#endif
+
+/*** @apache-mynewt-nimble/nimble */
 #ifndef MYNEWT_VAL_BLE_EXT_ADV
 #define MYNEWT_VAL_BLE_EXT_ADV (0)
 #endif
@@ -117,14 +367,34 @@
 #define MYNEWT_VAL_BLE_EXT_ADV_MAX_SIZE (31)
 #endif
 
+#ifndef MYNEWT_VAL_BLE_ISO
+#define MYNEWT_VAL_BLE_ISO (0)
+#endif
+
+#ifndef MYNEWT_VAL_BLE_ISO_TEST
+#define MYNEWT_VAL_BLE_ISO_TEST (0)
+#endif
+
 #ifndef MYNEWT_VAL_BLE_MAX_CONNECTIONS
 #define MYNEWT_VAL_BLE_MAX_CONNECTIONS (1)
 #endif
 
+#ifndef MYNEWT_VAL_BLE_MAX_PERIODIC_SYNCS
+#define MYNEWT_VAL_BLE_MAX_PERIODIC_SYNCS (1)
+#endif
+
 #ifndef MYNEWT_VAL_BLE_MULTI_ADV_INSTANCES
 #define MYNEWT_VAL_BLE_MULTI_ADV_INSTANCES (0)
 #endif
 
+#ifndef MYNEWT_VAL_BLE_PERIODIC_ADV
+#define MYNEWT_VAL_BLE_PERIODIC_ADV (0)
+#endif
+
+#ifndef MYNEWT_VAL_BLE_PERIODIC_ADV_SYNC_TRANSFER
+#define MYNEWT_VAL_BLE_PERIODIC_ADV_SYNC_TRANSFER (0)
+#endif
+
 #ifndef MYNEWT_VAL_BLE_ROLE_BROADCASTER
 #define MYNEWT_VAL_BLE_ROLE_BROADCASTER (1)
 #endif
@@ -141,13 +411,16 @@
 #define MYNEWT_VAL_BLE_ROLE_PERIPHERAL (1)
 #endif
 
+#ifndef MYNEWT_VAL_BLE_VERSION
+#define MYNEWT_VAL_BLE_VERSION (50)
+#endif
+
 #ifndef MYNEWT_VAL_BLE_WHITELIST
 #define MYNEWT_VAL_BLE_WHITELIST (1)
 #endif
 
-#ifdef PKG_NIMBLE_CTLR
+/*** @apache-mynewt-nimble/nimble/controller */
 
-/*** nimble/controller */
 #ifndef MYNEWT_VAL_BLE_DEVICE
 #define MYNEWT_VAL_BLE_DEVICE (1)
 #endif
@@ -236,6 +509,10 @@
 #define MYNEWT_VAL_BLE_LL_MFRG_ID (0xFFFF)
 #endif
 
+#ifndef MYNEWT_VAL_BLE_LL_NUM_COMP_PKT_ITVL_MS
+#define MYNEWT_VAL_BLE_LL_NUM_COMP_PKT_ITVL_MS (2000)
+#endif
+
 #ifndef MYNEWT_VAL_BLE_LL_NUM_SCAN_DUP_ADVS
 #define MYNEWT_VAL_BLE_LL_NUM_SCAN_DUP_ADVS (8)
 #endif
@@ -308,7 +585,8 @@
 #define MYNEWT_VAL_BLE_XTAL_SETTLE_TIME (1500)
 #endif
 
-/*** nimble/drivers/nrf52 */
+/*** @apache-mynewt-nimble/nimble/drivers/nrf52 */
+
 #ifndef MYNEWT_VAL_BLE_PHY_CODED_RX_IFS_EXTRA_MARGIN
 #define MYNEWT_VAL_BLE_PHY_CODED_RX_IFS_EXTRA_MARGIN (0)
 #endif
@@ -337,9 +615,7 @@
 #define MYNEWT_VAL_BLE_PHY_SYSVIEW (0)
 #endif
 
-#endif /* MYNEWT_VAL_BLE_CTLR */
-
-/*** nimble/host */
+/*** @apache-mynewt-nimble/nimble/host */
 #ifndef MYNEWT_VAL_BLE_ATT_PREFERRED_MTU
 #define MYNEWT_VAL_BLE_ATT_PREFERRED_MTU (256)
 #endif
@@ -520,6 +796,14 @@
 #define MYNEWT_VAL_BLE_HS_FLOW_CTRL_TX_ON_DISCONNECT (0)
 #endif
 
+#ifndef MYNEWT_VAL_BLE_HS_LOG_LVL
+#define MYNEWT_VAL_BLE_HS_LOG_LVL (1)
+#endif
+
+#ifndef MYNEWT_VAL_BLE_HS_LOG_MOD
+#define MYNEWT_VAL_BLE_HS_LOG_MOD (4)
+#endif
+
 #ifndef MYNEWT_VAL_BLE_HS_PHONY_HCI_ACKS
 #define MYNEWT_VAL_BLE_HS_PHONY_HCI_ACKS (0)
 #endif
@@ -532,6 +816,10 @@
 #define MYNEWT_VAL_BLE_HS_STOP_ON_SHUTDOWN (1)
 #endif
 
+#ifndef MYNEWT_VAL_BLE_HS_STOP_ON_SHUTDOWN_TIMEOUT
+#define MYNEWT_VAL_BLE_HS_STOP_ON_SHUTDOWN_TIMEOUT (2000)
+#endif
+
 #ifndef MYNEWT_VAL_BLE_HS_SYSINIT_STAGE
 #define MYNEWT_VAL_BLE_HS_SYSINIT_STAGE (200)
 #endif
@@ -540,8 +828,12 @@
 #define MYNEWT_VAL_BLE_L2CAP_COC_MAX_NUM (0)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_L2CAP_COC_MTU
-#define MYNEWT_VAL_BLE_L2CAP_COC_MTU (MYNEWT_VAL_MSYS_1_BLOCK_SIZE-8)
+#ifndef MYNEWT_VAL_BLE_L2CAP_COC_MPS
+#define MYNEWT_VAL_BLE_L2CAP_COC_MPS (MYNEWT_VAL_MSYS_1_BLOCK_SIZE-8)
+#endif
+
+#ifndef MYNEWT_VAL_BLE_L2CAP_ENHANCED_COC
+#define MYNEWT_VAL_BLE_L2CAP_ENHANCED_COC (0)
 #endif
 
 #ifndef MYNEWT_VAL_BLE_L2CAP_JOIN_RX_FRAGS
@@ -560,9 +852,8 @@
 #define MYNEWT_VAL_BLE_L2CAP_SIG_MAX_PROCS (1)
 #endif
 
-/* nimble-mesh */
 #ifndef MYNEWT_VAL_BLE_MESH
-#define MYNEWT_VAL_BLE_MESH (1)
+#define MYNEWT_VAL_BLE_MESH (0)
 #endif
 
 #ifndef MYNEWT_VAL_BLE_MONITOR_CONSOLE_BUFFER_SIZE
@@ -578,7 +869,7 @@
 #endif
 
 #ifndef MYNEWT_VAL_BLE_MONITOR_RTT_BUFFER_NAME
-#define MYNEWT_VAL_BLE_MONITOR_RTT_BUFFER_NAME ("monitor")
+#define MYNEWT_VAL_BLE_MONITOR_RTT_BUFFER_NAME ("btmonitor")
 #endif
 
 #ifndef MYNEWT_VAL_BLE_MONITOR_RTT_BUFFER_SIZE
@@ -637,9 +928,16 @@
 #define MYNEWT_VAL_BLE_SM_OUR_KEY_DIST (0)
 #endif
 
-/* nimble-host */
 #ifndef MYNEWT_VAL_BLE_SM_SC
-#define MYNEWT_VAL_BLE_SM_SC (1)
+#define MYNEWT_VAL_BLE_SM_SC (0)
+#endif
+
+#ifndef MYNEWT_VAL_BLE_SM_SC_ONLY
+#define MYNEWT_VAL_BLE_SM_SC_ONLY (0)
+#endif
+
+#ifndef MYNEWT_VAL_BLE_SM_SC_LVL
+#define MYNEWT_VAL_BLE_SM_SC_LVL (0)
 #endif
 
 #ifndef MYNEWT_VAL_BLE_SM_SC_DEBUG_KEYS
@@ -658,313 +956,110 @@
 #define MYNEWT_VAL_BLE_STORE_MAX_CCCDS (8)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_ADV_BUF_COUNT
-#define MYNEWT_VAL_BLE_MESH_ADV_BUF_COUNT (20)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_ADV_TASK_PRIO
-#define MYNEWT_VAL_BLE_MESH_ADV_TASK_PRIO (9)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_APP_KEY_COUNT
-#define MYNEWT_VAL_BLE_MESH_APP_KEY_COUNT (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_CFG_CLI
-#define MYNEWT_VAL_BLE_MESH_CFG_CLI (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_CRPL
-#define MYNEWT_VAL_BLE_MESH_CRPL (10)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEBUG
-#define MYNEWT_VAL_BLE_MESH_DEBUG (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEBUG_ACCESS
-#define MYNEWT_VAL_BLE_MESH_DEBUG_ACCESS (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEBUG_ADV
-#define MYNEWT_VAL_BLE_MESH_DEBUG_ADV (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEBUG_BEACON
-#define MYNEWT_VAL_BLE_MESH_DEBUG_BEACON (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEBUG_CRYPTO
-#define MYNEWT_VAL_BLE_MESH_DEBUG_CRYPTO (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEBUG_FRIEND
-#define MYNEWT_VAL_BLE_MESH_DEBUG_FRIEND (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEBUG_LOW_POWER
-#define MYNEWT_VAL_BLE_MESH_DEBUG_LOW_POWER (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEBUG_MODEL
-#define MYNEWT_VAL_BLE_MESH_DEBUG_MODEL (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEBUG_NET
-#define MYNEWT_VAL_BLE_MESH_DEBUG_NET (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEBUG_PROV
-#define MYNEWT_VAL_BLE_MESH_DEBUG_PROV (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEBUG_PROXY
-#define MYNEWT_VAL_BLE_MESH_DEBUG_PROXY (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEBUG_SETTINGS
-#define MYNEWT_VAL_BLE_MESH_DEBUG_SETTINGS (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEBUG_TRANS
-#define MYNEWT_VAL_BLE_MESH_DEBUG_TRANS (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEVICE_NAME
-#define MYNEWT_VAL_BLE_MESH_DEVICE_NAME ("nimble-mesh-node")
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_DEV_UUID
-#define MYNEWT_VAL_BLE_MESH_DEV_UUID (((uint8_t[16]){0xdd, 0xdd, 0}))
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_FRIEND
-#define MYNEWT_VAL_BLE_MESH_FRIEND (0)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_FRIEND_LPN_COUNT
-#define MYNEWT_VAL_BLE_MESH_FRIEND_LPN_COUNT (2)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_FRIEND_QUEUE_SIZE
-#define MYNEWT_VAL_BLE_MESH_FRIEND_QUEUE_SIZE (16)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_FRIEND_RECV_WIN
-#define MYNEWT_VAL_BLE_MESH_FRIEND_RECV_WIN (255)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_FRIEND_SEG_RX
-#define MYNEWT_VAL_BLE_MESH_FRIEND_SEG_RX (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_FRIEND_SUB_LIST_SIZE
-#define MYNEWT_VAL_BLE_MESH_FRIEND_SUB_LIST_SIZE (3)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_GATT_PROXY
-#define MYNEWT_VAL_BLE_MESH_GATT_PROXY (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_HEALTH_CLI
-#define MYNEWT_VAL_BLE_MESH_HEALTH_CLI (0)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_IVU_DIVIDER
-#define MYNEWT_VAL_BLE_MESH_IVU_DIVIDER (4)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_IV_UPDATE_TEST
-#define MYNEWT_VAL_BLE_MESH_IV_UPDATE_TEST (0)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LABEL_COUNT
-#define MYNEWT_VAL_BLE_MESH_LABEL_COUNT (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LOW_POWER
-#define MYNEWT_VAL_BLE_MESH_LOW_POWER (0)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LPN_AUTO
-#define MYNEWT_VAL_BLE_MESH_LPN_AUTO (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LPN_AUTO_TIMEOUT
-#define MYNEWT_VAL_BLE_MESH_LPN_AUTO_TIMEOUT (15)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LPN_ESTABLISHMENT
-#define MYNEWT_VAL_BLE_MESH_LPN_ESTABLISHMENT (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LPN_GROUPS
-#define MYNEWT_VAL_BLE_MESH_LPN_GROUPS (10)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LPN_INIT_POLL_TIMEOUT
-#define MYNEWT_VAL_BLE_MESH_LPN_INIT_POLL_TIMEOUT (MYNEWT_VAL_BLE_MESH_LPN_POLL_TIMEOUT)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LPN_MIN_QUEUE_SIZE
-#define MYNEWT_VAL_BLE_MESH_LPN_MIN_QUEUE_SIZE (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LPN_POLL_TIMEOUT
-#define MYNEWT_VAL_BLE_MESH_LPN_POLL_TIMEOUT (300)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LPN_RECV_DELAY
-#define MYNEWT_VAL_BLE_MESH_LPN_RECV_DELAY (100)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LPN_RECV_WIN_FACTOR
-#define MYNEWT_VAL_BLE_MESH_LPN_RECV_WIN_FACTOR (0)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LPN_RETRY_TIMEOUT
-#define MYNEWT_VAL_BLE_MESH_LPN_RETRY_TIMEOUT (8)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LPN_RSSI_FACTOR
-#define MYNEWT_VAL_BLE_MESH_LPN_RSSI_FACTOR (0)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_LPN_SCAN_LATENCY
-#define MYNEWT_VAL_BLE_MESH_LPN_SCAN_LATENCY (10)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_MODEL_GROUP_COUNT
-#define MYNEWT_VAL_BLE_MESH_MODEL_GROUP_COUNT (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_MODEL_KEY_COUNT
-#define MYNEWT_VAL_BLE_MESH_MODEL_KEY_COUNT (1)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_MSG_CACHE_SIZE
-#define MYNEWT_VAL_BLE_MESH_MSG_CACHE_SIZE (10)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_NODE_ID_TIMEOUT
-#define MYNEWT_VAL_BLE_MESH_NODE_ID_TIMEOUT (60)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_OOB_INPUT_ACTIONS
-#define MYNEWT_VAL_BLE_MESH_OOB_INPUT_ACTIONS (((BT_MESH_NO_INPUT)))
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_OOB_INPUT_SIZE
-#define MYNEWT_VAL_BLE_MESH_OOB_INPUT_SIZE (4)
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_OOB_OUTPUT_ACTIONS
-#define MYNEWT_VAL_BLE_MESH_OOB_OUTPUT_ACTIONS (((BT_MESH_DISPLAY_NUMBER)))
-#endif
-
-#ifndef MYNEWT_VAL_BLE_MESH_OOB_OUTPUT_SIZE
-#define MYNEWT_VAL_BLE_MESH_OOB_OUTPUT_SIZE (4)
+/*** @apache-mynewt-nimble/nimble/host/services/ans */
+#ifndef MYNEWT_VAL_BLE_SVC_ANS_NEW_ALERT_CAT
+#define MYNEWT_VAL_BLE_SVC_ANS_NEW_ALERT_CAT (0)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_PB_ADV
-#define MYNEWT_VAL_BLE_MESH_PB_ADV (1)
+#ifndef MYNEWT_VAL_BLE_SVC_ANS_SYSINIT_STAGE
+#define MYNEWT_VAL_BLE_SVC_ANS_SYSINIT_STAGE (303)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_PB_GATT
-#define MYNEWT_VAL_BLE_MESH_PB_GATT (1)
+#ifndef MYNEWT_VAL_BLE_SVC_ANS_UNR_ALERT_CAT
+#define MYNEWT_VAL_BLE_SVC_ANS_UNR_ALERT_CAT (0)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_PROV
-#define MYNEWT_VAL_BLE_MESH_PROV (1)
+/*** @apache-mynewt-nimble/nimble/host/services/bas */
+#ifndef MYNEWT_VAL_BLE_SVC_BAS_BATTERY_LEVEL_NOTIFY_ENABLE
+#define MYNEWT_VAL_BLE_SVC_BAS_BATTERY_LEVEL_NOTIFY_ENABLE (1)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_PROXY
-#define MYNEWT_VAL_BLE_MESH_PROXY (1)
+#ifndef MYNEWT_VAL_BLE_SVC_BAS_BATTERY_LEVEL_READ_PERM
+#define MYNEWT_VAL_BLE_SVC_BAS_BATTERY_LEVEL_READ_PERM (0)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_PROXY_FILTER_SIZE
-#define MYNEWT_VAL_BLE_MESH_PROXY_FILTER_SIZE (1)
+#ifndef MYNEWT_VAL_BLE_SVC_BAS_SYSINIT_STAGE
+#define MYNEWT_VAL_BLE_SVC_BAS_SYSINIT_STAGE (303)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_RELAY
-#define MYNEWT_VAL_BLE_MESH_RELAY (0)
-#endif
+/*** @apache-mynewt-nimble/nimble/host/services/bleuart */
 
-#ifndef MYNEWT_VAL_BLE_MESH_RPL_STORE_TIMEOUT
-#define MYNEWT_VAL_BLE_MESH_RPL_STORE_TIMEOUT (5)
+#ifndef MYNEWT_VAL_BLEUART_MAX_INPUT
+#define MYNEWT_VAL_BLEUART_MAX_INPUT (120)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_RX_SDU_MAX
-#define MYNEWT_VAL_BLE_MESH_RX_SDU_MAX (72)
+/*** @apache-mynewt-nimble/nimble/host/services/dis */
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_DEFAULT_READ_PERM
+#define MYNEWT_VAL_BLE_SVC_DIS_DEFAULT_READ_PERM (-1)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_RX_SEG_MSG_COUNT
-#define MYNEWT_VAL_BLE_MESH_RX_SEG_MSG_COUNT (2)
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_FIRMWARE_REVISION_DEFAULT
+#define MYNEWT_VAL_BLE_SVC_DIS_FIRMWARE_REVISION_DEFAULT (NULL)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_SEQ_STORE_RATE
-#define MYNEWT_VAL_BLE_MESH_SEQ_STORE_RATE (128)
+/* Value copied from BLE_SVC_DIS_DEFAULT_READ_PERM */
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_FIRMWARE_REVISION_READ_PERM
+#define MYNEWT_VAL_BLE_SVC_DIS_FIRMWARE_REVISION_READ_PERM (-1)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_SETTINGS
-#define MYNEWT_VAL_BLE_MESH_SETTINGS (0)
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_HARDWARE_REVISION_DEFAULT
+#define MYNEWT_VAL_BLE_SVC_DIS_HARDWARE_REVISION_DEFAULT (NULL)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_SHELL
-#define MYNEWT_VAL_BLE_MESH_SHELL (0)
+/* Value copied from BLE_SVC_DIS_DEFAULT_READ_PERM */
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_HARDWARE_REVISION_READ_PERM
+#define MYNEWT_VAL_BLE_SVC_DIS_HARDWARE_REVISION_READ_PERM (-1)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_SHELL_MODELS
-#define MYNEWT_VAL_BLE_MESH_SHELL_MODELS (0)
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_MANUFACTURER_NAME_DEFAULT
+#define MYNEWT_VAL_BLE_SVC_DIS_MANUFACTURER_NAME_DEFAULT (NULL)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_STORE_TIMEOUT
-#define MYNEWT_VAL_BLE_MESH_STORE_TIMEOUT (2)
+/* Value copied from BLE_SVC_DIS_DEFAULT_READ_PERM */
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_MANUFACTURER_NAME_READ_PERM
+#define MYNEWT_VAL_BLE_SVC_DIS_MANUFACTURER_NAME_READ_PERM (-1)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_SUBNET_COUNT
-#define MYNEWT_VAL_BLE_MESH_SUBNET_COUNT (1)
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_MODEL_NUMBER_DEFAULT
+#define MYNEWT_VAL_BLE_SVC_DIS_MODEL_NUMBER_DEFAULT ("Apache Mynewt NimBLE")
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_SYSINIT_STAGE
-#define MYNEWT_VAL_BLE_MESH_SYSINIT_STAGE (500)
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_MODEL_NUMBER_READ_PERM
+#define MYNEWT_VAL_BLE_SVC_DIS_MODEL_NUMBER_READ_PERM (0)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_SYSINIT_STAGE_SHELL
-#define MYNEWT_VAL_BLE_MESH_SYSINIT_STAGE_SHELL (1000)
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_SERIAL_NUMBER_DEFAULT
+#define MYNEWT_VAL_BLE_SVC_DIS_SERIAL_NUMBER_DEFAULT (NULL)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_TESTING
-#define MYNEWT_VAL_BLE_MESH_TESTING (0)
+/* Value copied from BLE_SVC_DIS_DEFAULT_READ_PERM */
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_SERIAL_NUMBER_READ_PERM
+#define MYNEWT_VAL_BLE_SVC_DIS_SERIAL_NUMBER_READ_PERM (-1)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_TX_SEG_MAX
-#define MYNEWT_VAL_BLE_MESH_TX_SEG_MAX (6)
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_SOFTWARE_REVISION_DEFAULT
+#define MYNEWT_VAL_BLE_SVC_DIS_SOFTWARE_REVISION_DEFAULT (NULL)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_MESH_TX_SEG_MSG_COUNT
-#define MYNEWT_VAL_BLE_MESH_TX_SEG_MSG_COUNT (4)
+/* Value copied from BLE_SVC_DIS_DEFAULT_READ_PERM */
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_SOFTWARE_REVISION_READ_PERM
+#define MYNEWT_VAL_BLE_SVC_DIS_SOFTWARE_REVISION_READ_PERM (-1)
 #endif
 
-/*** nimble/host/services/ans */
-#ifndef MYNEWT_VAL_BLE_SVC_ANS_NEW_ALERT_CAT
-#define MYNEWT_VAL_BLE_SVC_ANS_NEW_ALERT_CAT (0)
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_SYSINIT_STAGE
+#define MYNEWT_VAL_BLE_SVC_DIS_SYSINIT_STAGE (303)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_SVC_ANS_UNR_ALERT_CAT
-#define MYNEWT_VAL_BLE_SVC_ANS_UNR_ALERT_CAT (0)
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_SYSTEM_ID_DEFAULT
+#define MYNEWT_VAL_BLE_SVC_DIS_SYSTEM_ID_DEFAULT (NULL)
 #endif
 
-/*** nimble/host/services/bas */
-#ifndef MYNEWT_VAL_BLE_SVC_BAS_BATTERY_LEVEL_NOTIFY_ENABLE
-#define MYNEWT_VAL_BLE_SVC_BAS_BATTERY_LEVEL_NOTIFY_ENABLE (1)
+/* Value copied from BLE_SVC_DIS_DEFAULT_READ_PERM */
+#ifndef MYNEWT_VAL_BLE_SVC_DIS_SYSTEM_ID_READ_PERM
+#define MYNEWT_VAL_BLE_SVC_DIS_SYSTEM_ID_READ_PERM (-1)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_SVC_BAS_BATTERY_LEVEL_READ_PERM
-#define MYNEWT_VAL_BLE_SVC_BAS_BATTERY_LEVEL_READ_PERM (0)
-#endif
-
-/*** nimble/host/services/gap */
+/*** @apache-mynewt-nimble/nimble/host/services/gap */
 #ifndef MYNEWT_VAL_BLE_SVC_GAP_APPEARANCE
 #define MYNEWT_VAL_BLE_SVC_GAP_APPEARANCE (0)
 #endif
@@ -1005,7 +1100,43 @@
 #define MYNEWT_VAL_BLE_SVC_GAP_PPCP_SUPERVISION_TMO (0)
 #endif
 
-/*** nimble/transport */
+#ifndef MYNEWT_VAL_BLE_SVC_GAP_SYSINIT_STAGE
+#define MYNEWT_VAL_BLE_SVC_GAP_SYSINIT_STAGE (301)
+#endif
+
+/*** @apache-mynewt-nimble/nimble/host/services/gatt */
+#ifndef MYNEWT_VAL_BLE_SVC_GATT_SYSINIT_STAGE
+#define MYNEWT_VAL_BLE_SVC_GATT_SYSINIT_STAGE (302)
+#endif
+
+/*** @apache-mynewt-nimble/nimble/host/services/ias */
+#ifndef MYNEWT_VAL_BLE_SVC_IAS_SYSINIT_STAGE
+#define MYNEWT_VAL_BLE_SVC_IAS_SYSINIT_STAGE (303)
+#endif
+
+/*** @apache-mynewt-nimble/nimble/host/services/ipss */
+#ifndef MYNEWT_VAL_BLE_SVC_IPSS_SYSINIT_STAGE
+#define MYNEWT_VAL_BLE_SVC_IPSS_SYSINIT_STAGE (303)
+#endif
+
+/*** @apache-mynewt-nimble/nimble/host/services/lls */
+#ifndef MYNEWT_VAL_BLE_SVC_LLS_SYSINIT_STAGE
+#define MYNEWT_VAL_BLE_SVC_LLS_SYSINIT_STAGE (303)
+#endif
+
+/*** @apache-mynewt-nimble/nimble/host/services/tps */
+#ifndef MYNEWT_VAL_BLE_SVC_TPS_SYSINIT_STAGE
+#define MYNEWT_VAL_BLE_SVC_TPS_SYSINIT_STAGE (303)
+#endif
+
+/*** @apache-mynewt-nimble/nimble/transport/socket */
+
+#ifndef MYNEWT_VAL_BLE_HCI_ACL_OUT_COUNT
+#define MYNEWT_VAL_BLE_HCI_ACL_OUT_COUNT (12)
+#endif
+
+/*** @apache-mynewt-nimble/nimble/transport */
+
 #ifndef MYNEWT_VAL_BLE_HCI_TRANSPORT_EMSPI
 #define MYNEWT_VAL_BLE_HCI_TRANSPORT_EMSPI (0)
 #endif
@@ -1026,7 +1157,6 @@
 #define MYNEWT_VAL_BLE_HCI_TRANSPORT_UART (0)
 #endif
 
-/*** nimble/transport/ram */
 #ifndef MYNEWT_VAL_BLE_ACL_BUF_COUNT
 #define MYNEWT_VAL_BLE_ACL_BUF_COUNT (4)
 #endif
@@ -1040,35 +1170,80 @@
 #endif
 
 #ifndef MYNEWT_VAL_BLE_HCI_EVT_HI_BUF_COUNT
-#define MYNEWT_VAL_BLE_HCI_EVT_HI_BUF_COUNT (2)
+#define MYNEWT_VAL_BLE_HCI_EVT_HI_BUF_COUNT (8)
 #endif
 
 #ifndef MYNEWT_VAL_BLE_HCI_EVT_LO_BUF_COUNT
 #define MYNEWT_VAL_BLE_HCI_EVT_LO_BUF_COUNT (8)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_HCI_UART_BAUD
-#define MYNEWT_VAL_BLE_HCI_UART_BAUD (115200)
+#ifndef MYNEWT_VAL_BLE_SOCK_CLI_SYSINIT_STAGE
+#define MYNEWT_VAL_BLE_SOCK_CLI_SYSINIT_STAGE (500)
+#endif
+
+#ifndef MYNEWT_VAL_BLE_SOCK_LINUX_DEV
+#define MYNEWT_VAL_BLE_SOCK_LINUX_DEV (0)
+#endif
+
+#ifndef MYNEWT_VAL_BLE_SOCK_STACK_SIZE
+#define MYNEWT_VAL_BLE_SOCK_STACK_SIZE (80)
+#endif
+
+#ifndef MYNEWT_VAL_BLE_SOCK_TASK_PRIO
+#define MYNEWT_VAL_BLE_SOCK_TASK_PRIO (9)
+#endif
+
+#ifndef MYNEWT_VAL_BLE_SOCK_TCP_PORT
+#define MYNEWT_VAL_BLE_SOCK_TCP_PORT (14433)
+#endif
+
+#ifndef MYNEWT_VAL_BLE_SOCK_USE_LINUX_BLUE
+#define MYNEWT_VAL_BLE_SOCK_USE_LINUX_BLUE (0)
+#endif
+
+#ifndef MYNEWT_VAL_BLE_SOCK_USE_TCP
+#define MYNEWT_VAL_BLE_SOCK_USE_TCP (1)
+#endif
+
+/*** newt */
+#ifndef MYNEWT_VAL_APP_NAME
+#define MYNEWT_VAL_APP_NAME ("dummy_app")
+#endif
+
+#ifndef MYNEWT_VAL_APP_dummy_app
+#define MYNEWT_VAL_APP_dummy_app (1)
+#endif
+
+#ifndef MYNEWT_VAL_ARCH_NAME
+#define MYNEWT_VAL_ARCH_NAME ("dummy")
+#endif
+
+#ifndef MYNEWT_VAL_ARCH_dummy
+#define MYNEWT_VAL_ARCH_dummy (1)
+#endif
+
+#ifndef MYNEWT_VAL_BSP_NAME
+#define MYNEWT_VAL_BSP_NAME ("dummy_bsp")
 #endif
 
-#ifndef MYNEWT_VAL_BLE_HCI_UART_DATA_BITS
-#define MYNEWT_VAL_BLE_HCI_UART_DATA_BITS (8)
+#ifndef MYNEWT_VAL_BSP_dummy_bsp
+#define MYNEWT_VAL_BSP_dummy_bsp (1)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_HCI_UART_FLOW_CTRL
-#define MYNEWT_VAL_BLE_HCI_UART_FLOW_CTRL (0)
+#ifndef MYNEWT_VAL_NEWT_FEATURE_LOGCFG
+#define MYNEWT_VAL_NEWT_FEATURE_LOGCFG (1)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_HCI_UART_PARITY
-#define MYNEWT_VAL_BLE_HCI_UART_PARITY (HAL_UART_PARITY_NONE)
+#ifndef MYNEWT_VAL_NEWT_FEATURE_SYSDOWN
+#define MYNEWT_VAL_NEWT_FEATURE_SYSDOWN (1)
 #endif
 
-#ifndef MYNEWT_VAL_BLE_HCI_UART_PORT
-#define MYNEWT_VAL_BLE_HCI_UART_PORT (0)
+#ifndef MYNEWT_VAL_TARGET_NAME
+#define MYNEWT_VAL_TARGET_NAME ("porting_default")
 #endif
 
-#ifndef MYNEWT_VAL_BLE_HCI_UART_STOP_BITS
-#define MYNEWT_VAL_BLE_HCI_UART_STOP_BITS (1)
+#ifndef MYNEWT_VAL_TARGET_porting_default
+#define MYNEWT_VAL_TARGET_porting_default (1)
 #endif
 
 #endif

+ 1 - 0
porting/npl/rtthread/include/console/console.h

@@ -12,5 +12,6 @@
 #include <rtthread.h>
 
 #define console_printf rt_kprintf
+#define MODLOG_DFLT(ml_lvl_, ...)
 
 #endif

+ 0 - 108
porting/npl/rtthread/src/modlog.c

@@ -1,108 +0,0 @@
-/*
- * SPDX-License-Identifier: Apache-2.0
- *
- * Date           Author       Notes
- * 2018-12-27     ChenYong     first implementation
- */
-
-#include <string.h>
-
-#include <rtthread.h>
-#include <rthw.h>
-
-#include <modlog/modlog.h>
-
-/* This log is the first line of logs */
-static rt_bool_t console_is_fline = RT_TRUE;
-
-#ifdef NIMBLE_DEBUG_LEVEL
-#define MODLOG_DEBUG_LEVEL   NIMBLE_DEBUG_LEVEL
-#else
-#define MODLOG_DEBUG_LEVEL   MODLOG_LEVEL_INFO
-#endif /* NIMBLE_DBG_LEVEL */
-
-#define DBG_ENABLE
-#define DBG_COLOR
-#define DBG_LEVEL            MODLOG_DEBUG_LEVEL
-
-#ifndef DBG_SECTION_NAME
-#define DBG_SECTION_NAME     "nimble"
-#endif
-
-#include <rtdbg.h>
-
-static rt_size_t modlog_vprintf(const char *fmt, va_list args)
-{
-    static char modlog_buf[RT_CONSOLEBUF_SIZE];
-    rt_device_t dev = rt_console_get_device();
-    rt_size_t length;
-    
-    length = rt_vsnprintf(modlog_buf, sizeof(modlog_buf) - 1, fmt, args);
-    
-    #ifdef RT_USING_DEVICE
-    if (dev == RT_NULL)
-    {
-        rt_hw_console_output(modlog_buf);
-    }
-    else
-    {
-        rt_uint16_t old_flag = dev->open_flag;
-
-        dev->open_flag |= RT_DEVICE_FLAG_STREAM;
-        rt_device_write(dev, 0, modlog_buf, length);
-        dev->open_flag = old_flag;
-    }
-#else
-    rt_hw_console_output(log);
-#endif
-    
-    return length;
-}
-
-void modlog_dummy(uint8_t level, const char *msg, ...)
-{
-    va_list args;
-    
-    RT_ASSERT(msg);
-    
-    va_start(args, msg);
-    switch (level)
-    {
-    case MODLOG_LEVEL_CRITICAL:
-#if (MODLOG_DEBUG_LEVEL >= MODLOG_LEVEL_LOG)
-    case MODLOG_LEVEL_LOG:
-        if(console_is_fline) rt_kprintf("[D/%s] ", DBG_SECTION_NAME);
-        modlog_vprintf(msg, args);
-        break;
-#endif
-#if (MODLOG_DEBUG_LEVEL >= MODLOG_LEVEL_INFO)
-    case MODLOG_LEVEL_INFO:
-        if(console_is_fline) rt_kprintf("[I/%s] ", DBG_SECTION_NAME);
-        modlog_vprintf(msg, args);
-        break;
-#endif
-#if (MODLOG_DEBUG_LEVEL >= MODLOG_LEVEL_WARING)
-    case MODLOG_LEVEL_WARING:
-        if(console_is_fline) rt_kprintf("[W/%s] ", DBG_SECTION_NAME);
-        modlog_vprintf(msg, args);
-        break;
-#endif
-#if (MODLOG_DEBUG_LEVEL >= MODLOG_LEVEL_ERROR)
-    case MODLOG_LEVEL_ERROR:
-        if(console_is_fline) rt_kprintf("[E/%s] ", DBG_SECTION_NAME);
-        modlog_vprintf(msg, args);
-        break;
-#endif
-    }
-    
-    if (strchr(msg, '\n') != RT_NULL)
-    {
-        console_is_fline = RT_TRUE;
-    }
-    else
-    {
-        console_is_fline = RT_FALSE;
-    }
-    
-    va_end(args);
-}

+ 8 - 2
porting/npl/rtthread/src/npl_os_rtthread.c

@@ -24,8 +24,8 @@ void *ble_npl_get_current_task_id(void)
     return rt_thread_self();
 }
 
-int ble_npl_task_init(struct ble_npl_task *t, const char *name, 
-        ble_npl_task_fn *func,void *arg, uint8_t prio, 
+int ble_npl_task_init(struct ble_npl_task *t, const char *name,
+        ble_npl_task_fn *func,void *arg, uint8_t prio,
         uint32_t sanity_itvl, uint32_t *stack_bottom, uint16_t stack_size)
 {
     rt_thread_t tid;
@@ -59,6 +59,9 @@ struct ble_npl_event *ble_npl_eventq_get(struct ble_npl_eventq *evq, ble_npl_tim
     return ev;
 }
 
+#ifdef PKG_USING_BLUETRUM_SDK
+RT_SECTION(".com_text")
+#endif
 void ble_npl_eventq_put(struct ble_npl_eventq *evq, struct ble_npl_event *ev)
 {
     int ret;
@@ -307,6 +310,9 @@ void ble_npl_hw_exit_critical(uint32_t ctx)
     rt_hw_interrupt_enable(ctx);
 }
 
+#ifdef PKG_USING_BLUETRUM_SDK
+RT_SECTION(".com_text") __attribute__((noinline))
+#endif
 static void os_callout_timer_cb(void *parameter)
 {
     struct ble_npl_callout *co;