识别第一个调谐请求
某些调谐器需要围绕某个频率进行回转才能获取有效的信号强度/PLL 信息,因此微型驱动程序可能需要识别 KsTvTune.ax 发出初始优化请求。
每个优化请求实际上是对微型驱动程序的一对请求。 微型驱动程序首先接收一组 KSPROPERTY_TUNER_FREQUENCY 请求,然后接收一个或多个获取 KSPROPERTY_TUNER_STATUS 请求。
在第一个优化请求中,设置请求与第一个获取请求之间存在延迟。 微型驱动程序在 KSPROPERTY_TUNER_MODE_CAPS_S 结构的 SettlingTime 成员中设置延迟长度(以毫秒为单位)。 获取请求每五毫秒重复一次,而KSPROPERTY_TUNER_STATUS_S结构的 Busy 成员为非零,最多尝试五次。
KsTvTune.ax 不会认为优化请求已完成,直到它从设备收到非总线状态,或者如果设备在KSPROPERTY_TUNER_MODE_CAPS_S结构的 SettlingTime 成员指定的间隔后 20 毫秒仍然繁忙,以先到者为准。
此后,对于微调模式下的每个优化请求,设置请求与第一个获取请求之间的间隔为 5 毫秒。
如果希望 KsTvTune.ax 在初始请求后至少重试一次,请始终在第一个优化请求上返回 PLLOffset 值 1。 KsTvTune.ax 立即尝试KSPROPERTY_TUNER_MODE_CAPS_S结构的TuningGranularity 成员指定的下一步。 此时,如果微型驱动程序确定没有信号,则可以返回大于 1 或小于 -1 的 PLLOffset 值;如果微型驱动程序确定信号良好,则可以返回 PLLOffset 值 -1 或 0。