Răsfoiți Sursa

Merge branch 'master' into network_ipv6_disabled

Wendal Chen 3 ani în urmă
părinte
comite
fb7d393408

+ 1 - 1
components/multimedia/luat_lib_multimedia_audio.c

@@ -332,7 +332,7 @@ audio.setBus(0, audio.BUS_SOFT_DAC)	--通道0的硬件输出通道设置为软
 audio.setBus(0, audio.BUS_I2S)	--通道0的硬件输出通道设置为I2S
 */
 static int l_audio_set_output_bus(lua_State *L) {
-	luat_audio_set_bus_type(luaL_checkinteger(L, 1));
+	luat_audio_set_bus_type(luaL_checkinteger(L, 2));
     return 0;
 }
 

+ 1 - 1
components/network/libftp/luat_ftp_client.c

@@ -807,7 +807,7 @@ static int l_ftp_login(lua_State *L) {
 		goto error;
 	}
 
-	luat_rtos_task_create(&g_s_ftp.task_handle, 2048, 40, "ftp", ftp_task, NULL, 64);
+	luat_rtos_task_create(&g_s_ftp.task_handle, 2048, 40, "ftp", ftp_task, NULL, 16);
 	network_init_ctrl(g_s_ftp.network->cmd_netc,g_s_ftp.task_handle, ftp_task_cb, NULL);
 	network_set_base_mode(g_s_ftp.network->cmd_netc, 1, 30000, 0, 0, 0, 0);
 	network_set_local_port(g_s_ftp.network->cmd_netc, 0);

+ 41 - 31
script/turnkey/web_audio/audio_play.lua

@@ -68,9 +68,13 @@ audio.on(0, function(id, event)
 end)
 
 local function audio_task()
-    local result
-    -- Air780E开发板配套
-    i2s.setup(0, 0, 0, 0, 0, i2s.MODE_MSB)
+    --Air780E开发板配套+音频扩展板. ES8211
+    --由于音频扩展板的PA是长供电的,有塔塔声音是正常的,做产品的话有额外的参考设计
+    --i2s.setup(0, 0, 0, 0, 0, i2s.MODE_MSB)
+    --如果用软件DAC,打开下面的注释
+    if audio.setBus then
+        audio.setBus(audio.BUS_SOFT_DAC)
+    end
     audio.config(0, 25, 1, 6, 200)
     gpio.setup(24, 0)
     gpio.setup(23, 0)
@@ -78,18 +82,17 @@ local function audio_task()
     gpio.setup(2, 0)
 
     -- 初始化spi flash, 如果是极限版TTS_ONCHIP,就不需要初始化
-    if sfud then
-        spi_flash = spi.deviceSetup(0,8,0,0,8,25600000,spi.MSB,1,0)
-        local ret = sfud.init(spi_flash)
-        if ret then
-            log.info("sfud.init ok")
-        else
-            log.info("sfud.init error", ret)
-            return
-        end
-    else
-        log.info("tts", "TTS_ONCHIP?? skip sfud")
-    end
+    -- if sfud then
+    --     spi_flash = spi.deviceSetup(0,8,0,0,8,25600000,spi.MSB,1,0)
+    --     local ret = sfud.init(spi_flash)
+    --     if ret then
+    --         log.info("sfud.init ok")
+    --     else
+    --         log.info("sfud.init error", ret)
+    --         return
+    --     end
+    -- end
+
     log.info("开始播放音频")
     result = audio.play(0, {"/audio.mp3"})
     if result then
@@ -117,28 +120,35 @@ local function audio_task()
     -- sys.wait(1000)
     sysplus.taskDel(taskName)
 end
+
+
 local function tts_task()
-    local result
-    -- Air780E开发板配套
-    i2s.setup(0, 0, 0, 0, 0, i2s.MODE_MSB)
+    --Air780E开发板配套+音频扩展板. ES8211
+    --由于音频扩展板的PA是长供电的,有塔塔声音是正常的,做产品的话有额外的参考设计
+    --i2s.setup(0, 0, 0, 0, 0, i2s.MODE_MSB)
+
+    --如果用软件DAC,打开下面的注释。  注意此功能适配pwm音频播放开发板,由于MP3文件是32K现在PWM还不支持,播出来的声音会比较慢
+    if audio.setBus then
+        audio.setBus(audio.BUS_SOFT_DAC)
+    end
+
     audio.config(0, 25, 1, 6, 200)
     gpio.setup(24, 0)
     gpio.setup(23, 0)
     gpio.setup(27, 0)
     gpio.setup(2, 0)
-    -- 初始化spi flash, 如果是极限版TTS_ONCHIP,就不需要初始化
-    if sfud then
-        spi_flash = spi.deviceSetup(0,8,0,0,8,25600000,spi.MSB,1,0)
-        local ret = sfud.init(spi_flash)
-        if ret then
-            log.info("sfud.init ok")
-        else
-            log.info("sfud.init error", ret)
-            return
-        end
-    else
-        log.info("tts", "TTS_ONCHIP?? skip sfud")
-    end
+    -- 初始化spi flash, 如果是极限版TTS_ONCHIP,就不需要初始化,
+    -- if sfud then
+    --     spi_flash = spi.deviceSetup(0,8,0,0,8,25600000,spi.MSB,1,0)
+    --     local ret = sfud.init(spi_flash)
+    --     if ret then
+    --         log.info("sfud.init ok")
+    --     else
+    --         log.info("sfud.init error", ret)
+    --         return
+    --     end
+    -- end
+
     log.info("开始播放TTS")
     local result, data = sys.waitUntil("TTS_msg")
     result = audio.tts(0, data)

+ 14 - 11
script/turnkey/web_audio/main.lua

@@ -7,7 +7,6 @@ VERSION = "1.0.0"
     如果外挂了spi flash,就选用后缀是带外挂flash的固件。
     区别:不带外部flash的版本,因为内存空间小,删除了大部分功能,仅供测试web_audio使用
 	    带外部flash的版本功能齐全,和官方发布的固件功能相同。
-    固件下载地址:https://gitee.com/openLuat/LuatOS/attach_files
 ]]
 
 -- sys库是标配
@@ -88,9 +87,11 @@ sys.taskInit(function()
     sys.wait(1000)
     LED = gpio.setup(27, 0, gpio.PULLUP)
     device_id = mobile.imei()
-    sys.waitUntil("IP_READY", 30000)
+    local result= sys.waitUntil("IP_READY", 30000)
+    if not result then
+        log.info("网络连接失败")
+    end
     mqttc = mqtt.create(nil, mqtt_host, mqtt_port, mqtt_isssl, ca_file)
-
     mqttc:auth(client_id, user_name, password) -- client_id必填,其余选填
     mqttc:keepalive(30) -- 默认值240s
     mqttc:autoreconn(true, 3000) -- 自动重连机制
@@ -108,17 +109,19 @@ sys.taskInit(function()
             -- mqttmsg(payload)
         elseif event == "sent" then
             log.info("mqtt", "sent", "pkgid", data)
-            -- elseif event == "disconnect" then
-            --     -- 非自动重连时,按需重启mqttc
-            --     log.info("mqtt链接断开")
-            --     -- mqtt_client:connect()
+        -- elseif event == "disconnect" then
+        --     -- 非自动重连时,按需重启mqttc
+        --     log.info("mqtt链接断开")
+        --     -- mqtt_client:connect()
         end
     end)
-    local state = mqttc:connect()
-    if state then
-        log.info("mqtt 连接成功")
-    else
+    mqttc:connect()
+    sys.wait(1000)
+    local error = mqttc:ready()
+    if not error then
         log.info("mqtt 连接失败")
+    else
+        log.info("mqtt 连接成功")
     end
     sys.waitUntil("mqtt_conack")
     while true do