コード例 #1
0
        public static bool Change_LIN_BAUD_Rate(ushort Baud)
        {
            bool   flag  = false;
            string text  = "";
            string text2 = "";

            byte[] array  = new byte[65];
            byte[] array2 = new byte[65];
            if (Utilities.m_flags.HID_DeviceReady != false)            //(Utilities.m_flags.HID_read_handle != IntPtr.Zero)
            {
                Array.Clear(array, 0, array.Length);
                Array.Clear(array2, 0, array2.Length);
                if (!Basic.Get_Status_Packet(ref array2))
                {
                    return(false);
                }
                int num = (int)Math.Round(20000000.0 / (double)Baud / 4.0) - 1;
                array2[29] = (byte)num;
                array2[30] = (byte)(num >> 8);
                USBWrite.configure_outbound_control_block_packet(ref array, ref text, ref array2);
                flag = USBWrite.write_and_verify_LIN_config_block(ref array, ref text2, true, ref text);
            }
            if (flag)
            {
                LIN.Get_LIN_BAUD_Rate();
            }
            return(flag);
        }
コード例 #2
0
        public static bool Configure_PICkitSerial_For_LIN_No_Autobaud()
        {
            bool result = false;

            if (Basic.Configure_PICkitSerial(19, true))
            {
                LIN.Get_LIN_BAUD_Rate();
                result = true;
            }
            return(result);
        }
コード例 #3
0
        public static bool Configure_PICkitSerial_For_LIN(bool p_chip_select_hi, bool p_receive_enable, bool p_autobaud)
        {
            bool flag = false;

            if ((Utilities.m_flags.HID_DeviceReady != false) && Basic.Configure_PICkitSerial(10, true))
            {
                string text   = "";
                string text2  = "";
                byte[] array  = new byte[65];
                byte[] array2 = new byte[65];
                if (Utilities.m_flags.HID_DeviceReady != false)                //(Utilities.m_flags.HID_read_handle != IntPtr.Zero)
                {
                    Array.Clear(array, 0, array.Length);
                    Array.Clear(array2, 0, array2.Length);
                    if (!Basic.Get_Status_Packet(ref array2))
                    {
                        return(false);
                    }
                    if (p_chip_select_hi)
                    {
                        byte[] expr_8D_cp_0 = array2;
                        int    expr_8D_cp_1 = 23;
                        expr_8D_cp_0[expr_8D_cp_1] |= 8;
                    }
                    else
                    {
                        byte[] expr_A6_cp_0 = array2;
                        int    expr_A6_cp_1 = 23;
                        expr_A6_cp_0[expr_A6_cp_1] &= 247;
                    }
                    if (p_receive_enable)
                    {
                        byte[] expr_C4_cp_0 = array2;
                        int    expr_C4_cp_1 = 23;
                        expr_C4_cp_0[expr_C4_cp_1] |= 64;
                    }
                    else
                    {
                        byte[] expr_DE_cp_0 = array2;
                        int    expr_DE_cp_1 = 23;
                        expr_DE_cp_0[expr_DE_cp_1] &= 191;
                    }
                    if (p_autobaud)
                    {
                        byte[] expr_FC_cp_0 = array2;
                        int    expr_FC_cp_1 = 23;
                        expr_FC_cp_0[expr_FC_cp_1] |= 128;
                    }
                    else
                    {
                        byte[] expr_119_cp_0 = array2;
                        int    expr_119_cp_1 = 23;
                        expr_119_cp_0[expr_119_cp_1] &= 127;
                    }
                    USBWrite.configure_outbound_control_block_packet(ref array, ref text, ref array2);
                    flag = USBWrite.write_and_verify_config_block(ref array, ref text2, true, ref text);
                    if (flag)
                    {
                        LIN.Get_LIN_BAUD_Rate();
                    }
                }
            }
            return(flag);
        }