Esempio n. 1
0
        /// <summary>
        /// Sample : Sending zero clear commands.
        /// </summary>
        public static Communication.PeripheralStatus SendZeroClearCommands(IPort port)
        {
            // Check scale status.
            Communication.PeripheralStatus status = GetScaleStatus(port);

            if (status != Communication.PeripheralStatus.Connect) // Scale is not connected.
            {
                return(status);
            }

            // Create scale commands.
            byte[] scaleCommands = ScaleFunctions.CreateZeroClear();

            // Send scale commands.
            Communication.CommunicationResult result = Communication.SendCommandsDoNotCheckCondition(scaleCommands, port);

            if (result != Communication.CommunicationResult.Success)
            {
                return(Communication.PeripheralStatus.Impossible);
            }
            else
            {
                return(Communication.PeripheralStatus.Connect);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Sample : Getting scale status.
        /// </summary>
        public static Communication.PeripheralStatus GetScaleStatus(IPort port)
        {
            // Create IPeripheralConnectParser object.
            IPeripheralConnectParser parser = StarIoExt.CreateScaleConnectParser(ScaleModel.APS10);

            // Usage of parser sample is "Communication.ParseDoNotCheckCondition(IPeripheralCommandParser parser, IPort port)".
            Communication.CommunicationResult result = Communication.ParseDoNotCheckCondition(parser, port);

            // Check peripheral status.
            Communication.PeripheralStatus status = Communication.PeripheralStatus.Invalid;
            if (result == Communication.CommunicationResult.Success)
            {
                // Check parser property value.
                if (parser.IsConnected) // connect
                {
                    status = Communication.PeripheralStatus.Connect;
                }
                else // disconnect
                {
                    status = Communication.PeripheralStatus.Disconnect;
                }
            }
            else // communication error
            {
                status = Communication.PeripheralStatus.Impossible;
            }

            return(status);
        }
Esempio n. 3
0
        /// <summary>
        /// Sample : Getting displayed weight.
        /// </summary>
        public static Communication.PeripheralStatus GetScaleDisplayedWeight(IPort port, ref DisplayedWeightStatus weightStatus, ref string weight)
        {
            // Check scale status.
            Communication.PeripheralStatus status = GetScaleStatus(port);

            if (status != Communication.PeripheralStatus.Connect) // Scale is not connected.
            {
                return(status);
            }

            // Create IScaleWeightParser object.
            IScaleWeightParser parser = StarIoExt.CreateScaleWeightParser(ScaleModel.APS10);

            // Usage of parser sample is "ScaleCommunication.ParseDoNotCheckCondition(IPeripheralCommandParser parser, IPort port)".
            Communication.CommunicationResult result = ScaleCommunication.ParseDoNotCheckCondition(parser, port);

            if (result != Communication.CommunicationResult.Success) // communication error.
            {
                return(Communication.PeripheralStatus.Impossible);
            }

            // Check parser property value.
            weightStatus = parser.Status;                   // WeightStatus
            weight       = parser.Weight;                   // weight

            return(Communication.PeripheralStatus.Connect); // Success
        }
Esempio n. 4
0
        /// <summary>
        /// Sample : Display graphic.
        /// </summary>
        public static Communication.PeripheralStatus DoGraphicPattern(DisplayFunctionManager.GraphicPattern pattern, IPort port)
        {
            // Check display status.
            Communication.PeripheralStatus status = GetDiaplayStatus(port);

            if (status != Communication.PeripheralStatus.Connect) // Display is not connected.
            {
                return(status);
            }

            // Create display commands.
            byte[] displayCommands = DisplayFunctions.CreateGraphicPattern(pattern);

            // Send display commands.
            Communication.CommunicationResult result = Communication.SendCommandsDoNotCheckCondition(displayCommands, port);

            if (result != Communication.CommunicationResult.Success)
            {
                return(Communication.PeripheralStatus.Impossible);
            }
            else
            {
                return(Communication.PeripheralStatus.Connect);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Sample : Display character set code page type.
        /// </summary>
        public static Communication.PeripheralStatus DoCharacterSetCodePagePattern(DisplayCodePageType codePageType, IPort port)
        {
            // Check display status.
            Communication.PeripheralStatus status = GetDiaplayStatus(port);

            if (status != Communication.PeripheralStatus.Connect) // Display is not connected.
            {
                return(status);
            }

            // Select character set.
            DisplayInternationalType internationalType = SharedInformationManager.GetSelectedInternationalType();

            // Create display commands.
            byte[] displayCommands = DisplayFunctions.CreateCharacterSet(internationalType, codePageType);

            // Send display commands.
            Communication.CommunicationResult result = Communication.SendCommandsDoNotCheckCondition(displayCommands, port);

            if (result != Communication.CommunicationResult.Success)
            {
                return(Communication.PeripheralStatus.Impossible);
            }
            else
            {
                return(Communication.PeripheralStatus.Connect);
            }
        }
Esempio n. 6
0
        /// <summary>
        /// Sample : Display user defined character.
        /// </summary>
        public static Communication.PeripheralStatus DoUserDefinedCharacterPattern(bool set, IPort port)
        {
            // Check display status.
            Communication.PeripheralStatus status = GetDiaplayStatus(port);

            if (status != Communication.PeripheralStatus.Connect) // Display is not connected.
            {
                return(status);
            }

            // Create display commands.
            byte[] displayCommands = DisplayFunctions.CreateUserDefinedCharacter(set);

            // Send display commands.
            Communication.CommunicationResult result = Communication.SendCommandsDoNotCheckCondition(displayCommands, port);

            if (result != Communication.CommunicationResult.Success)
            {
                return(Communication.PeripheralStatus.Impossible);
            }
            else
            {
                return(Communication.PeripheralStatus.Connect);
            }
        }
Esempio n. 7
0
        public static Communication.CommunicationResult ParseDoNotCheckCondition(IPeripheralCommandParser parser, string portName, string portSettings, int timeout)
        {
            Communication.CommunicationResult result = Communication.CommunicationResult.ErrorUnknown;

            IPort port = null;

            try
            {
                result = Communication.CommunicationResult.ErrorOpenPort;

                port = Factory.I.GetPort(portName, portSettings, timeout);

                result = ParseDoNotCheckCondition(parser, port);
            }
            catch (PortException)
            {
            }
            finally
            {
                if (port != null)
                {
                    Factory.I.ReleasePort(port);
                }
            }

            return(result);
        }
        public static void PrintLocalizeReceiptWithAllReceipts(ReceiptInformationManager receiptInfo)
        {
            Communication.CommunicationResult result = Communication.CommunicationResult.ErrorUnknown;

            ProgressBarWindow progressBarWindow = new ProgressBarWindow("Communicating...", () =>
            {
                // Create print receipt with AllReceipts commands.
                byte[] commands = CreateLocalizeReceiptWithAllReceiptsCommands(receiptInfo);

                if (commands == null) // All print settings (Receipt, Information, QR Code) are OFF.
                {
                    result = Communication.CommunicationResult.Success;

                    return;
                }

                // Your printer PortName and PortSettings.
                string portName     = SharedInformationManager.GetSelectedPortName();
                string portSettings = SharedInformationManager.GetSelectedPortStrrings();

                // Send commands to printer
                result = Communication.SendCommands(commands, portName, portSettings, 30000);
            });

            progressBarWindow.ShowDialog();

            Communication.ShowCommunicationResultMessage(result);
        }
        private void PrintReceipt()
        {
            lock (lockObject)
            {
                Communication.CommunicationResult result = Communication.CommunicationResult.ErrorUnknown;

                ReceiptInformationManager receiptInfo = SharedInformationManager.ReceiptInformationManager;

                ProgressBarWindow progressBarWindow = new ProgressBarWindow("Communicating...", () =>
                {
                    byte[] commands = AllReceiptsSampleManager.CreateLocalizeReceiptWithAllReceiptsCommands(receiptInfo);

                    if (commands == null) // All print settings (Receipt, Information, QR Code) are OFF.
                    {
                        result = Communication.CommunicationResult.Success;

                        return;
                    }

                    result = Communication.SendCommands(commands, port);
                });

                progressBarWindow.ShowDialog();

                Communication.ShowCommunicationResultMessage(result);
            }
        }
Esempio n. 10
0
        public static Communication.CommunicationResult ParseDoNotCheckConditionWithProgressBar(IPeripheralCommandParser parser, IPort port)
        {
            Communication.CommunicationResult result = Communication.CommunicationResult.ErrorUnknown;

            ProgressBarWindow progressBarWindow = new ProgressBarWindow("Communicating...", () =>
            {
                result = ParseDoNotCheckCondition(parser, port);
            });

            progressBarWindow.ShowDialog();

            return(result);
        }
        /// <summary>
        /// Sample : Getting device status.
        /// </summary>
        private StarPrinterStatus GetDeviceStatus()
        {
            // Your printer PortName and PortSettings.
            string portName     = SharedInformationManager.GetSelectedPortName();
            string portSettings = SharedInformationManager.GetSelectedPortStrrings();

            StarPrinterStatus status = null;

            Communication.CommunicationResult communicationResult = Communication.RetrieveStatus(ref status, portName, portSettings, 30000);

            if (communicationResult != Communication.CommunicationResult.Success)
            {
                return(null);
            }

            return(status);
        }
        /// <summary>
        /// Sample : Getting firmware information.
        /// </summary>
        private Dictionary <string, string> GetFirmwareInformation()
        {
            // Your printer PortName and PortSettings.
            string portName     = SharedInformationManager.GetSelectedPortName();
            string portSettings = SharedInformationManager.GetSelectedPortStrrings();

            // Request firmware information.
            Dictionary <string, string> firmwareInformation = new Dictionary <string, string>();

            Communication.CommunicationResult communicationResult = Communication.RequestFirmwareInformation(ref firmwareInformation, portName, portSettings, 30000);

            if (communicationResult != Communication.CommunicationResult.Success)
            {
                return(null);
            }

            return(firmwareInformation);
        }
Esempio n. 13
0
        /// <summary>
        /// Sample : Checking barcode reader status.
        /// </summary>
        private void CheckBarcodeReaderStatus()
        {
            // Create IPeripheralConnectParser object.
            IPeripheralConnectParser parser = StarIoExt.CreateBcrConnectParser(BcrModel.POP1);

            // Usage of parser sample is "Communication.ParseDoNotCheckCondition(IPeripheralCommandParser parser, IPort port)".
            Communication.CommunicationResult result = Communication.ParseDoNotCheckCondition(parser, port);

            // Check peripheral status.
            currentBarcodeReaderStatus = Communication.PeripheralStatus.Invalid;
            if (result == Communication.CommunicationResult.Success)
            {
                // Check parser property value.
                if (parser.IsConnected) // connect
                {
                    currentBarcodeReaderStatus = Communication.PeripheralStatus.Connect;
                }
                else // disconnect
                {
                    currentBarcodeReaderStatus = Communication.PeripheralStatus.Disconnect;
                }
            }
            else // communication error
            {
                currentBarcodeReaderStatus = Communication.PeripheralStatus.Impossible;
            }

            switch (currentBarcodeReaderStatus)
            {
            default:
            case Communication.PeripheralStatus.Impossible:
                OnPrinterImpossible();
                break;

            case Communication.PeripheralStatus.Connect:
                OnBarcodeReaderConnect();
                break;

            case Communication.PeripheralStatus.Disconnect:
                OnBarcodeReaderDisconnect();
                break;
            }
        }
Esempio n. 14
0
        public static void ShowPrinterSerialNumber()
        {
            // Your printer PortName and PortSettings.
            string portName     = SharedInformationManager.GetSelectedPortName();
            string portSettings = SharedInformationManager.GetSelectedPortStrrings();

            string serialNumber = "";

            // Getting printer serial number is "Communication.GetSerialNumber(ref string serialNumber, IPort port)".
            Communication.CommunicationResult result = Communication.GetSerialNumberWithProgressBar(ref serialNumber, portName, portSettings, 30000);

            if (result == Communication.CommunicationResult.Success)
            {
                Util.ShowMessage("Serial Number", serialNumber);
            }
            else
            {
                Communication.ShowCommunicationResultMessage(result);
            }
        }
Esempio n. 15
0
        /// <summary>
        /// Sample : Reading barcode reader data.
        /// </summary>
        private void ReadBarcodeReaderData()
        {
            // Barcode reader data parser sample is in "BcrDataParser" class.
            BcrDataParser parser = new BcrDataParser();

            // Usage of parser sample is "Communication.ParseDoNotCheckCondition(IPeripheralCommandParser parser, IPort port)".
            Communication.CommunicationResult result = Communication.ParseDoNotCheckCondition(parser, port);

            if (result != Communication.CommunicationResult.Success)
            {
                OnPrinterImpossible();

                return;
            }

            // Check parser property value.
            byte[] barcodeData = parser.Data;

            if (barcodeData != null) // Barcode reader data is not empty.
            {
                OnBarcodeDataReceived(barcodeData);
            }
        }
Esempio n. 16
0
        /// <summary>
        /// Sample : Parse printer response for getting scale displayed weight.
        /// </summary>
        public static Communication.CommunicationResult ParseDoNotCheckCondition(IPeripheralCommandParser parser, IPort port)
        {
            byte[] requestWeightToScaleCommand     = parser.SendCommands;
            byte[] receiveWeightFromPrinterCommand = parser.ReceiveCommands;

            Communication.CommunicationResult result = Communication.CommunicationResult.ErrorUnknown;

            try
            {
                uint startDate = (uint)Environment.TickCount;

                byte[] readBuffer       = new byte[1024];
                uint   totalReceiveSize = 0;
                int    requestCount     = 0;

                while (true)
                {
                    if ((UInt32)Environment.TickCount - startDate >= 1000) // Timeout
                    {
                        throw new PortException("ReadPort timeout.");
                    }

                    result = Communication.CommunicationResult.ErrorWritePort;

                    if ((UInt32)Environment.TickCount - startDate >= 250 * requestCount) // Send request displayed weight commands every 250ms.
                    {
                        port.WritePort(requestWeightToScaleCommand, 0, (uint)requestWeightToScaleCommand.Length);

                        requestCount++;

                        Thread.Sleep(100);
                    }

                    // Send read weight from printer commands.
                    port.WritePort(receiveWeightFromPrinterCommand, 0, (uint)receiveWeightFromPrinterCommand.Length);

                    Thread.Sleep(100);

                    result = Communication.CommunicationResult.ErrorReadPort;

                    uint receiveSize = port.ReadPort(ref readBuffer, totalReceiveSize, (uint)(readBuffer.Length - totalReceiveSize));

                    if (receiveSize > 0)
                    {
                        totalReceiveSize += receiveSize;
                    }

                    byte[] receiveData = new byte[totalReceiveSize];

                    Array.Copy(readBuffer, 0, receiveData, 0, totalReceiveSize);

                    if (parser.Parse(receiveData, (int)totalReceiveSize) == ParseResult.Success)
                    {
                        result = Communication.CommunicationResult.Success;

                        break;
                    }
                }
            }
            catch (PortException)
            {
            }

            return(result);
        }