繁体   English   中英

MC75条码读取器问题

[英]MC75 Barcode Reader Issue

我正在协助开发针对Motorola MC75的定制应用程序。 除条形码读取器的随机错误外,它都经过了很好的调整。 条形码读取器仅在定期按下右肩按钮时才会激活(开始读取)。 中间和左肩按钮以某种方式被禁用。 这是一个独特的错误,因为它随机发生并且仅影响三个按钮中的两个。 EMDK同时启用所有按钮,因此我不知道它来自何处(内部或与代码相关)。 如果有人有任何意见或建议,请事先告知我并谢谢您。

谢谢,

扎克

在MC55上,我曾与Motorola EMDK合作。 我不确定为什么按钮被禁用,并且由于您在6月份发布了此按钮,您可能不再需要答案了,但是这里有一个可能的解决方法:

您可以通过设置一个事件来捕获所有触发器,而不是让EMDK自己处理触发器:

// Create a trigger device to handle all trigger events of stage 2 (pressed) or RELEASED
var device = new TriggerDevice(TriggerID.ALL_TRIGGERS, new[] { TriggerState.RELEASED, TriggerState.STAGE2 });
var trigger = new Trigger(device);
trigger.Stage2Notify += OnTrigger;

然后,在OnTrigger方法中,您可以处理触发器并执行适当的操作。 例如,您可以在按下任何触发器时激活条形码读取器:

private void OnTrigger(object sender, TriggerEventArgs e)
{
    if (e.NewState == e.PreviousState)
        return;

    // Pseudocode
    if (e.NewState == TriggerState.RELEASED)
    {
        myBarcodeReader.Actions.ToggleSoftTrigger();
        myBarcodeReader.Actions.Flush();
        myBarcodeReader.Actions.Disable();
    }
    else if (e.NewState == TriggerState.STAGE2)
    {
        // Prepare the barcode reader for scanning
        // This initializes various objects but does not actually enable the scanner device
        // The scanner device would still need to be triggered either via hardware or software
        myBarcodeReader.Actions.Enable();
        myBarcodeReader.Actions.Read(data);
        // Finally, turn on the scanner via software
        myBarcodeReader.Actions.ToggleSoftTrigger();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM