gpt4 book ai didi

android - ConsumerIrManager.transmit 在 Lollipop 中损坏?

转载 作者:太空狗 更新时间:2023-10-29 14:57:38 26 4
gpt4 key购买 nike

我昨天将我的三星 Galaxy S4 从最新的 KitKat 升级到 Lollipop (5.0.1),我使用了几个月的红外遥控应用程序停止工作。

由于我使用的是 KitKat ConsumerIrManager 的最新副本,transmit() 函数使用以下代码发送脉冲数。效果非常好。

private void irSend(int freqHz, int[] pulseTrainInMicroS) {
int [] pulseCounts = new int [pulseTrainInMicroS.length];

for (int i=0; i<pulseTrainInMicroS.length; i++) {
long iValue = pulseTrainInMicroS[i] * freqHz / 1000000;
pulseCounts[i] = (int) iValue;
}

m_IRService.transmit(freqHz, pulseCounts);
}

昨天它停止工作时,我开始仔细观察它。

我注意到传输的波形与请求的脉冲序列没有任何关系。即使下面的代码也不能正常工作!有

private void TestSend() {
int [] pulseCounts = {100, 100, 100};

m_IRService.transmit(38000, pulseCounts);
}

生成的波形有很多问题,因此完全没有用。

  • 波形完全错误
  • 频率错误,脉冲间隔不规则
  • 它们不可重复

查看解调波形:如果我的 100、100、100 被正确渲染,我应该看到两个 2.6ms 的脉冲(在 4.4.3(?)100 us 之前)。相反,我收到(见附件)“[解调]不可重复 1.BMP”和“[解调]不可重复 2.BMP”。请注意,波形不是 2 个脉冲...事实上,它甚至不可重复。

对于下面的捕获,当检测到 IR 时信号变低。

wrong and not repeatable

wrong and not repeatable

我们应该看到两个脉冲在它们之间分别持续 2.6 毫秒和 2.6 毫秒(见下面的绿线)。

enter image description here

我还尝试过使用 50、50、50 的较短脉冲,并观察到第一个脉冲也不正确(见下文)。

enter image description here

查看调制波形:频率不正确;相反,它大约为 18kHz 且不规则。

wrong frequency and irregular

我在这方面非常有经验,并且接受过电子方面的正规教育。

在我看来,ConsumerIrManager.transmit( ) 中存在错误...

奇怪的是,手机自带的“WatchOn”应用程序仍然有效。

感谢您提供的任何见解。

测试设备:Tektronix TDS-2014B,100 MHz,用于峰值检测模式。

最佳答案

正如@IvanTellez 所说,Android 对此功能进行了更改。奇怪的是,当我让它输出简单的红外信号(用于故障排除目的)时,该功能的行为如上所示(不稳定,载波频率错误等)。当我最终恢复正常类型的 IR 信号时,它工作正常。

关于android - ConsumerIrManager.transmit 在 Lollipop 中损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29880440/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com