コード例 #1
0
        public CoinChargeAnswer Charge(char money = '1')
        {
            List <byte> data = new List <byte>();

            data.Add(0x02);
            data.Add(0x53);
            data.Add((byte)money);
            data.Add(0x03);
            var total = data.ToArray();
            CoinChargeAnswer answer = CoinChargeAnswer.TimeOut;

            try
            {
                serial.Write(total, 0, total.Length);
                serial.DiscardInBuffer();
                if (enabletimeout)
                {
                    serial.ReadTimeout = READ_TIME_OUT;
                }
                var b = (byte)serial.ReadByte();
                answer = (CoinChargeAnswer)b;
                Log.Out("charge->" + answer);
            }
            catch (Exception ex)
            {
                Log.Out(ex.Message);
            }
            return(answer);
        }
コード例 #2
0
 private static int Charge1(int count)
 {
     if (count > 0)
     {
         Log.In("1元找零个数->" + count);
         for (int i = 1; i <= count; i++)
         {
             CoinChargeAnswer answer = coin1Com.Charge();
             if (answer == CoinChargeAnswer.OK)
             {
                 s_m1--;
                 chargeItems.Add(ChargeMoneyType.M1);
                 if (OnCharging != null)
                 {
                     OnCharging(null, ChargeMoneyType.M1);
                 }
             }
             else
             {
                 if (OnHopperEmpty != null)
                 {
                     OnHopperEmpty(null, ChargeMoneyType.M1);
                 }
                 break;
             }
         }
     }
     return(s_m1);
 }
コード例 #3
0
 /// <summary>
 /// 5元找零
 /// </summary>
 /// <param name="count"></param>
 /// <returns>1元的张数</returns>
 public static int Charge5(int count)
 {
     if (count > 0)
     {
         Log.In("5元找零个数->" + count);
         for (var i = 1; i <= count; i++)
         {
             CoinChargeAnswer answer = coin5Com.Charge();
             if (answer == CoinChargeAnswer.OK)
             {
                 s_m5--;
                 chargeItems.Add(ChargeMoneyType.M5);
                 if (OnCharging != null)
                 {
                     OnCharging(null, ChargeMoneyType.M5);
                 }
             }
             else
             {
                 if (OnHopperEmpty != null)
                 {
                     OnHopperEmpty(null, ChargeMoneyType.M5);
                 }
                 break;
             }
         }
     }
     if (s_m5 > 0)
     {
         //5元钱不够,使用1元进行补
         var temp = s_m5 * 5;
         return(temp);
     }
     return(0);
 }
コード例 #4
0
        public CoinChargeAnswer Charge(char money = '1')
        {
            List <byte> send = new List <byte>();

            send.Add(0x02);
            send.Add(0x53);
            send.Add((byte)money);
            send.Add(0x03);
            var total = send.ToArray();

            sp.Write(total, 0, total.Length);

            CoinChargeAnswer answer = CoinChargeAnswer.TimeOut;

            sp.ReadTimeout = READ_TIME_OUT;
            try
            {
                sp.DiscardInBuffer();
                var b = (byte)sp.ReadByte();
                answer = (CoinChargeAnswer)b;
            }
            catch
            {
            }
            return(answer);
        }
コード例 #5
0
 /// <summary>
 /// 5元找零
 /// </summary>
 /// <param name="count"></param>
 /// <returns>1元的张数</returns>
 public static void Charge5(int count)
 {
     if (coin5Com == null)
     {
         Log.Out("5元找零未初始化");
         return;
     }
     if (count > 0)
     {
         Log.In("5元找零个数->" + count);
         for (var i = 1; i <= count; i++)
         {
             CoinChargeAnswer answer = coin5Com.Charge();
             if (answer == CoinChargeAnswer.OK)
             {
                 s_m5--;
                 chargeItems.Add(ChargeMoneyType.M5);
                 if (OnCharging != null)
                 {
                     OnCharging(null, ChargeMoneyType.M5);
                 }
             }
             else
             {
                 if (OnHopperEmpty != null)
                 {
                     OnHopperEmpty(null, ChargeMoneyType.M5);
                 }
                 break;
             }
         }
         Log.In("5找零结束");
     }
 }
コード例 #6
0
ファイル: DeviceBus.cs プロジェクト: ysjr-2002/moneymore
 private static int Charge1(int m1)
 {
     if (m1 > 0)
     {
         Log.In("1元找零->" + s_m1);
         for (int i = 1; i < s_m1; i++)
         {
             CoinChargeAnswer answer = coin1_com5.Charge();
             if (answer == CoinChargeAnswer.OK)
             {
                 s_m1--;
                 if (OnCharging != null)
                 {
                     OnCharging(null, ChargeMoneyType.M1);
                 }
             }
             else
             {
                 if (OnHopperEmpty != null)
                 {
                     OnHopperEmpty(null, ChargeMoneyType.M1);
                 }
                 break;
             }
         }
     }
     return(0);
 }
コード例 #7
0
ファイル: DeviceBus.cs プロジェクト: ysjr-2002/moneymore
 public static int Charge5(int m5)
 {
     if (m5 > 0)
     {
         Log.In("5元找零->" + s_m5);
         for (var i = 1; i <= m5; i++)
         {
             CoinChargeAnswer answer = coin5_com6.Charge();
             if (answer == CoinChargeAnswer.OK)
             {
                 s_m5--;
                 if (OnCharging != null)
                 {
                     OnCharging(null, ChargeMoneyType.M5);
                 }
             }
             else
             {
                 if (OnHopperEmpty != null)
                 {
                     OnHopperEmpty(null, ChargeMoneyType.M5);
                 }
                 break;
             }
         }
     }
     if (s_m5 > 0)
     {
         //5元钱不够,使用1元进行补
         var temp = s_m5 * 5;
         return(temp);
     }
     return(0);
 }
コード例 #8
0
        /// <summary>
        /// 发送找零指令
        /// </summary>
        /// <param name="money"></param>
        public void Charge(string money)
        {
            var count = money.Tobyte();

            for (int i = 1; i <= count; i++)
            {
                CoinChargeAnswer answer = Charge();
                if (answer == CoinChargeAnswer.OK)
                {
                    Log.In("出->1");
                }
                if (answer == CoinChargeAnswer.HopperEmpty)
                {
                    Log.In("出->空");
                }
                if (answer == CoinChargeAnswer.TimeOut)
                {
                    Log.In("出->超时");
                }
            }
        }