Просмотр исходного кода

update:780EP的多媒体demo自适应开发板

alienwalker 1 год назад
Родитель
Сommit
e20d60ff26
1 измененных файлов с 29 добавлено и 7 удалено
  1. 29 7
      demo/multimedia/main.lua

+ 29 - 7
demo/multimedia/main.lua

@@ -61,11 +61,6 @@ function audio_setup()
         audio.config(0, 25, 1, 3, 100)
     elseif bsp == "EC718P" then
 		-- CORE+音频小板是这个配置/云喇叭开发板同为这个配置
-
-        pm.power(pm.LDO_CTL, false)  --开发板上ES8311由LDO_CTL控制上下电
-        sys.wait(100)
-        pm.power(pm.LDO_CTL, true)  --开发板上ES8311由LDO_CTL控制上下电
-
         local multimedia_id = 0
         local i2c_id = 0	--云喇叭开发版是1
         local i2s_id = 0
@@ -87,7 +82,34 @@ function audio_setup()
         local voice_vol = 70
         local mic_vol = 80
     
-        i2c.setup(i2c_id,i2c.FAST)
+		local find_es8311 = false
+		--自适应开发板,如果明确是I2C几就不用了
+		i2c.setup(0, i2c.FAST)
+		i2c.setup(1, i2c.FAST)
+		pm.power(pm.LDO_CTL, false)  --开发板上ES8311由LDO_CTL控制上下电
+		sys.wait(10)
+		pm.power(pm.LDO_CTL, true)  --开发板上ES8311由LDO_CTL控制上下电
+		sys.wait(10)
+		if i2c.send(0, 0x18, 0xfd) == true then
+			log.info("音频小板", "codec on i2c0")
+			i2c_id = 0
+			find_es8311 = true
+		else
+			if i2c.send(1, 0x18, 0xfd) == true then
+				log.info("云喇叭开发板", "codec on i2c1")
+				find_es8311 = true
+				power_pin = nil
+				i2c_id = 1
+			end
+		end
+
+		if not find_es8311 then
+			while true do
+				log.info("not find es8311")
+				sys.wait(1000)
+			end
+		end
+		
         i2s.setup(i2s_id, i2s_mode, i2s_sample_rate, i2s_bits_per_sample, i2s_channel_format, i2s_communication_format,i2s_channel_bits)
     
         audio.config(multimedia_id, pa_pin, pa_on_level, power_delay, pa_delay, power_pin, power_on_level, power_time_delay)
@@ -115,7 +137,7 @@ function audio_setup()
         local power_on_level = 1
         local power_delay = 3
         local power_time_delay = 0
-
+		local voice_vol = 100
         -- local voice_vol = 200	--默认就不放大了
         i2s.setup(i2s_id, i2s_mode, i2s_sample_rate, i2s_bits_per_sample, i2s_channel_format, i2s_communication_format,i2s_channel_bits)
         audio.config(multimedia_id, pa_pin, pa_on_level, power_delay, pa_delay, power_pin, power_on_level, power_time_delay)