Пример #1
0
 private void btnSetApplicationLINCount_Click(object sender, EventArgs e)
 {
     try
     {
         int chnCount = Convert.ToInt32(tbLINCount.Text);
         if (TsMasterApi.tsapp_set_lin_channel_count(chnCount) == 0)
         {
             Log("Set LIN Channel Count Success!");
         }
     }
     catch
     {
     }
 }
Пример #2
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?!");
            }
        }