Beispiel #1
0
        /// <summary>
        /// tsapp_enumerate_hw_devices函数必须在App未连接状态下才能够执行!
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnGetDeviceNum_Click(object sender, EventArgs e)
        {
            int        hardwareNum = 0;
            TLIBHWInfo tmp         = new TLIBHWInfo(0);
            string     retMessage  = TsMasterApi.tsapp_get_error_description(TsMasterApi.tsapp_enumerate_hw_devices(out hardwareNum));

            if (retMessage == "OK")
            {
                LogDeviceInformation("Hardware Num:" + hardwareNum.ToString());
                tBDeviceNumber.Text = hardwareNum.ToString();
                cbbDeviceIndex.Items.Clear();
                for (int i = 0; i < hardwareNum; i++)
                {
                    cbbDeviceIndex.Items.Add(i.ToString());
                }
                if (hardwareNum > 0)
                {
                    cbbDeviceIndex.SelectedIndex = 0;
                }
            }
            else
            {
                LogDeviceInformation(retMessage);
            }
        }
Beispiel #2
0
 private Boolean CheckResultOK(int AResultCode)
 {
     if (AResultCode == 0)
     {
         return(true);
     }
     else
     {
         Log("Error occured: " + TsMasterApi.tsapp_get_error_description(AResultCode));
         return(false);
     }
 }
Beispiel #3
0
        private void btnGetAllHardwareInfos_Click(object sender, EventArgs e)
        {
            int        hardwareNum   = 0;
            TLIBHWInfo tmpDeviceInfo = new TLIBHWInfo(0);
            string     retMessage    = TsMasterApi.tsapp_get_error_description(TsMasterApi.tsapp_enumerate_hw_devices(out hardwareNum));

            if (retMessage == "OK")
            {
                LogDeviceInformation("Hardware Num:" + hardwareNum.ToString());
            }
            else
            {
                Log(retMessage);
                LogDeviceInformation("Enum hardware Info Failed!");
            }
            for (int i = 0; i < hardwareNum; i++)
            {
                if (TsMasterApi.tsapp_get_hw_info_by_index(i, ref tmpDeviceInfo) == 0)
                {
                    LogDeviceInformation(tmpDeviceInfo.FDeviceInformation);
                }
            }
        }
Beispiel #4
0
        private void CreateApplicationDemo()
        {
            //FProgramName:唯一名称,后面的各种映射跟他绑定
            //第一步:初始化API模块,如果已经调用,这里则不需要调用
            //TsMasterApi.initialize_lib_tsmaster(FProgramName);
            //第二步:按需设置需要的通道数,比如,这里需要2个CAN通道,0个LIN通道
            if (TsMasterApi.tsapp_set_can_channel_count(4) == 0)
            {
                Log("Set CAN Channel Count Success!");
            }
            else
            {
                Log("Set CAN Channel Count Failed!");
            }
            if (TsMasterApi.tsapp_set_lin_channel_count(0) == 0)
            {
                Log("Set LIN Channel Count Success!");
            }
            else
            {
                Log("Set LIN Channel Count Failed!");
            }
            //第三步:按需创建通道映射:
            if (TsMasterApi.tsapp_set_mapping_verbose(FProgramName, TLIBApplicationChannelType.APP_CAN,
                                                      APP_CHANNEL.CHN1, "TC1005", TLIBBusToolDeviceType.TS_TC1005_DEVICE, 0, 0, HARDWARE_CHANNEL.CHN1) == 0)
            {
            }
            if (TsMasterApi.tsapp_set_mapping_verbose(FProgramName, TLIBApplicationChannelType.APP_CAN,
                                                      APP_CHANNEL.CHN2, "TC1005", TLIBBusToolDeviceType.TS_TC1005_DEVICE, 0, 0, HARDWARE_CHANNEL.CHN2) == 0)
            {
            }
            //把TC1005板卡的硬件通道1映射到驱动的逻辑通道1上面
            if (TsMasterApi.tsapp_set_mapping_verbose(FProgramName, TLIBApplicationChannelType.APP_CAN,
                                                      APP_CHANNEL.CHN3, "TC1005", TLIBBusToolDeviceType.TS_TC1005_DEVICE, 0, 0, HARDWARE_CHANNEL.CHN3) == 0)
            {
                Log("Mappings of channel " + (1 + (int)0).ToString() + " has been set");
            }
            //把TC1005板卡的硬件通道2映射到驱动的逻辑通道2上面
            if (TsMasterApi.tsapp_set_mapping_verbose(FProgramName, TLIBApplicationChannelType.APP_CAN,
                                                      APP_CHANNEL.CHN4, "TC1005", TLIBBusToolDeviceType.TS_TC1005_DEVICE, 0, 0, HARDWARE_CHANNEL.CHN4) == 0)
            {
                Log("Mappings of channel " + (1 + (int)1).ToString() + " has been set");
            }
            //第四步:初始化通道参数
            if (TsMasterApi.tsapp_configure_baudrate_can((int)APP_CHANNEL.CHN1, 500, false, true) == 0)
            {
                Log("CAN Channel " + (0 + 1).ToString() + " baudrate has been configured");
            }
            else
            {
                Log("CAN Channel " + (0 + 1).ToString() + " baudrate failed");
            }
            if (TsMasterApi.tsapp_configure_baudrate_can((int)APP_CHANNEL.CHN2, 500, false, true) == 0)
            {
                Log("CAN Channel " + (1 + 1).ToString() + " baudrate has been configured");
            }
            else
            {
                Log("CAN Channel " + (1 + 1).ToString() + " baudrate failed");
            }
            if (TsMasterApi.tsapp_configure_baudrate_can((int)APP_CHANNEL.CHN3, 500, false, true) == 0)
            {
                Log("CAN Channel " + (2 + 1).ToString() + " baudrate has been configured");
            }
            else
            {
                Log("CAN Channel " + (2 + 1).ToString() + " baudrate failed");
            }
            if (TsMasterApi.tsapp_configure_baudrate_can((int)APP_CHANNEL.CHN4, 500, false, true) == 0)
            {
                Log("CAN Channel " + (3 + 1).ToString() + " baudrate has been configured");
            }
            else
            {
                Log("CAN Channel " + (3 + 1).ToString() + " baudrate failed");
            }
            //第五步:连接application:连接硬件通道并开启接收FIFO
            string connectResult = TsMasterApi.tsapp_get_error_description(TsMasterApi.tsapp_connect());

            if (connectResult == "OK")
            {
                Log("Connect Application Success!");
                TsMasterApi.tsfifo_enable_receive_fifo();
                Log("Start Receive FIFO!");  //如果不使能内部FIFO,无法使用Receive函数读取内部报文
            }
            else
            {
                Log(connectResult);
                Log("Connect Application Failed! Please check the mapping table and whether the Hardware is Ready?!");
            }
        }