Ejemplo n.º 1
0
        private void cmdNext_Click(object sender, EventArgs e)
        {
            if (null != m_Command)
            {
                System.UInt16[] hwResult = null;
                if (HEXBuilder.HEXStringToU16Array(txtWriteWord.Text, ref hwResult))
                {
                    //! legal input
                    ((ESCommandWriteWord)m_Command).DataValue = hwResult[0];
                }
                else
                {
                    MessageBox.Show
                    (
                        "Please Enter Word in legal HEX string format.",
                        "Wizard Warnning",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Warning
                    );
                    return;
                }
            }


            frmCommandWizardStepH CommandWizard = new frmCommandWizardStepH(m_Command);

            this.Hide();
            CommandWizard.Show();
            this.Dispose();
        }
 private void txtWriteWord_TextChanged(object sender, EventArgs e)
 {
     System.UInt16[] hwResult = null;
     if (false == HEXBuilder.HEXStringToU16Array(txtWriteWord.Text, ref hwResult))
     {
         //! illegal input
         txtWriteWord.Text = "";
     }
 }
Ejemplo n.º 3
0
        private void cmdPrevious_Click(object sender, EventArgs e)
        {
            if (null != m_Command)
            {
                System.UInt16[] hwResult = null;
                if (HEXBuilder.HEXStringToU16Array(txtWriteWord.Text, ref hwResult))
                {
                    //! legal input
                    ((ESCommandWriteWord)m_Command).DataValue = hwResult[0];
                }
            }

            frmCommandWizardStepF CommandWizard = new frmCommandWizardStepF(m_Command);

            this.Hide();
            CommandWizard.Show();
            this.Dispose();
        }
Ejemplo n.º 4
0
        public override Boolean ImportSetting(System.Xml.XmlDocument xmlDoc, System.Xml.XmlNode xmlRoot)
        {
            if ((null == xmlDoc) || (null == xmlRoot))
            {
                return(false);
            }

            try
            {
                //! get root node
                XmlNode BMCBatteryNode = null;

                if (xmlRoot.Name != "AdapterSetting")
                {
                    BMCBatteryNode = xmlRoot.SelectSingleNode("AdapterSetting");
                }
                else
                {
                    BMCBatteryNode = xmlRoot;
                }

                if (null == BMCBatteryNode)
                {
                    if (0 == xmlRoot.ChildNodes.Count)
                    {
                        return(false);
                    }

                    foreach (XmlNode xmlChildren in xmlRoot.ChildNodes)
                    {
                        if (ImportSetting(xmlDoc, xmlChildren))
                        {
                            return(true);
                        }
                    }

                    return(false);
                }

                //! get parameter group set with index number

                XmlNode xmlAdapter = BMCBatteryNode.SelectSingleNode("TelegraphHIDAdapter");
                if (null == xmlAdapter)
                {
                    return(false);
                }

                //! read setting
                do
                {
                    XmlNode xmlAdapterSetting = xmlAdapter.SelectSingleNode("Setting");
                    if (null == xmlAdapterSetting)
                    {
                        break;
                    }
                    String tSetting = xmlAdapterSetting.InnerText;
                    if (null == tSetting)
                    {
                        break;
                    }
                    else if ("" == tSetting.Trim())
                    {
                        break;
                    }

                    m_strUSBDevicePathName = tSetting;
                }while (false);

                //! read USB setting
                do
                {
                    XmlNode xmlUSBSetting = xmlAdapter.SelectSingleNode("USB");
                    if (null == xmlUSBSetting)
                    {
                        break;
                    }

                    do
                    {
                        //! VID
                        if (null == xmlUSBSetting.Attributes["VID"])
                        {
                            break;
                        }
                        String   strVID   = xmlUSBSetting.Attributes["VID"].Value;
                        UInt16[] hwResult = null;
                        if (!HEXBuilder.HEXStringToU16Array(strVID, ref hwResult))
                        {
                            break;
                        }
                        m_VID = hwResult[0];
                    }while (false);

                    do
                    {
                        //! VID
                        if (null == xmlUSBSetting.Attributes["PID"])
                        {
                            break;
                        }
                        String   strPID   = xmlUSBSetting.Attributes["PID"].Value;
                        UInt16[] hwResult = null;
                        if (!HEXBuilder.HEXStringToU16Array(strPID, ref hwResult))
                        {
                            break;
                        }
                        m_PID = hwResult[0];
                    }while (false);
                }while (false);
            }
            catch (Exception e)
            {
                e.ToString();
                return(false);
            }

            return(true);
        }
        private void cmdApply_Click(object sender, EventArgs e)
        {
            System.Byte[] cCommand = null;
            //! get command
            txtCommand.Text = txtCommand.Text.Trim().ToUpper();
            if (false == HEXBuilder.HEXStringToByteArray(txtCommand.Text, ref cCommand))
            {
                //! illegal command
                MessageBox.Show
                (
                    "Please enter a legal command byte!",
                    "Error",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error
                );
                return;
            }

            //! get target address
            System.Byte[] cAddress    = new Byte[1];
            System.Byte[] cSubAddress = new Byte[1];
            if (-1 == combAddress.SelectedIndex)
            {
                //! text
                combAddress.Text = combAddress.Text.Trim().ToUpper();
                if (false == HEXBuilder.HEXStringToByteArray(combAddress.Text, ref cAddress))
                {
                    //! illegal command
                    MessageBox.Show
                    (
                        "Please enter a legal target address!",
                        "Error",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error
                    );
                    return;
                }
            }
            else
            {
                switch (combAddress.SelectedIndex)
                {
                case 0:                         //!< Adapter
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_ADAPTER;
                    break;

                case 1:                         //!< SMBus
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_SMBUS;
                    break;

                case 2:
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_SMBUS_PEC;
                    break;

                case 3:                         //!< UART
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_UART;
                    break;

                case 4:
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_UART_PEC;
                    break;

                case 5:                         //!< Single wire UART
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_SINGLE_WIRE_UART;
                    break;

                case 6:
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_SINGLE_WIRE_UART_PEC;
                    break;

                case 7:                         //!< SPI
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_SPI;
                    break;

                case 8:
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_SPI_PEC;
                    break;

                case 9:                         //!< I2C
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_I2C;
                    break;

                case 10:
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_I2C_PEC;
                    break;

                case 11:                        //!< Loader
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_LOADER;
                    break;

                case 12:                        //!< Charger
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_CHARGER;
                    break;

                case 13:                        //!< printer
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_PRN;
                    break;

                case 14:                        //!< LCD
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_LCD;
                    break;

                case 15:                         //!< SMBus Extend
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_SMBUS_EX;
                    break;

                case 16:
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_SMBUS_PEC_EX;
                    break;

                case 17:                         //!< UART Extend
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_UART_EX;
                    break;

                case 18:
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_UART_PEC_EX;
                    break;

                case 19:                         //!< Single wire UART Extend
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_SINGLE_WIRE_UART_EX;
                    break;

                case 20:
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_SINGLE_WIRE_UART_PEC_EX;
                    break;

                case 21:                         //!< SPI Extend
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_SPI_EX;
                    break;

                case 22:
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_SPI_PEC_EX;
                    break;

                case 23:                         //!< I2C Extend
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_I2C_EX;
                    break;

                case 24:
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_I2C_PEC_EX;
                    break;

                case 25:                        //!< All
                    cAddress[0] = (Byte)BM_CMD_ADDR.BM_CMD_ADDR_ALL;
                    break;
                }
            }

            //! get sub address
            do
            {
                if (false == HEXBuilder.HEXStringToByteArray(txtSubAddress.Text, ref cSubAddress))
                {
                    //! illegal command
                    MessageBox.Show
                    (
                        "Please enter a legal optinal sub address!",
                        "Error",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error
                    );
                    return;
                }
            }while (false);

            //! get response type
            System.UInt16 hwTimeOut = 0;
            if (-1 == combResponseType.SelectedIndex)
            {
                if (false == DECBuilder.DECStringToWord(combResponseType.Text, ref hwTimeOut))
                {
                    combResponseType.Text = "300";
                    hwTimeOut             = 300;
                }
            }
            else
            {
                switch (combResponseType.SelectedIndex)
                {
                case 0:
                    hwTimeOut = (UInt16)BM_CMD_RT.BM_CMD_RT_NO_RESPONSE;
                    break;

                case 1:
                    hwTimeOut = (UInt16)BM_CMD_RT.BM_CMD_RT_NO_TIME_OUT;
                    break;
                }
            }

            //! handle command type

            switch (combCommandType.SelectedIndex)
            {
            case 1:                     //!< write word
                System.UInt16[] hwWriteWord = null;
                if (false == HEXBuilder.HEXStringToU16Array(txtWriteWord.Text, ref hwWriteWord))
                {
                    //! illegal command
                    MessageBox.Show
                    (
                        "Please enter a legal word value!",
                        "Error",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error
                    );
                    return;
                }

                ((ESCommandWriteWord)m_Command).DataValue = hwWriteWord[0];
                break;

            case 2:                     //!< read word
                break;

            case 3:                     //!< write block
                System.Byte[] BlockWriteBuffer = null;

                if (checkWriteBlockShowHEX.Checked)
                {
                    //! hex string
                    if (false == HEXBuilder.HEXStringToByteArray(txtWriteBlock.Text, ref BlockWriteBuffer, false))
                    {
                        //! illegal command
                        MessageBox.Show
                        (
                            "Please enter a legal HEX String",
                            "Error",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning
                        );
                        return;
                    }

                    txtWriteBlock.Text = HEXBuilder.ByteArrayToHEXString(BlockWriteBuffer);
                }
                else
                {
                    Char[] CharBuffer = txtWriteBlock.Text.ToCharArray();
                    BlockWriteBuffer = new System.Byte[CharBuffer.Length];
                    //! Just string

                    for (System.Int32 n = 0; n < BlockWriteBuffer.Length; n++)
                    {
                        BlockWriteBuffer[n] = (System.Byte)CharBuffer[n];
                    }
                }
                m_Command.Data = BlockWriteBuffer;
                break;

            case 4:                     //!< read block
                break;

            case 0:                     //!< just command
                break;

            default:
                break;
            }

            m_Command.Command      = cCommand[0];
            m_Command.AddressValue = cAddress[0];
            m_Command.SubAddress   = cSubAddress[0];
            m_Command.TimeOut      = hwTimeOut;
            m_Command.Description  = textBrief.Text;

            if (null != CommandEditEvent)
            {
                //! raising event
                CommandEditEvent(BM_CMD_EDIT_RESULT.BM_CMD_EDIT_FINISH, m_Command);
            }

            this.Dispose();
        }