簡體   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