diff --git a/components/network/adapter_lwip2/net_lwip2.c b/components/network/adapter_lwip2/net_lwip2.c index 290bc136..9c20d1c4 100644 --- a/components/network/adapter_lwip2/net_lwip2.c +++ b/components/network/adapter_lwip2/net_lwip2.c @@ -11,7 +11,8 @@ #include "net_lwip2.h" #include "luat_crypto.h" - +#include "luat_msgbus.h" +#include "luat_malloc.h" #define LUAT_LOG_TAG "net" #include "luat_log.h" diff --git a/demo/adc/testAdc.lua b/demo/adc/testAdc.lua index bcae9ee0..f1cdd0c5 100644 --- a/demo/adc/testAdc.lua +++ b/demo/adc/testAdc.lua @@ -37,7 +37,7 @@ function adc_pin() -- 根据不同开发板,设置ADC编号 -- 设置分压要在adc.open之前设置,否则无效!! -- adc.setRange(adc.ADC_RANGE_3_8) return 0,1,255,255,adc.CH_CPU ,adc.CH_VBAT - elseif rtos_bsp == "EC718P" then --Air780EP开发板ADC编号 + elseif string.find(rtos_bsp,"EC718") then --Air780EP开发板ADC编号 -- 默认不开启分压,范围是0-1.6v精度高 -- 开启分压后,外部输入最大不可超过3.3V -- 设置分压要在adc.open之前设置,否则无效!! diff --git a/demo/aliyun/testPm.lua b/demo/aliyun/testPm.lua index 48749825..d1c8776b 100644 --- a/demo/aliyun/testPm.lua +++ b/demo/aliyun/testPm.lua @@ -13,7 +13,7 @@ sys.taskInit(function() -- mobile.rtime(2) -- RRC快速释放减少connect时间能大幅降低功耗,但是会带来可能得离线风险,可选择延迟时间或者不用 pm.power(pm.USB, false) pm.force(pm.LIGHT) - elseif bsp == "EC718P" or bsp == "EC718PV" then + elseif string.find(bsp,"EC718") then log.info("aliyun.pm", "EC718P/EC718PV方案进入低功耗模式") -- mobile.rtime(2) -- RRC快速释放减少connect时间能大幅降低功耗,但是会带来可能得离线风险,可选择延迟时间或者不用 pm.power(pm.USB, false) diff --git a/demo/camera/spi_cam/main.lua b/demo/camera/spi_cam/main.lua index 9b25b9ae..24889ea9 100644 --- a/demo/camera/spi_cam/main.lua +++ b/demo/camera/spi_cam/main.lua @@ -17,7 +17,7 @@ local RAW_MODE = 0 -- 写1演示获取原始图像 -- spi_id,pin_reset,pin_dc,pin_cs,bl local function lcd_pin() local rtos_bsp = rtos.bsp() - if rtos_bsp == "EC718P" then + if string.find(rtos_bsp,"EC718") then return lcd.HWID_0, 36, 0xff, 0xff, 0xff -- 注意:EC718P有硬件lcd驱动接口, 无需使用spi,当然spi驱动也支持 else log.info("main", "bsp not support") diff --git a/demo/eink/main.lua b/demo/eink/main.lua index cfd2053c..0fc09600 100644 --- a/demo/eink/main.lua +++ b/demo/eink/main.lua @@ -55,7 +55,7 @@ function eink_pin() return 2,16,15,14,13 elseif rtos_bsp == "EC618" then return 0,1,10,8,22 - elseif rtos_bsp == "EC718P" then + elseif string.find(rtos_bsp,"EC718") then return 0,10,14,8,15 else log.info("main", "bsp not support") diff --git a/demo/fatfs/main.lua b/demo/fatfs/main.lua index bf964faf..1953e6b9 100644 --- a/demo/fatfs/main.lua +++ b/demo/fatfs/main.lua @@ -45,7 +45,7 @@ local function fatfs_spi_pin() return 2, 14 elseif rtos_bsp == "EC618" then return 0, 8 - elseif rtos_bsp == "EC718P" then + elseif string.find(rtos_bsp,"EC718") then return 0, 8 else log.info("main", "bsp not support") diff --git a/demo/gpio/gpio/main.lua b/demo/gpio/gpio/main.lua index 180f28fb..3de5e01a 100644 --- a/demo/gpio/gpio/main.lua +++ b/demo/gpio/gpio/main.lua @@ -44,7 +44,7 @@ function pinx() -- 根据不同开发板,给LED赋值不同的gpio引脚编号 return 10, 11, 255 -- 开发板上就2个灯 elseif rtos_bsp == "EC618" then -- Air780E开发板引脚 return 27, 255, 255 -- AIR780E开发板上就一个灯 - elseif rtos_bsp == "EC718P" then -- Air780E开发板引脚 + elseif string.find(rtos_bsp,"EC718") then -- Air780E开发板引脚 return 27, 255, 255 -- AIR780EP开发板上就一个灯 elseif rtos_bsp == "UIS8850BM" then -- Air780UM开发板引脚 return 36, 255, 255 -- Air780UM开发板上就一个灯 diff --git a/demo/gpio/powerkey/main.lua b/demo/gpio/powerkey/main.lua index cb4daf03..275ec883 100644 --- a/demo/gpio/powerkey/main.lua +++ b/demo/gpio/powerkey/main.lua @@ -13,7 +13,7 @@ local rtos_bsp = rtos.bsp() local function pinx() if rtos_bsp == "EC618" then -- AIR780E -- 35是虚拟GPIO,见https://wiki.luatos.com/chips/air780e/iomux.html#id1 return 35 - elseif rtos_bsp == "EC718P" then -- AIR780EP -- 46是虚拟GPIO + elseif string.find(rtos_bsp,"EC718") then -- AIR780EP -- 46是虚拟GPIO return 46 else return 255 diff --git a/demo/gpio/usbconnect/main.lua b/demo/gpio/usbconnect/main.lua index 07cc0281..f467ffd3 100644 --- a/demo/gpio/usbconnect/main.lua +++ b/demo/gpio/usbconnect/main.lua @@ -13,7 +13,7 @@ local rtos_bsp = rtos.bsp() local function pinx() if rtos_bsp == "EC618" then -- AIR780E -- 33是虚拟GPIO,见https://wiki.luatos.com/chips/air780e/iomux.html#id1 return 24, 33 - elseif rtos_bsp == "EC718P" then -- AIR780EP -- 40是虚拟GPIO + elseif string.find(rtos_bsp,"EC718") then -- AIR780EP -- 40是虚拟GPIO return 27, 40 else return 255, 255 diff --git a/demo/gtfont/main.lua b/demo/gtfont/main.lua index e8d41ab3..064be6a5 100644 --- a/demo/gtfont/main.lua +++ b/demo/gtfont/main.lua @@ -33,7 +33,7 @@ function lcd_pin() return 2,16,15,14,13 elseif rtos_bsp == "EC618" then return 0,1,10,8,22 - elseif rtos_bsp == "EC718P" then + elseif string.find(rtos_bsp,"EC718") then return lcd.HWID_0,36,0xff,0xff,0xff -- 注意:EC718P有硬件lcd驱动接口, 无需使用spi,当然spi驱动也支持 else log.info("main", "bsp not support") diff --git a/demo/io_queue/main.lua b/demo/io_queue/main.lua index 6135151d..2829a94b 100644 --- a/demo/io_queue/main.lua +++ b/demo/io_queue/main.lua @@ -1,17 +1,17 @@ - --- LuaTools需要PROJECT和VERSION这两个信息 -PROJECT = "ioqueue" -VERSION = "1.0.0" --- 仅支持ioqueue的平台能使用!! --- sys库是标配 + +-- LuaTools需要PROJECT和VERSION这两个信息 +PROJECT = "ioqueue" +VERSION = "1.0.0" +-- 仅支持ioqueue的平台能使用!! +-- sys库是标配 _G.sys = require("sys") - + local rtos_bsp = rtos.bsp() function pinx() -- 根据不同开发板,给LED赋值不同的gpio引脚编号 if rtos_bsp == "AIR105" then mcu.setXTAL(true) --为了测试更准确,调整到外部时钟 return 1, pin.PD06, pin.PD07 - elseif rtos_bsp == "EC718P" then -- Air780E开发板引脚 + elseif string.find(rtos_bsp,"EC718") then -- Air780E开发板引脚 gpio.setup(12,nil,nil) gpio.setup(13,nil,nil) return 1, 12,13 @@ -20,72 +20,72 @@ function pinx() -- 根据不同开发板,给LED赋值不同的gpio引脚编号 return 255,255 end end - -sys.taskInit(function() - - local _,tick_us = mcu.tick64() - local hw_timer_id, capture_pin,out_pin = pinx() - local buff1 = zbuff.create(100) - local buff2 = zbuff.create(100) + +sys.taskInit(function() + + local _,tick_us = mcu.tick64() + local hw_timer_id, capture_pin,out_pin = pinx() + local buff1 = zbuff.create(100) + local buff2 = zbuff.create(100) local cnt1,cnt2,i,lastTick,bit1Tick,nowTick,j,bit - mcu.hardfault(0) - sys.wait(2000) - bit1Tick = 100 * tick_us + mcu.hardfault(0) + sys.wait(2000) + bit1Tick = 100 * tick_us while 1 do - log.info('start dht11') - --测试单总线DHT11 - ioqueue.stop(hw_timer_id) --确保硬件定时器1是空闲的 - ioqueue.init(hw_timer_id,100,1) --io队列设置100个命令,重复1次,实际上用不到那么多命令 - ioqueue.setgpio(hw_timer_id, capture_pin, true, gpio.PULLUP) --数据线拉高,上拉输入 - ioqueue.setdelay(hw_timer_id, 10000, 0, false) --单次延迟10ms - ioqueue.setgpio(hw_timer_id, capture_pin, false, 0, 0) --数据线拉低 - ioqueue.setdelay(hw_timer_id, 18000, 0, false) --单次延迟18ms - ioqueue.set_cap(hw_timer_id, capture_pin, gpio.PULLUP, gpio.FALLING, 100000 * tick_us) --设置成下降沿中断捕获,最大计时100000us, 上拉输入,这里已经代替了输出20~40us高电平 - for i = 1,42,1 do - ioqueue.capture(hw_timer_id) --捕获42次外部中断发生时的tick值,2个start信号+40bit数据 - end - ioqueue.cap_done(hw_timer_id, capture_pin) --停止捕获 - ioqueue.setgpio(hw_timer_id, capture_pin, true, gpio.PULLUP) --数据线拉高,上拉输入 - ioqueue.start(hw_timer_id) - sys.waitUntil("IO_QUEUE_DONE_"..hw_timer_id) - ioqueue.stop(hw_timer_id) - --开始解析捕获的数据 - cnt1,cnt2 = ioqueue.get(hw_timer_id, buff1, buff2) - if cnt2 ~= 42 then - log.info('test fail') - goto TEST_OUT - end - lastTick = buff2:query(6 + 2, 4, false) --以第二次中断的tick作为起始tick,第一次的tick没有用 - j = 0 - bit = 8 - buff1[0] = 0 + log.info('start dht11') + --测试单总线DHT11 + ioqueue.stop(hw_timer_id) --确保硬件定时器1是空闲的 + ioqueue.init(hw_timer_id,100,1) --io队列设置100个命令,重复1次,实际上用不到那么多命令 + ioqueue.setgpio(hw_timer_id, capture_pin, true, gpio.PULLUP) --数据线拉高,上拉输入 + ioqueue.setdelay(hw_timer_id, 10000, 0, false) --单次延迟10ms + ioqueue.setgpio(hw_timer_id, capture_pin, false, 0, 0) --数据线拉低 + ioqueue.setdelay(hw_timer_id, 18000, 0, false) --单次延迟18ms + ioqueue.set_cap(hw_timer_id, capture_pin, gpio.PULLUP, gpio.FALLING, 100000 * tick_us) --设置成下降沿中断捕获,最大计时100000us, 上拉输入,这里已经代替了输出20~40us高电平 + for i = 1,42,1 do + ioqueue.capture(hw_timer_id) --捕获42次外部中断发生时的tick值,2个start信号+40bit数据 + end + ioqueue.cap_done(hw_timer_id, capture_pin) --停止捕获 + ioqueue.setgpio(hw_timer_id, capture_pin, true, gpio.PULLUP) --数据线拉高,上拉输入 + ioqueue.start(hw_timer_id) + sys.waitUntil("IO_QUEUE_DONE_"..hw_timer_id) + ioqueue.stop(hw_timer_id) + --开始解析捕获的数据 + cnt1,cnt2 = ioqueue.get(hw_timer_id, buff1, buff2) + if cnt2 ~= 42 then + log.info('test fail') + goto TEST_OUT + end + lastTick = buff2:query(6 + 2, 4, false) --以第二次中断的tick作为起始tick,第一次的tick没有用 + j = 0 + bit = 8 + buff1[0] = 0 for i = 2,41,1 do - - --检查一下是不是对应pin的下降沿中断,不过也不太需要 - if buff2[i * 6 + 0] ~= capture_pin or buff2[i * 6 + 1] ~= 0 then - log.error("capture", i, buff2[i * 6 + 0], buff2[i * 6 + 1]) - end - --通过计算tick差值来确定是bit1还是bit0 - nowTick = buff2:query(i * 6 + 2, 4, false) - buff1[j] = buff1[j] << 1 - if (nowTick - lastTick) > bit1Tick then - buff1[j] = buff1[j] + 1 - end - bit = bit - 1 - if bit == 0 then - j = j + 1 - bit = 8 - end - lastTick = nowTick - end - buff1[5] = buff1[0] + buff1[1] + buff1[2] + buff1[3] - if buff1[4] ~= buff1[5] then - log.info('check fail', buff1[4], buff1[5]) - else - log.info("湿度", buff1[0] .. '.' .. buff1[1], "温度", buff1[2] .. '.' .. buff1[3]) - end - ::TEST_OUT:: - ioqueue.release(hw_timer_id) + + --检查一下是不是对应pin的下降沿中断,不过也不太需要 + if buff2[i * 6 + 0] ~= capture_pin or buff2[i * 6 + 1] ~= 0 then + log.error("capture", i, buff2[i * 6 + 0], buff2[i * 6 + 1]) + end + --通过计算tick差值来确定是bit1还是bit0 + nowTick = buff2:query(i * 6 + 2, 4, false) + buff1[j] = buff1[j] << 1 + if (nowTick - lastTick) > bit1Tick then + buff1[j] = buff1[j] + 1 + end + bit = bit - 1 + if bit == 0 then + j = j + 1 + bit = 8 + end + lastTick = nowTick + end + buff1[5] = buff1[0] + buff1[1] + buff1[2] + buff1[3] + if buff1[4] ~= buff1[5] then + log.info('check fail', buff1[4], buff1[5]) + else + log.info("湿度", buff1[0] .. '.' .. buff1[1], "温度", buff1[2] .. '.' .. buff1[3]) + end + ::TEST_OUT:: + ioqueue.release(hw_timer_id) log.info('output 1 start') --测试高精度固定间隔定时输出,1us间隔翻转电平 @@ -132,10 +132,10 @@ sys.taskInit(function() - - end -end) --- 用户代码已结束--------------------------------------------- --- 结尾总是这一句 -sys.run() --- sys.run()之后后面不要加任何语句!!!!! + + end +end) +-- 用户代码已结束--------------------------------------------- +-- 结尾总是这一句 +sys.run() +-- sys.run()之后后面不要加任何语句!!!!! diff --git a/demo/iotcloud/main.lua b/demo/iotcloud/main.lua index ecdf1fd8..e6869d80 100644 --- a/demo/iotcloud/main.lua +++ b/demo/iotcloud/main.lua @@ -1,6 +1,6 @@ -- LuaTools需要PROJECT和VERSION这两个信息 -PROJECT = "mqttdemo" +PROJECT = "iotclouddemo" VERSION = "1.0.0" -- sys库是标配 @@ -69,9 +69,9 @@ sys.taskInit(function() -- iotcloudc = iotcloud.new(iotcloud.TENCENT,{produt_id = "xxx" ,product_secret = "xxx"}) -- 密钥校验 - -- iotcloudc = iotcloud.new(iotcloud.TENCENT,{produt_id = "xxx",device_name = "123456789",key = "xxx=="}) + -- iotcloudc = iotcloud.new(iotcloud.TENCENT,{produt_id = "xxx",device_name = "xxx",key = "xxx=="}) -- 证书校验 - -- iotcloudc = iotcloud.new(iotcloud.TENCENT,{produt_id = "xxx",device_name = "123456789"},{tls={client_cert=io.readFile("/luadb/client_cert.crt")}}) + -- iotcloudc = iotcloud.new(iotcloud.TENCENT,{produt_id = "xxx",device_name = "xxx"},{tls={client_cert=io.readFile("/luadb/client_cert.crt")}}) -- 阿里云 @@ -109,6 +109,7 @@ end) sys.subscribe("iotcloud", function(cloudc,event,data,payload) if event == iotcloud.CONNECT then -- 云平台联上了 + print("iotcloud","CONNECT", "云平台连接成功") -- iotcloud:subscribe("test") -- 定阅主题 elseif event == iotcloud.RECEIVE then print("iotcloud","topic", data, "payload", payload) diff --git a/demo/ipv6/client/main.lua b/demo/ipv6/client/main.lua index 895a2589..385ed94b 100644 --- a/demo/ipv6/client/main.lua +++ b/demo/ipv6/client/main.lua @@ -27,7 +27,7 @@ end -- 演示task function ipv6test() -- 仅EC618系列支持, 例如Air780E/Air600E/Air780UG/Air700E - if rtos.bsp() ~= "EC618" and rtos.bsp() ~= "EC718P" then + if rtos.bsp() ~= "EC618" and not string.find(rtos.bsp(),"EC718") then while 1 do log.info("ipv6", "only Air780E/Air600E/Air780UG/Air700E/Air780EP supported") sys.wait(1000) diff --git a/demo/ipv6/server/main.lua b/demo/ipv6/server/main.lua index 7a925cf1..6b0ee727 100644 --- a/demo/ipv6/server/main.lua +++ b/demo/ipv6/server/main.lua @@ -32,7 +32,7 @@ HTTP_200_EMTRY = "HTTP/1.0 200 OK\r\nServer: LuatOS\r\nConnection: close\r\nCont -- 演示task function ipv6test() -- 仅EC618系列支持, 例如Air780E/Air600E/Air780UG/Air700E - if rtos.bsp() ~= "EC618" and rtos.bsp() ~= "EC718P" then + if rtos.bsp() ~= "EC618" and not string.find(rtos.bsp(),"EC718") then while 1 do log.info("ipv6", "only Air780E/Air600E/Air780UG/Air700E/Air780EP supported") sys.wait(1000) diff --git a/demo/lcd/main.lua b/demo/lcd/main.lua index a7264ec4..85728df9 100644 --- a/demo/lcd/main.lua +++ b/demo/lcd/main.lua @@ -60,7 +60,7 @@ function lcd_pin() return 2,16,15,14,13 elseif rtos_bsp == "EC618" then return 0,1,10,8,22 - elseif rtos_bsp == "EC718P" then + elseif string.find(rtos_bsp,"EC718") then return lcd.HWID_0,36,0xff,0xff,25 -- 注意:EC718P有硬件lcd驱动接口, 无需使用spi,当然spi驱动也支持 else log.info("main", "bsp not support") diff --git a/demo/lcd_custom/main.lua b/demo/lcd_custom/main.lua index f40993d4..c7a496d1 100644 --- a/demo/lcd_custom/main.lua +++ b/demo/lcd_custom/main.lua @@ -45,7 +45,7 @@ local function lcd_pin() return 2,16,15,14,13 elseif rtos_bsp == "EC618" then return 0,1,10,8,22 - elseif rtos_bsp == "EC718P" then + elseif string.find(rtos_bsp,"EC718") then return lcd.HWID_0,36,0xff,0xff,0xff -- 注意:EC718P有硬件lcd驱动接口, 无需使用spi,当然spi驱动也支持 else log.info("main", "bsp not support") diff --git a/demo/little_flash/main.lua b/demo/little_flash/main.lua index 2fb8767f..06dbd636 100644 --- a/demo/little_flash/main.lua +++ b/demo/little_flash/main.lua @@ -28,7 +28,7 @@ local function little_flash_spi_pin() return 2,14 elseif rtos_bsp == "EC618" then return 0,8 - elseif rtos_bsp == "EC718P" then + elseif string.find(rtos_bsp,"EC718") then return 0,8 else log.info("main", "bsp not support") diff --git a/demo/lora/main.lua b/demo/lora/main.lua index 5035b39a..e3e27db7 100644 --- a/demo/lora/main.lua +++ b/demo/lora/main.lua @@ -34,7 +34,7 @@ local function lora_pin() return 2,14,15,13,12 elseif rtos_bsp == "EC618" then return 0,8,1,18,19 - elseif rtos_bsp == "EC718P" then + elseif string.find(rtos_bsp,"EC718") then return 0,8,1,31,32 else log.info("main", "bsp not support") diff --git a/demo/lora2/main.lua b/demo/lora2/main.lua index 0880b07f..b8d6b1b2 100644 --- a/demo/lora2/main.lua +++ b/demo/lora2/main.lua @@ -34,7 +34,7 @@ local function lora_pin() return 2,14,15,13,12 elseif rtos_bsp == "EC618" then return 0,8,1,18,19 - elseif rtos_bsp == "EC718P" then + elseif string.find(rtos_bsp,"EC718") then return 0,8,1,31,32 else log.info("main", "bsp not support") diff --git a/demo/lvgl/Air780EP/main.lua b/demo/lvgl/Air780EP/main.lua index a5213b70..fbd6317d 100644 --- a/demo/lvgl/Air780EP/main.lua +++ b/demo/lvgl/Air780EP/main.lua @@ -22,7 +22,7 @@ local rtos_bsp = rtos.bsp() -- 根据不同的BSP返回不同的值 -- spi_id,pin_reset,pin_dc,pin_cs,bl function lcd_pin() - if rtos_bsp == "EC718P" then + if string.find(rtos_bsp,"EC718") then return lcd.HWID_0, 36, 0xff, 0xff, 25 -- 注意:EC718P有硬件lcd驱动接口, 无需使用spi,当然spi驱动也支持 else log.info("main", "bsp not support") diff --git a/demo/mqtt/multilink_mqtt.lua b/demo/mqtt/multilink_mqtt.lua index 89ddf667..f6ecc85d 100644 --- a/demo/mqtt/multilink_mqtt.lua +++ b/demo/mqtt/multilink_mqtt.lua @@ -98,7 +98,7 @@ sys.taskInit(function() -------- MQTT 演示代码 -------------- ------------------------------------- - mqttc1 = mqtt.create(nil, mqtt_host, mqtt_port, mqtt_isssl, ca_file) + mqttc1 = mqtt.create(nil, mqtt_host, mqtt_port, mqtt_isssl) mqttc1:auth(client1_id,user_name,password) -- client_id必填,其余选填 -- mqttc1:keepalive(240) -- 默认值240s diff --git a/demo/mqtt/single_mqtt.lua b/demo/mqtt/single_mqtt.lua index 559bc623..09fd7a83 100644 --- a/demo/mqtt/single_mqtt.lua +++ b/demo/mqtt/single_mqtt.lua @@ -90,7 +90,7 @@ sys.taskInit(function() -------- MQTT 演示代码 -------------- ------------------------------------- - mqttc = mqtt.create(nil, mqtt_host, mqtt_port, mqtt_isssl, ca_file) + mqttc = mqtt.create(nil, mqtt_host, mqtt_port, mqtt_isssl) mqttc:auth(client_id,user_name,password) -- client_id必填,其余选填 -- mqttc:keepalive(240) -- 默认值240s diff --git a/demo/mqtt/ssl_mqtt.lua b/demo/mqtt/ssl_mqtt.lua index 751d9662..dfc9272f 100644 --- a/demo/mqtt/ssl_mqtt.lua +++ b/demo/mqtt/ssl_mqtt.lua @@ -96,7 +96,7 @@ sys.taskInit(function() ------------------------------------- -------- MQTT 演示代码 -------------- ------------------------------------- - mqttc = mqtt.create(nil, mqtt_host, mqtt_port, mqtt_isssl, ca_file) + mqttc = mqtt.create(nil, mqtt_host, mqtt_port, mqtt_isssl) mqttc:auth(client_id,user_name,password) -- client_id必填,其余选填 -- mqttc:keepalive(240) -- 默认值240s diff --git a/demo/multimedia/main.lua b/demo/multimedia/main.lua index 37b3933c..d44f2c3a 100644 --- a/demo/multimedia/main.lua +++ b/demo/multimedia/main.lua @@ -59,7 +59,7 @@ function audio_setup() -- audio.setBus(0, audio.BUS_SOFT_DAC) -- end audio.config(0, 25, 1, 3, 100) - elseif bsp == "EC718P" then + elseif string.find(bsp,"EC718") then -- CORE+音频小板是这个配置/云喇叭开发板同为这个配置 local multimedia_id = 0 local i2c_id = 0 --云喇叭开发版是1 diff --git a/demo/pwm/main.lua b/demo/pwm/main.lua index e1a8a679..b2927189 100644 --- a/demo/pwm/main.lua +++ b/demo/pwm/main.lua @@ -15,22 +15,23 @@ if wdt then end local PWM_ID = 0 -if rtos.bsp() == "EC618" then +local rtos_bsp = rtos.bsp() +if rtos_bsp == "EC618" then PWM_ID = 4 -- GPIO 27, NetLed -elseif rtos.bsp() == "EC718P" then +elseif string.find(rtos_bsp,"EC718") then PWM_ID = 2 -- GPIO 25 -elseif rtos.bsp() == "AIR101" or rtos.bsp() == "AIR103" or rtos.bsp() == "AIR601" then +elseif rtos_bsp == "AIR101" or rtos_bsp == "AIR103" or rtos_bsp == "AIR601" then PWM_ID = 4 -- GPIO 4 -elseif rtos.bsp():startsWith("ESP32") then +elseif rtos_bsp:startsWith("ESP32") then -- 注意, ESP32系列的PWM, PWM通道均与GPIO号相同 -- 例如需要用GPIO1输出PWM, 对应的PWM通道就是1 -- 需要用GPIO16输出PWM, 对应的PWM通道就是16 - if rtos.bsp() == "ESP32C3" then + if rtos_bsp == "ESP32C3" then PWM_ID = 12 -- GPIO 12 - elseif rtos.bsp() == "ESP32S3" then + elseif rtos_bsp == "ESP32S3" then PWM_ID = 11 -- GPIO 11 end -elseif rtos.bsp() == "AIR105" then +elseif rtos_bsp == "AIR105" then PWM_ID = 1 -- GPIO 17 end diff --git a/demo/sfud/main.lua b/demo/sfud/main.lua index bc23651b..f4210394 100644 --- a/demo/sfud/main.lua +++ b/demo/sfud/main.lua @@ -28,7 +28,7 @@ local function sfud_spi_pin() return 2,14 elseif rtos_bsp == "EC618" then return 0,8 - elseif rtos_bsp == "EC718P" then + elseif string.find(rtos_bsp,"EC718") then return 0,8 else log.info("main", "bsp not support") diff --git a/demo/tts/main.lua b/demo/tts/main.lua index 6a8fea15..f24d62a8 100644 --- a/demo/tts/main.lua +++ b/demo/tts/main.lua @@ -82,7 +82,7 @@ function audio_setup() -- audio.setBus(0, audio.BUS_SOFT_DAC) -- end audio.config(0, 25, 1, 3, 100) - elseif bsp == "EC718P" then + elseif string.find(bsp,"EC718") then -- CORE+音频小板是这个配置 pm.power(pm.LDO_CTL, false) --开发板上ES8311由LDO_CTL控制上下电 sys.wait(100) diff --git a/demo/u8g2/main.lua b/demo/u8g2/main.lua index 79440f1e..ed11d331 100644 --- a/demo/u8g2/main.lua +++ b/demo/u8g2/main.lua @@ -38,7 +38,7 @@ function u8g2_pin() return 0,12,11,2,16,15,14 elseif rtos_bsp == "EC618" then return 0,10,11,0,1,10,8 - elseif rtos_bsp == "EC718P" then + elseif string.find(rtos_bsp,"EC718") then return 0,14,15,0,14,10,8 else log.info("main", "bsp not support") diff --git a/demo/ws2812/main.lua b/demo/ws2812/main.lua index 33ebd4fc..449ba59b 100644 --- a/demo/ws2812/main.lua +++ b/demo/ws2812/main.lua @@ -50,7 +50,7 @@ local function ws2812_conf() return "pin",2,0,10,10,0 --此为pin方式直驱 elseif rtos_bsp == "EC618" then return "pin",24,10,0,10,0 --此为pin方式直驱 (需要2023.7.25之后编译的固件,否则只能使用spi方式) - elseif rtos_bsp == "EC718P" then + elseif string.find(rtos_bsp,"EC718") then return "pin",29,12,25,50,30 else log.info("main", "bsp not support") diff --git "a/demo/\346\227\213\350\275\254\347\274\226\347\240\201\345\231\250/rotary.lua" "b/demo/\346\227\213\350\275\254\347\274\226\347\240\201\345\231\250/rotary.lua" index 5f250d05..356fd9ec 100644 --- "a/demo/\346\227\213\350\275\254\347\274\226\347\240\201\345\231\250/rotary.lua" +++ "b/demo/\346\227\213\350\275\254\347\274\226\347\240\201\345\231\250/rotary.lua" @@ -5,7 +5,7 @@ local rtos_bsp = rtos.bsp() function pinx() -- 根据不同开发板,给LED赋值不同的gpio引脚编号 if rtos_bsp == "AIR105" then return pin.PC09, pin.PA10 - elseif rtos_bsp == "EC718P" then -- Air780E开发板引脚 + elseif string.find(rtos_bsp,"EC718") then -- Air780E开发板引脚 return 12,13 else log.info("main", "define led pin in main.lua")