luat_conf_bsp_air601.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. /**
  2. *
  3. *
  4. *
  5. *
  6. *
  7. 这个头文件单纯就是为了做发行版本的时候覆盖luat_conf_bsp.h
  8. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  9. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  10. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  11. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  12. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  13. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  14. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  15. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  16. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  17. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  18. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  19. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  20. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  21. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  22. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  23. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  24. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  25. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  26. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  27. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  28. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  29. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  30. 日常编译改 luat_conf_bsp.h 就行, 不用管这个头文件, 也不要引用这个头文件
  31. *
  32. *
  33. *
  34. *
  35. *
  36. *
  37. *
  38. *
  39. *
  40. *
  41. *
  42. *
  43. *
  44. *
  45. *
  46. *
  47. *
  48. *
  49. *
  50. *
  51. *
  52. *
  53. */
  54. #ifndef LUAT_CONF_BSP
  55. #define LUAT_CONF_BSP
  56. #define LUAT_BSP_VERSION "V1023"
  57. // Air601
  58. #define AIR601
  59. // 启用64位虚拟机
  60. // #define LUAT_CONF_VM_64bit
  61. // 其中文件系统区固定48k, 脚本区默认64k, 两者加起来就是默认值 64+48=112
  62. // 若需要增加脚本区的大小, 那么大小必须是64的整数倍, 例如变成 128,192,256
  63. #define LUAT_FS_SIZE 48 //文件系统大小
  64. #define LUAT_SCRIPT_SIZE 64 //脚本大小
  65. // 内存优化: 减少内存消耗, 会稍微减低性能
  66. // #define LUAT_USE_MEMORY_OPTIMIZATION_CODE_MMAP 1
  67. //----------------------------------
  68. // 使用VFS(虚拟文件系统)和内置库文件, 必须启用
  69. #define LUAT_USE_FS_VFS 1
  70. #define LUAT_USE_VFS_INLINE_LIB 1
  71. //----------------------------------
  72. //----------------------------
  73. // 外设,按需启用, 最起码启用uart和wdt库
  74. #define LUAT_USE_UART 1
  75. #define LUAT_USE_GPIO 1
  76. #define LUAT_USE_I2C 1
  77. #define LUAT_USE_SPI 1
  78. #define LUAT_USE_ADC 1
  79. #define LUAT_USE_PWM 1
  80. #define LUAT_USE_WDT 1
  81. #define LUAT_USE_PM 1
  82. #define LUAT_USE_MCU 1
  83. #define LUAT_USE_RTC 1
  84. // SDIO 仅支持TF/SD卡的挂载
  85. // #define LUAT_USE_SDIO 1
  86. // 段码屏/段式屏, 按需启用
  87. // #define LUAT_USE_LCDSEG 1
  88. // OTP
  89. // #define LUAT_USE_OTP 1
  90. // #define LUAT_USE_TOUCHKEY 1
  91. // #define LUAT_USE_ICONV 1
  92. // wlan库相关
  93. #define LUAT_USE_WLAN
  94. #define LUAT_USE_LWIP
  95. #define LUAT_USE_NETWORK
  96. #define LUAT_USE_DNS
  97. #define LUAT_USE_SNTP
  98. #define LUAT_USE_HTTPSRV
  99. #define LUAT_USE_HTTP
  100. #define LUAT_USE_MQTT
  101. #define LUAT_USE_WEBSOCKET
  102. #define LUAT_USE_FTP
  103. // 外置网络支持
  104. // #define LUAT_USE_W5500_XXX
  105. // #define LUAT_USE_DHCP
  106. // 内存不足, 无法开启TLS
  107. // #define LUAT_USE_TLS
  108. // #define LUAT_USE_IOTAUTH 1
  109. //----------------------------
  110. // 常用工具库, 按需启用, cjson和pack是强烈推荐启用的
  111. #define LUAT_USE_CRYPTO 1
  112. #define LUAT_USE_CJSON 1
  113. #define LUAT_USE_ZBUFF 1
  114. #define LUAT_USE_PACK 1
  115. // #define LUAT_USE_LIBGNSS 1
  116. #define LUAT_USE_FS 1
  117. // #define LUAT_USE_SENSOR 1
  118. // #define LUAT_USE_SFUD 1
  119. // #define LUAT_USE_STATEM 1
  120. // 性能测试,跑完就是玩,不要与lvgl一起启用,生产环境的固件别加这个库
  121. // #define LUAT_USE_COREMARK 1
  122. // #define LUAT_USE_ZLIB 1
  123. // #define LUAT_USE_IR 1
  124. // FDB 提供kv数据库, 与nvm库类似
  125. // #define LUAT_USE_FDB 1
  126. // fskv提供与fdb库兼容的API,旨在替换fdb库
  127. #define LUAT_USE_FSKV 1
  128. #define LUAT_USE_OTA 1
  129. // #define LUAT_USE_I2CTOOLS 1
  130. // #define LUAT_USE_LORA 1
  131. // #define LUAT_USE_MLX90640 1
  132. // #define LUAT_USE_MAX30102 1
  133. // zlib压缩,更快更小的实现
  134. // #define LUAT_USE_MINIZ 1
  135. // RSA 加解密,加签验签
  136. // #define LUAT_USE_RSA 1
  137. // 国密算法 SM2/SM3/SM4
  138. // #define LUAT_USE_GMSSL 1
  139. // // 使用 TLSF 内存池, 实验性, 内存利用率更高一些
  140. // #define LUAT_USE_TLSF 1
  141. //---------------SDIO-FATFS特别配置
  142. // sdio库对接的是fatfs
  143. // fatfs的长文件名和非英文文件名支持需要180k的ROM, 非常奢侈
  144. // 从v0006开始默认关闭之, 需要用到就打开吧
  145. // #define LUAT_USE_FATFS
  146. // #define LUAT_USE_FATFS_CHINESE
  147. //----------------------------
  148. // 高通字体, 需配合芯片使用
  149. // #define LUAT_USE_GTFONT 1
  150. // #define LUAT_USE_GTFONT_UTF8
  151. // #define LUAT_USE_YMODEM
  152. //----------------------------
  153. // 高级功能, 推荐使用REPL, 因为SHELL已废弃
  154. // #define LUAT_USE_SHELL 1
  155. // #define LUAT_USE_DBG
  156. // NIMBLE 是蓝牙功能, 名为BLE, 但绝非低功耗.
  157. // #define LUAT_USE_NIMBLE 1
  158. // 多虚拟机支持,实验性,一般不启用
  159. // #define LUAT_USE_VMX 1
  160. // #define LUAT_USE_NES
  161. // #define LUAT_USE_PROTOBUF 1
  162. #define LUAT_USE_REPL 1
  163. //---------------------
  164. // UI
  165. // LCD 是彩屏, 若使用LVGL就必须启用LCD
  166. // #define LUAT_USE_LCD
  167. // #define LUAT_USE_TJPGD
  168. // EINK 是墨水屏
  169. // #define LUAT_USE_EINK
  170. //---------------------
  171. // U8G2
  172. // 单色屏, 支持i2c/spi
  173. // #define LUAT_USE_DISP
  174. // #define LUAT_USE_U8G2
  175. /**************FONT*****************/
  176. // #define LUAT_USE_FONTS
  177. /**********U8G2&LCD&EINK FONT*************/
  178. // #define USE_U8G2_OPPOSANSM_ENGLISH 1
  179. // #define USE_U8G2_OPPOSANSM8_CHINESE
  180. // #define USE_U8G2_OPPOSANSM10_CHINESE
  181. // #define USE_U8G2_OPPOSANSM12_CHINESE
  182. // #define USE_U8G2_OPPOSANSM16_CHINESE
  183. // #define USE_U8G2_OPPOSANSM24_CHINESE
  184. // #define USE_U8G2_OPPOSANSM32_CHINESE
  185. // SARASA
  186. // #define USE_U8G2_SARASA_M8_CHINESE
  187. // #define USE_U8G2_SARASA_M10_CHINESE
  188. // #define USE_U8G2_SARASA_M12_CHINESE
  189. // #define USE_U8G2_SARASA_M14_CHINESE
  190. // #define USE_U8G2_SARASA_M16_CHINESE
  191. // #define USE_U8G2_SARASA_M18_CHINESE
  192. // #define USE_U8G2_SARASA_M20_CHINESE
  193. // #define USE_U8G2_SARASA_M22_CHINESE
  194. // #define USE_U8G2_SARASA_M24_CHINESE
  195. // #define USE_U8G2_SARASA_M26_CHINESE
  196. // #define USE_U8G2_SARASA_M28_CHINESE
  197. /**********LVGL FONT*************/
  198. // #define LV_FONT_OPPOSANS_M_8
  199. // #define LV_FONT_OPPOSANS_M_10
  200. // #define LV_FONT_OPPOSANS_M_12
  201. // #define LV_FONT_OPPOSANS_M_16
  202. // -------------------------------------
  203. // PSRAM
  204. // 需要外挂PSRAM芯片, 否则不要启用, 必死机
  205. // air101虽然支持psram,但与spi存在复用冲突
  206. // air103支持psram与spi同时使用,复用不冲突
  207. // #define LUAT_USE_PSRAM 1
  208. // LVGL推荐把部分方法放入内存, 按需采用
  209. // #define LV_ATTRIBUTE_FAST_MEM __attribute__((section (".ram_run")))
  210. // ROTABLE技术是节省内存的关键技术, 启用PSRAM后内存不缺, 禁用可提高性能
  211. // #define LUAT_CONF_DISABLE_ROTABLE 1
  212. //---------------------------------------
  213. //---------------------
  214. // LVGL
  215. // 主推的UI库, 功能强大但API繁琐
  216. // #define LUAT_USE_LVGL
  217. #define LV_DISP_DEF_REFR_PERIOD 30
  218. #define LUAT_LV_DEBUG 0
  219. #define LV_MEM_CUSTOM 1
  220. #define LUAT_USE_LVGL_INDEV 1 // 输入设备
  221. #define LUAT_USE_LVGL_ARC //圆弧 无依赖
  222. #define LUAT_USE_LVGL_BAR //进度条 无依赖
  223. #define LUAT_USE_LVGL_BTN //按钮 依赖容器CONT
  224. #define LUAT_USE_LVGL_BTNMATRIX //按钮矩阵 无依赖
  225. #define LUAT_USE_LVGL_CALENDAR //日历 无依赖
  226. #define LUAT_USE_LVGL_CANVAS //画布 依赖图片IMG
  227. #define LUAT_USE_LVGL_CHECKBOX //复选框 依赖按钮BTN 标签LABEL
  228. #define LUAT_USE_LVGL_CHART //图表 无依赖
  229. #define LUAT_USE_LVGL_CONT //容器 无依赖
  230. #define LUAT_USE_LVGL_CPICKER //颜色选择器 无依赖
  231. #define LUAT_USE_LVGL_DROPDOWN //下拉列表 依赖页面PAGE 标签LABEL
  232. #define LUAT_USE_LVGL_GAUGE //仪表 依赖进度条BAR 仪表(弧形刻度)LINEMETER
  233. #define LUAT_USE_LVGL_IMG //图片 依赖标签LABEL
  234. #define LUAT_USE_LVGL_IMGBTN //图片按钮 依赖按钮BTN
  235. #define LUAT_USE_LVGL_KEYBOARD //键盘 依赖图片按钮IMGBTN
  236. #define LUAT_USE_LVGL_LABEL //标签 无依赖
  237. #define LUAT_USE_LVGL_LED //LED 无依赖
  238. #define LUAT_USE_LVGL_LINE //线 无依赖
  239. #define LUAT_USE_LVGL_LIST //列表 依赖页面PAGE 按钮BTN 标签LABEL
  240. #define LUAT_USE_LVGL_LINEMETER //仪表(弧形刻度) 无依赖
  241. #define LUAT_USE_LVGL_OBJMASK //对象蒙版 无依赖
  242. #define LUAT_USE_LVGL_MSGBOX //消息框 依赖图片按钮IMGBTN 标签LABEL
  243. #define LUAT_USE_LVGL_PAGE //页面 依赖容器CONT
  244. #define LUAT_USE_LVGL_SPINNER //旋转器 依赖圆弧ARC 动画ANIM
  245. #define LUAT_USE_LVGL_ROLLER //滚筒 无依赖
  246. #define LUAT_USE_LVGL_SLIDER //滑杆 依赖进度条BAR
  247. #define LUAT_USE_LVGL_SPINBOX //数字调整框 无依赖
  248. #define LUAT_USE_LVGL_SWITCH //开关 依赖滑杆SLIDER
  249. #define LUAT_USE_LVGL_TEXTAREA //文本框 依赖标签LABEL 页面PAGE
  250. #define LUAT_USE_LVGL_TABLE //表格 依赖标签LABEL
  251. #define LUAT_USE_LVGL_TABVIEW //页签 依赖页面PAGE 图片按钮IMGBTN
  252. #define LUAT_USE_LVGL_TILEVIEW //平铺视图 依赖页面PAGE
  253. #define LUAT_USE_LVGL_WIN //窗口 依赖容器CONT 按钮BTN 标签LABEL 图片IMG 页面PAGE
  254. #define LV_HOR_RES_MAX (160)
  255. #define LV_VER_RES_MAX (80)
  256. #define LV_COLOR_DEPTH 16
  257. #define LV_COLOR_16_SWAP 1
  258. #define LUAT_RET int
  259. #define LUAT_RT_RET_TYPE void
  260. #define LUAT_RT_CB_PARAM void *param
  261. // 单纯为了生成文档的宏
  262. #define LUAT_USE_PIN 1
  263. #define LUAT_GPIO_PIN_MAX (48)
  264. #endif