示例#1
0
 /*
  * ◆NO RESPONSE
  *  Controller   CashCode
  *      ┃   Command  ┃
  *      ┣━━━━━━━━━━━▶┃
  *      ┃            ┃
  *      ┃   ACK      ┃
  *      ┃◀━━━━━━━━━━━┫
  *      ┃            ┃
  * ◆Has RESPONSE
  *  Controller   CashCode
  *    ━━┫   Command  ┃
  *   ▲  ┣━━━━━━━━━━━▶┃
  *      ┃   Data     ┃
  * 100-200ms ┃◀━━━━━━━━━━━┫
  *      ┃   ACK      ┃
  *   ▼  ┣━━━━━━━━━━━▶┃
  *    ━━┫Next Command┃
  *      ┣━━━━━━━━━━━▶┃
  *      ┃            ┃
  * ◆Controller Found CRC Failed
  *  Controller        CashCode
  *    ━━┫    Command      ┃
  *   ▲  ┣━━━━━━━━━━━━━━━━▶┃
  *      ┃ Data,CRC Failed ┃
  * 100-200ms ┃◀━━━━━━━━━━━━━━━━┫
  *      ┃    NAK          ┃
  *   ▼  ┣━━━━━━━━━━━━━━━━▶┣
  *      ┃    Command      ┃ <=10ms
  *    ━━╋━━━━━━━━━━━━━━━━▶┣
  *      ┃    Data         ┃
  *      ┃◀━━━━━━━━━━━━━━━━┫
  *      ┃    ACK          ┃
  *      ┣━━━━━━━━━━━━━━━━▶┃
  * ◆Client Found CRC Failed
  *  Controller        CashCode
  *    ━━┫    Command      ┃
  *   ▲  ┣━━━━━━━━━━━━━━━━▶┃
  * 100-200ms   ┃    NAK          ┃
  *      ┃◀━━━━━━━━━━━━━━━━┫
  *   ▼  ┃    Command      ┃ <=10ms
  *    ━━╋━━━━━━━━━━━━━━━━▶┣
  *      ┃    Data         ┃
  *      ┃◀━━━━━━━━━━━━━━━━┫
  *      ┃    ACK          ┃
  *      ┣━━━━━━━━━━━━━━━━▶┃
  *
  */
 public CashCodeB2B(CashCodeB2BCfg Cfg, ILogger <CashCodeB2B> Logger)
 {
     _Logger     = Logger;
     _Cfg        = Cfg;
     _CTkS       = new CancellationTokenSource();
     _SerialPort = new SerialPort(_Cfg.DecicePort);
 }
 public B2BReceivingProcessing(CashCodeB2BCfg Cfg, ILogger <CashCodeB2B> Logger) : base(Cfg, Logger)
 {
     this.OnReceived += Device_OnRecivedHandler;
 }