luat_conf_bsp.h 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. #ifndef LUAT_CONF_BSP
  2. #define LUAT_CONF_BSP
  3. //------------------------------------------------------
  4. // 以下custom --> 到 <-- custom 之间的内容,是供用户配置的
  5. // 同时也是云编译可配置的部分. 提交代码时切勿删除会修改标识
  6. #define LUAT_USE_GPIO 1
  7. #define LUAT_USE_UART 1
  8. #define LUAT_USE_I2C 1
  9. #define LUAT_USE_ADC 1
  10. #define LUAT_USE_PWM 1
  11. #define LUAT_USE_WDT 1
  12. #define LUAT_USE_SPI 1
  13. #define LUAT_USE_MCU 1
  14. #define LUAT_USE_RTC 1
  15. #define LUAT_USE_PM 1
  16. #define LUAT_USE_MEDIA 1
  17. #define LUAT_USE_RECORD 1
  18. #define LUAT_USE_WLAN 1
  19. #define LUAT_USE_MQTT 1
  20. #define LUAT_USE_CJSON 1
  21. #define LUAT_USE_FS 1
  22. #define LUAT_USE_PACK 1
  23. #define LUAT_USE_ZBUFF 1
  24. #define LUAT_USE_LIBGNSS 1
  25. #define LUAT_USE_FSKV 1
  26. #define LUAT_SCRIPT_SIZE 96
  27. #define LUAT_SCRIPT_OTA_SIZE 72
  28. //------------------------------------------------------------------------------
  29. // 以下选项仅开发人员可修改, 一般用户切勿自行修改
  30. //-----------------------------
  31. // 内存配置, 默认200k, 128 ~ 324k 可调. 324k属于极限值, 不可使用音频, 并限制TLS连接的数量不超过2个
  32. // #ifdef LUAT_HEAP_SIZE_324K
  33. // #define LUAT_HEAP_SIZE (324*1024)
  34. // #endif
  35. #ifdef LUAT_HEAP_SIZE_300K
  36. #define LUAT_HEAP_SIZE (300*1024)
  37. #endif
  38. #ifdef LUAT_HEAP_SIZE_200K
  39. #define LUAT_HEAP_SIZE (200*1024)
  40. #endif
  41. // // 一般无需修改. 若不需要使用SSL/TLS/TTS,可适当增加,但不应该超过256k
  42. #ifndef LUAT_HEAP_SIZE
  43. #define LUAT_HEAP_SIZE (250*1024)
  44. #endif
  45. #if defined TYPE_EC718P && defined (FEATURE_IMS_ENABLE)
  46. #if LUAT_HEAP_SIZE > (160*1024)
  47. #undef LUAT_HEAP_SIZE
  48. #define LUAT_HEAP_SIZE (160*1024)
  49. #endif
  50. #if LUAT_SCRIPT_SIZE > 128
  51. #undef LUAT_SCRIPT_SIZE
  52. #undef LUAT_SCRIPT_OTA_SIZE
  53. #define LUAT_SCRIPT_SIZE 128
  54. #define LUAT_SCRIPT_OTA_SIZE 96
  55. #endif
  56. #endif
  57. //-----------------------------
  58. // 将UART0切换到用户模式, 默认是UNILOG模式
  59. // 使用UART0, 日志将完全依赖USB输出, 若USB未引出或失效, 将无法获取底层日志
  60. // 本功能仅限完全了解风险的用户使用
  61. // #define LUAT_UART0_FORCE_USER 1
  62. // #define LUAT_UART0_FORCE_ALT1 1
  63. // #define LUAT_UART0_LOG_BR_12M 1
  64. #if defined CHIP_EC716
  65. #define LUAT_GPIO_PIN_MAX 29
  66. #else
  67. #define LUAT_GPIO_PIN_MAX 47
  68. #endif
  69. // #define LUAT__UART_TX_NEED_WAIT_DONE
  70. // // 内存优化: 减少内存消耗, 会稍微减低性能
  71. #define LUAT_USE_MEMORY_OPTIMIZATION_CODE_MMAP 1
  72. //----------------------------------
  73. // 使用VFS(虚拟文件系统)和内置库文件, 必须启用
  74. #define LUAT_USE_VFS_INLINE_LIB 1
  75. #define LUA_USE_VFS_FILENAME_OFFSET 1
  76. // //----------------------------------
  77. #define LUAT_WS2812B_MAX_CNT (8)
  78. #define LV_DISP_DEF_REFR_PERIOD 30
  79. #define LUAT_LV_DEBUG 0
  80. #define LV_MEM_CUSTOM 1
  81. #define LUAT_USE_LVGL_INDEV 1 // 输入设备
  82. #define LV_HOR_RES_MAX (160)
  83. #define LV_VER_RES_MAX (80)
  84. #define LV_COLOR_DEPTH 16
  85. #define LV_COLOR_16_SWAP 1
  86. #define __LVGL_SLEEP_ENABLE__
  87. #undef LV_DISP_DEF_REFR_PERIOD
  88. #define LV_DISP_DEF_REFR_PERIOD g_lvgl_flash_time
  89. #define LV_TICK_CUSTOM 1
  90. #define LV_TICK_CUSTOM_INCLUDE "common_api.h" /*Header for the system time function*/
  91. #define LV_TICK_CUSTOM_SYS_TIME_EXPR ((uint32_t)GetSysTickMS()) /*Expression evaluating to current system time in ms*/
  92. // #define LUAT_USE_LCD_CUSTOM_DRAW
  93. #define __LUATOS_TICK_64BIT__
  94. #define LUAT_RET int
  95. #define LUAT_RT_RET_TYPE void
  96. #define LUAT_RT_CB_PARAM void *param
  97. #define LUAT_USE_NETWORK 1
  98. // LUAT_USE_TLS 通过xmake判断打开
  99. // #define LUAT_USE_TLS 1
  100. #define LUAT_USE_LWIP 1
  101. #define LUAT_USE_DNS 1
  102. #define LUAT_USE_ERR_DUMP 1
  103. #define LUAT_USE_DHCP 1
  104. #define LUAT_USE_ERRDUMP 1
  105. #define LUAT_USE_FOTA 1
  106. #define LUAT_USE_MOBILE 1
  107. #define LUAT_USE_SNTP 1
  108. #define LUAT_USE_WLAN_SCANONLY 1
  109. //目前没用到的宏,但是得写在这里
  110. #define LUAT_USE_I2S
  111. #ifdef LUAT_USE_MEDIA
  112. #define LUAT_SUPPORT_AMR 1
  113. #endif
  114. #ifndef LUAT_USE_HMETA
  115. #define LUAT_USE_HMETA 1
  116. #endif
  117. // MCU引脚复用
  118. #define LUAT_MCU_IOMUX_CTRL 1
  119. #if defined TYPE_EC718P && defined (FEATURE_IMS_ENABLE)
  120. #define LUAT_USE_VOLTE
  121. #ifndef LUAT_USE_MEDIA
  122. #define LUAT_USE_MEDIA 1
  123. #endif
  124. #endif
  125. // // TTS 相关
  126. #ifdef LUAT_USE_TTS
  127. #ifndef LUAT_USE_TTS_8K
  128. #define LUAT_USE_TTS_16K 1
  129. #endif // LUAT_USE_TTS_8K
  130. #ifndef LUAT_USE_MEDIA
  131. #define LUAT_USE_MEDIA 1
  132. #endif
  133. // #ifdef LUAT_USE_TTS_ONCHIP
  134. // #undef LUAT_USE_SFUD
  135. // #else
  136. // #ifndef LUAT_USE_SFUD
  137. // #define LUAT_USE_SFUD 1
  138. // #endif // LUAT_USE_SFUD
  139. // #endif // LUAT_USE_TTS_ONCHIP
  140. #endif // LUAT_USE_TTS
  141. // 当前不支持软件UART, 自动禁用之
  142. #ifdef LUAT_USE_SOFT_UART
  143. #undef LUAT_USE_SOFT_UART
  144. #endif
  145. // #ifdef LUAT_USE_TTS_ONCHIP
  146. // #undef LUAT_SCRIPT_SIZE
  147. // #undef LUAT_SCRIPT_OTA_SIZE
  148. // #define LUAT_SCRIPT_SIZE 64
  149. // #define LUAT_SCRIPT_OTA_SIZE 48
  150. // #endif
  151. #define LUA_SCRIPT_ADDR (FLASH_FOTA_REGION_START - (LUAT_SCRIPT_SIZE + LUAT_SCRIPT_OTA_SIZE) * 1024)
  152. #define LUA_SCRIPT_OTA_ADDR FLASH_FOTA_REGION_START - (LUAT_SCRIPT_OTA_SIZE * 1024)
  153. #define __LUAT_C_CODE_IN_RAM__ __attribute__((__section__(".platFMRamcode")))
  154. #ifdef LUAT_USE_TLS_DISABLE
  155. #undef LUAT_USE_TLS
  156. #endif
  157. // 关闭加密版本的UDP, 类似于TCP的TLS/SSL, 极少使用
  158. #ifdef LUAT_CONF_TLS_DTLS_DISABLE
  159. #undef MBEDTLS_SSL_PROTO_DTLS
  160. #undef MBEDTLS_SSL_DTLS_ANTI_REPLAY
  161. #undef MBEDTLS_SSL_DTLS_HELLO_VERIFY
  162. #undef MBEDTLS_SSL_DTLS_BADMAC_LIMIT
  163. #endif
  164. // 关闭几个不常用的东西
  165. #ifdef LUAT_CONF_TLS_DISABLE_NC
  166. #undef MBEDTLS_X509_RSASSA_PSS_SUPPORT
  167. #undef MBEDTLS_DES_C
  168. #undef MBEDTLS_DHM_C
  169. #undef MBEDTLS_GCM_C
  170. #undef MBEDTLS_PSA_CRYPTO_C
  171. #undef MBEDTLS_PKCS1_V21
  172. #endif
  173. // 关闭几个不常用的东西
  174. #ifdef LUAT_CONF_TLS_DISABLE_ECP_ECDHE
  175. #undef MBEDTLS_ECP_DP_SECP192R1_ENABLED
  176. #undef MBEDTLS_ECP_DP_SECP224R1_ENABLED
  177. #undef MBEDTLS_ECP_DP_SECP256R1_ENABLED
  178. #undef MBEDTLS_ECP_DP_SECP384R1_ENABLED
  179. #undef MBEDTLS_ECP_DP_SECP521R1_ENABLED
  180. #undef MBEDTLS_ECP_DP_SECP192K1_ENABLED
  181. #undef MBEDTLS_ECP_DP_SECP224K1_ENABLED
  182. #undef MBEDTLS_ECP_DP_SECP256K1_ENABLED
  183. #undef MBEDTLS_ECP_DP_BP256R1_ENABLED
  184. #undef MBEDTLS_ECP_DP_BP384R1_ENABLED
  185. #undef MBEDTLS_ECP_DP_BP512R1_ENABLED
  186. /* Montgomery curves (supporting ECP) */
  187. #undef MBEDTLS_ECP_DP_CURVE25519_ENABLED
  188. #undef MBEDTLS_ECP_DP_CURVE448_ENABLED
  189. #undef MBEDTLS_ECP_NIST_OPTIM
  190. // #undef MBEDTLS_ECDH_LEGACY_CONTEXT
  191. #undef MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
  192. #undef MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
  193. #undef MBEDTLS_ECDH_C
  194. #undef MBEDTLS_ECP_C
  195. #undef MBEDTLS_ECDSA_C
  196. #endif
  197. #ifndef PSRAM_FEATURE_ENABLE
  198. #undef LUAT_USE_CAMERA
  199. #endif
  200. #ifdef TYPE_EC716E
  201. #undef LUAT_HEAP_SIZE
  202. #define LUAT_HEAP_SIZE (200*1024)
  203. #endif
  204. #ifdef LUAT_USE_CAMERA
  205. #define LUAT_USE_LCD_SERVICE 1
  206. #endif
  207. #ifdef LUAT_SUPPORT_AMR
  208. #if defined (FEATURE_AMR_CP_ENABLE) || defined (FEATURE_VEM_CP_ENABLE)
  209. #define LUAT_USE_INTER_AMR 1
  210. #endif
  211. #endif
  212. #if defined (PSRAM_FEATURE_ENABLE) && (PSRAM_EXIST==1)
  213. #define LUAT_USE_PSRAM
  214. #endif
  215. #endif