<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Python &#8211; 上海同星智能科技有限公司</title>
	<atom:link href="https://www.tosunai.com/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.tosunai.com</link>
	<description>Engineer Everything!</description>
	<lastBuildDate>Wed, 05 Feb 2025 08:23:36 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://www.tosunai.com/wp-content/uploads/2024/09/112x112-100x100.webp</url>
	<title>Python &#8211; 上海同星智能科技有限公司</title>
	<link>https://www.tosunai.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>干货分享 &#124; TSMaster 自定义 LIN 调度表编程指导</title>
		<link>https://www.tosunai.com/tsmaster-customized-lin-scheduler-programming-guide/</link>
					<comments>https://www.tosunai.com/tsmaster-customized-lin-scheduler-programming-guide/#respond</comments>
		
		<dc:creator><![CDATA[pan]]></dc:creator>
		<pubDate>Fri, 10 May 2024 05:22:18 +0000</pubDate>
				<category><![CDATA[软件操作教程]]></category>
		<category><![CDATA[C小程序]]></category>
		<category><![CDATA[LIN]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[TSMaster]]></category>
		<category><![CDATA[TSMaster使用教程]]></category>
		<category><![CDATA[分析]]></category>
		<guid isPermaLink="false">https://www.tosunai.com/?p=9633</guid>

					<description><![CDATA[<p>LIN（Local Interconnect Network）协议调度表是用于LIN总线通信中的消息调度的一种 [&#8230;]</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://www.tosunai.com/tsmaster-customized-lin-scheduler-programming-guide/">干货分享 | TSMaster 自定义 LIN 调度表编程指导</a> first appeared on <a rel="nofollow" href="https://www.tosunai.com">上海同星智能科技有限公司</a>.&lt;/p&gt;</p>
]]></description>
			<style id="elementor-post-9633">.elementor-9633 .elementor-element.elementor-element-49531fd > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-9633 .elementor-element.elementor-element-49531fd{margin-top:0px;margin-bottom:0px;padding:20px 0px 20px 0px;}.elementor-widget-text-editor{color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-9633 .elementor-element.elementor-element-b087867{letter-spacing:1px;}.elementor-widget-heading .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-9633 .elementor-element.elementor-element-5903345{width:100%;max-width:100%;}.elementor-9633 .elementor-element.elementor-element-5903345 > .elementor-widget-container{padding:20px 0px 4px 0px;border-style:solid;border-width:0px 0px 1px 0px;}.elementor-9633 .elementor-element.elementor-element-5903345 .elementor-heading-title{font-family:"Verdana", Sans-serif;font-size:14px;font-weight:bold;font-style:italic;line-height:29px;-webkit-text-stroke-color:#000;stroke:#000;color:#222121;}.elementor-9633 .elementor-element.elementor-element-cd9bb8d:not(.elementor-motion-effects-element-type-background), .elementor-9633 .elementor-element.elementor-element-cd9bb8d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-783ff77 );}.elementor-9633 .elementor-element.elementor-element-cd9bb8d{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:25px;margin-bottom:25px;padding:20px 20px 20px 20px;}.elementor-9633 .elementor-element.elementor-element-cd9bb8d > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-9633 .elementor-element.elementor-element-e875957 .elementor-heading-title{font-size:22px;letter-spacing:1.5px;color:#000000;}.elementor-widget-table-of-contents{--header-color:var( --e-global-color-secondary );--item-text-color:var( --e-global-color-text );--item-text-hover-color:var( --e-global-color-accent );--marker-color:var( --e-global-color-text );}.elementor-9633 .elementor-element.elementor-element-bfa7679{--box-border-width:0px;--separator-width:0px;--box-padding:0px;--item-text-hover-decoration:underline;}.elementor-9633 .elementor-element.elementor-element-bfa7679 .elementor-toc__header-title{text-align:start;}.elementor-9633 .elementor-element.elementor-element-bfa7679 .elementor-toc__list-item{font-size:13px;line-height:1.5em;}.elementor-9633 .elementor-element.elementor-element-8995e40 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-9633 .elementor-element.elementor-element-8995e40{margin-top:0px;margin-bottom:0px;padding:20px 0px 20px 0px;}.elementor-9633 .elementor-element.elementor-element-c48e43f > .elementor-widget-container{padding:40px 40px 40px 40px;}.elementor-9633 .elementor-element.elementor-element-c48e43f{text-align:center;}.elementor-9633 .elementor-element.elementor-element-c48e43f .elementor-heading-title{font-size:20px;font-weight:600;line-height:1.3em;letter-spacing:1px;color:var( --e-global-color-secondary );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );}.elementor-9633 .elementor-element.elementor-element-d4fb8b9 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-9633 .elementor-element.elementor-element-d4fb8b9{margin-top:0px;margin-bottom:0px;padding:20px 0px 20px 0px;}.elementor-9633 .elementor-element.elementor-element-bc7aeb7 > .elementor-widget-container{padding:40px 40px 40px 40px;}.elementor-9633 .elementor-element.elementor-element-bc7aeb7{text-align:center;}.elementor-9633 .elementor-element.elementor-element-bc7aeb7 .elementor-heading-title{font-size:20px;font-weight:600;line-height:1.3em;letter-spacing:1px;color:var( --e-global-color-secondary );}.elementor-9633 .elementor-element.elementor-element-2ea16bf{letter-spacing:1px;}.elementor-9633 .elementor-element.elementor-element-995fa9e > .elementor-widget-container{margin:0px 0px -25px 0px;}.elementor-9633 .elementor-element.elementor-element-995fa9e img{width:100%;}.elementor-9633 .elementor-element.elementor-element-ca4db10 img{width:100%;}.elementor-9633 .elementor-element.elementor-element-7803ce6 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-9633 .elementor-element.elementor-element-7803ce6{margin-top:0px;margin-bottom:0px;padding:20px 0px 20px 0px;}.elementor-9633 .elementor-element.elementor-element-86d9ed9 > .elementor-widget-container{padding:40px 40px 40px 40px;}.elementor-9633 .elementor-element.elementor-element-86d9ed9{text-align:center;}.elementor-9633 .elementor-element.elementor-element-86d9ed9 .elementor-heading-title{font-size:20px;font-weight:600;line-height:1.3em;letter-spacing:1px;color:var( --e-global-color-secondary );}.elementor-9633 .elementor-element.elementor-element-d1e8a6c{letter-spacing:1px;}.elementor-9633 .elementor-element.elementor-element-543e1c0 > .elementor-widget-container{margin:0px 0px -25px 0px;}.elementor-9633 .elementor-element.elementor-element-543e1c0 img{width:100%;}.elementor-9633 .elementor-element.elementor-element-11c4bd7 > .elementor-widget-container{margin:0px 0px -25px 0px;}.elementor-9633 .elementor-element.elementor-element-11c4bd7 img{width:100%;}.elementor-9633 .elementor-element.elementor-element-7da0be4 > .elementor-widget-container{margin:0px 0px -25px 0px;}.elementor-9633 .elementor-element.elementor-element-7da0be4 img{width:100%;}.elementor-9633 .elementor-element.elementor-element-caf5ce2 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-9633 .elementor-element.elementor-element-caf5ce2 img{width:100%;}.elementor-9633 .elementor-element.elementor-element-f05f03e > .elementor-widget-container{margin:40px 0px 0px 0px;}.elementor-9633 .elementor-element.elementor-element-f05f03e{letter-spacing:1px;}@media(max-width:1024px){.elementor-9633 .elementor-element.elementor-element-5903345 .elementor-heading-title{font-size:20px;}}@media(max-width:767px){.elementor-9633 .elementor-element.elementor-element-5903345 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-9633 .elementor-element.elementor-element-5903345 .elementor-heading-title{font-size:20px;}.elementor-9633 .elementor-element.elementor-element-e875957{text-align:center;}.elementor-9633 .elementor-element.elementor-element-c48e43f > .elementor-widget-container{padding:20px 0px 20px 0px;}.elementor-9633 .elementor-element.elementor-element-bc7aeb7 > .elementor-widget-container{padding:20px 0px 20px 0px;}.elementor-9633 .elementor-element.elementor-element-86d9ed9 > .elementor-widget-container{padding:20px 0px 20px 0px;}}</style>							<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="9633" class="elementor elementor-9633" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-49531fd elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="49531fd" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c229679" data-id="c229679" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-b087867 elementor-widget elementor-widget-text-editor" data-id="b087867" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									LIN（Local Interconnect Network）协议调度表是用于LIN总线通信中的消息调度的一种机制，我们收到越来越多来自不同用户希望能够通过接口实现自定义LIN调度表的需求。所以在TSMaster (v2023.10.7.990)之后的版本中新增了实现自定义LIN调度表相关API。今天重点和大家分享一下关于编程实现TSMaster自定义LIN调度表的功能。

								</div>
				</div>
				<div class="elementor-element elementor-element-5903345 elementor-widget__width-inherit elementor-widget elementor-widget-heading" data-id="5903345" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<p class="elementor-heading-title elementor-size-default">本文关键字：LIN（Local Interconnect Network）、调度表、二次开发接口、C小程序示例、python示例
</p>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-cd9bb8d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="cd9bb8d" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9db2a95" data-id="9db2a95" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e875957 elementor-widget elementor-widget-heading" data-id="e875957" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h6 class="elementor-heading-title elementor-size-default">本文目录</h6>				</div>
				</div>
				<div class="elementor-element elementor-element-bfa7679 elementor-widget elementor-widget-table-of-contents" data-id="bfa7679" data-element_type="widget" data-e-type="widget" data-settings="{&quot;headings_by_tags&quot;:[&quot;h2&quot;,&quot;h3&quot;,&quot;h4&quot;],&quot;exclude_headings_by_selector&quot;:&quot;.Mainfooter&quot;,&quot;marker_view&quot;:&quot;bullets&quot;,&quot;icon&quot;:{&quot;value&quot;:&quot;&quot;,&quot;library&quot;:&quot;&quot;},&quot;no_headings_message&quot;:&quot;No headings were found on this page.&quot;,&quot;hierarchical_view&quot;:&quot;yes&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_widescreen&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_laptop&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet_extra&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile_extra&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}" data-widget_type="table-of-contents.default">
				<div class="elementor-widget-container">
									<div id="elementor-toc__bfa7679" class="elementor-toc__body">
			<div class="elementor-toc__spinner-container">
				<svg class="elementor-toc__spinner eicon-animation-spin e-font-icon-svg e-eicon-loading" aria-hidden="true" viewBox="0 0 1000 1000" xmlns="http://www.w3.org/2000/svg"><path d="M500 975V858C696 858 858 696 858 500S696 142 500 142 142 304 142 500H25C25 237 238 25 500 25S975 237 975 500 763 975 500 975Z"></path></svg>			</div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-8995e40 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="8995e40" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b237f81" data-id="b237f81" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c48e43f headingTitleH2 elementor-widget elementor-widget-heading" data-id="c48e43f" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">1、自定义 LIN 调度表实现流程





</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-cca755d elementor-widget elementor-widget-image" data-id="cca755d" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img fetchpriority="high" decoding="async" width="875" height="623" src="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-1.webp" class="attachment-large size-large wp-image-9635" alt="TSMaster 自定义 LIN 调度表编程指导" srcset="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-1.webp 875w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-1-300x214.webp 300w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-1-768x547.webp 768w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-1-18x12.webp 18w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-1-800x570.webp 800w" sizes="(max-width: 875px) 100vw, 875px" title="干货分享 | TSMaster 自定义 LIN 调度表编程指导 10">											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-d4fb8b9 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="d4fb8b9" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d558f47" data-id="d558f47" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-bc7aeb7 headingTitleH2 elementor-widget elementor-widget-heading" data-id="bc7aeb7" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">2、通过 TSMaster 内置C小程序实现自定义LIN调度表





</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-2ea16bf elementor-widget elementor-widget-text-editor" data-id="2ea16bf" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<section><section><p>以TC1016为例，使用TC1016的LIN通道1仿真主节点，然后使用LIN通道2仿真从节点。为了实现仿真效果，可以将通道1和通道2进行短接，也就是将TC1016的LIN DB9的6引脚和8引脚短接。短接后通道1发的报文能从通道2接收。在此基础上，通过TSMaster内置C小程序实现自定义LIN调度表。</p><p>程序-&gt;C小程序中的程序启动事件中测试如下代码：</p></section></section>								</div>
				</div>
				<div class="elementor-element elementor-element-995fa9e elementor-widget elementor-widget-image" data-id="995fa9e" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" width="825" height="675" src="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-2-1.webp" class="attachment-large size-large wp-image-9636" alt="TSMaster 自定义 LIN 调度表编程指导" srcset="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-2-1.webp 825w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-2-1-300x245.webp 300w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-2-1-768x628.webp 768w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-2-1-15x12.webp 15w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-2-1-800x655.webp 800w" sizes="(max-width: 825px) 100vw, 825px" title="干货分享 | TSMaster 自定义 LIN 调度表编程指导 11">											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-ca4db10 elementor-widget elementor-widget-image" data-id="ca4db10" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" width="826" height="411" src="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-2-2.webp" class="attachment-large size-large wp-image-9637" alt="TSMaster 自定义 LIN 调度表编程指导" srcset="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-2-2.webp 826w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-2-2-300x149.webp 300w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-2-2-768x382.webp 768w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-2-2-18x9.webp 18w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-2-2-800x398.webp 800w" sizes="(max-width: 826px) 100vw, 826px" title="干货分享 | TSMaster 自定义 LIN 调度表编程指导 12">											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-7f15943 elementor-widget elementor-widget-image" data-id="7f15943" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="539" src="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-3-1024x539.webp" class="attachment-large size-large wp-image-9638" alt="TSMaster 自定义 LIN 调度表编程指导" srcset="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-3-1024x539.webp 1024w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-3-300x158.webp 300w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-3-768x405.webp 768w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-3-18x9.webp 18w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-3-800x421.webp 800w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-3.webp 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" title="干货分享 | TSMaster 自定义 LIN 调度表编程指导 13">											<figcaption class="widget-image-caption wp-caption-text">图1：C 小程序代码运行效果</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7803ce6 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7803ce6" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-37657e2" data-id="37657e2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-86d9ed9 headingTitleH2 elementor-widget elementor-widget-heading" data-id="86d9ed9" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">3、通过 python 二次开发接口实现自定义LIN调度表
</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-d1e8a6c elementor-widget elementor-widget-text-editor" data-id="d1e8a6c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									以TC1016为例，使用TC1016的LIN通道1仿真主节点，然后使用LIN通道2仿真从节点。为了实现仿真效果，可以将通道1和通道2进行短接，也就是将TC1016的LIN DB9的6引脚和8引脚短接。短接后通道1发的报文能从通道2接收。在此基础上，通过python二次开发接口实现自定义LIN调度表，示例代码如下：

								</div>
				</div>
				<div class="elementor-element elementor-element-543e1c0 elementor-widget elementor-widget-image" data-id="543e1c0" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="846" height="571" src="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-1.webp" class="attachment-large size-large wp-image-9639" alt="TSMaster 自定义 LIN 调度表编程指导" srcset="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-1.webp 846w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-1-300x202.webp 300w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-1-768x518.webp 768w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-1-18x12.webp 18w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-1-800x540.webp 800w" sizes="auto, (max-width: 846px) 100vw, 846px" title="干货分享 | TSMaster 自定义 LIN 调度表编程指导 14">											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-11c4bd7 elementor-widget elementor-widget-image" data-id="11c4bd7" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="833" height="524" src="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-2.webp" class="attachment-large size-large wp-image-9640" alt="TSMaster 自定义 LIN 调度表编程指导" srcset="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-2.webp 833w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-2-300x189.webp 300w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-2-768x483.webp 768w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-2-18x12.webp 18w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-2-800x503.webp 800w" sizes="auto, (max-width: 833px) 100vw, 833px" title="干货分享 | TSMaster 自定义 LIN 调度表编程指导 15">											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-7da0be4 elementor-widget elementor-widget-image" data-id="7da0be4" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="755" height="735" src="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-3.webp" class="attachment-large size-large wp-image-9641" alt="TSMaster 自定义 LIN 调度表编程指导" srcset="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-3.webp 755w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-3-300x292.webp 300w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-3-12x12.webp 12w" sizes="auto, (max-width: 755px) 100vw, 755px" title="干货分享 | TSMaster 自定义 LIN 调度表编程指导 16">											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-caf5ce2 elementor-widget elementor-widget-image" data-id="caf5ce2" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="742" height="434" src="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-4.webp" class="attachment-large size-large wp-image-9642" alt="TSMaster 自定义 LIN 调度表编程指导" srcset="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-4.webp 742w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-4-300x175.webp 300w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-4-4-18x12.webp 18w" sizes="auto, (max-width: 742px) 100vw, 742px" title="干货分享 | TSMaster 自定义 LIN 调度表编程指导 17">											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-f05f03e elementor-widget elementor-widget-text-editor" data-id="f05f03e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									运行 python 脚本，然后再连接 TSMaster 查看 LIN 报文窗口：

								</div>
				</div>
				<div class="elementor-element elementor-element-9a93094 elementor-widget elementor-widget-image" data-id="9a93094" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="585" src="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-5-1024x585.webp" class="attachment-large size-large wp-image-9643" alt="TSMaster 自定义 LIN 调度表编程指导" srcset="https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-5-1024x585.webp 1024w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-5-300x171.webp 300w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-5-768x439.webp 768w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-5-18x10.webp 18w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-5-800x457.webp 800w, https://www.tosunai.com/wp-content/uploads/2024/05/technical-articles-20240513-5.webp 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" title="干货分享 | TSMaster 自定义 LIN 调度表编程指导 18">											<figcaption class="widget-image-caption wp-caption-text">图2：python 代码运行效果</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>&lt;p&gt;The post <a rel="nofollow" href="https://www.tosunai.com/tsmaster-customized-lin-scheduler-programming-guide/">干货分享 | TSMaster 自定义 LIN 调度表编程指导</a> first appeared on <a rel="nofollow" href="https://www.tosunai.com">上海同星智能科技有限公司</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.tosunai.com/tsmaster-customized-lin-scheduler-programming-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>新功能发布 &#124; TSMaster工具箱集成开发环境系列1-工具箱设计开发</title>
		<link>https://www.tosunai.com/tsmaster-toolbox-ide-series-1-toolbox-design-and-development/</link>
					<comments>https://www.tosunai.com/tsmaster-toolbox-ide-series-1-toolbox-design-and-development/#respond</comments>
		
		<dc:creator><![CDATA[pan]]></dc:creator>
		<pubDate>Fri, 17 Mar 2023 02:25:25 +0000</pubDate>
				<category><![CDATA[软件操作教程]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[TSMaster新功能]]></category>
		<category><![CDATA[其他]]></category>
		<category><![CDATA[工具箱设计开发]]></category>
		<guid isPermaLink="false">https://www.tosunai.com/?p=6027</guid>

					<description><![CDATA[<p>overview前言 今天给大家介绍TSMaster新功能—工具箱设计开发。有了这个模块，任何人都能够用Pyt [&#8230;]</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://www.tosunai.com/tsmaster-toolbox-ide-series-1-toolbox-design-and-development/">新功能发布 | TSMaster工具箱集成开发环境系列1-工具箱设计开发</a> first appeared on <a rel="nofollow" href="https://www.tosunai.com">上海同星智能科技有限公司</a>.&lt;/p&gt;</p>
]]></description>
			<style id="elementor-post-6027">.elementor-6027 .elementor-element.elementor-element-a60d541 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-6027 .elementor-element.elementor-element-a60d541{margin-top:-1px;margin-bottom:-1px;padding:14px 0px 23px 0px;}.elementor-widget-heading .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-6027 .elementor-element.elementor-element-a62bcf6 > .elementor-widget-container{background-image:url("https://www.tosunai.com/wp-content/uploads/2023/01/TOSUN-EDA.jpg");margin:0px 0px 0px 0px;padding:25px 25px 25px 25px;}.elementor-6027 .elementor-element.elementor-element-a62bcf6{text-align:center;}.elementor-6027 .elementor-element.elementor-element-a62bcf6 .elementor-heading-title{font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:12px;color:#FFFFFF;}.elementor-widget-text-editor{color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-6027 .elementor-element.elementor-element-ec1f8b3{letter-spacing:1px;color:#000000;}.elementor-6027 .elementor-element.elementor-element-f0bed23 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-6027 .elementor-element.elementor-element-f0bed23{margin-top:0px;margin-bottom:0px;padding:20px 0px 20px 0px;}.elementor-6027 .elementor-element.elementor-element-98d99e2 > .elementor-widget-container{padding:40px 40px 40px 40px;}.elementor-6027 .elementor-element.elementor-element-98d99e2{text-align:center;}.elementor-6027 .elementor-element.elementor-element-98d99e2 .elementor-heading-title{font-size:20px;font-weight:600;line-height:1.3em;letter-spacing:1px;color:var( --e-global-color-secondary );}.elementor-6027 .elementor-element.elementor-element-843afcc > .elementor-widget-container{margin:-10px 0px 22px 0px;}.elementor-6027 .elementor-element.elementor-element-843afcc{text-align:center;}.elementor-6027 .elementor-element.elementor-element-843afcc .elementor-heading-title{font-size:12px;font-weight:300;color:#bfbfbf;}.elementor-6027 .elementor-element.elementor-element-dc226f3 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-6027 .elementor-element.elementor-element-dc226f3{margin-top:0px;margin-bottom:0px;padding:20px 0px 20px 0px;}.elementor-6027 .elementor-element.elementor-element-166e329{text-align:start;letter-spacing:1px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );}.elementor-6027 .elementor-element.elementor-element-f57d993{text-align:start;letter-spacing:1px;}.elementor-6027 .elementor-element.elementor-element-fc8bc20{text-align:start;letter-spacing:1px;}.elementor-6027 .elementor-element.elementor-element-1250248 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-6027 .elementor-element.elementor-element-1250248{margin-top:0px;margin-bottom:0px;padding:20px 0px 20px 0px;}.elementor-6027 .elementor-element.elementor-element-7366ca3 > .elementor-widget-container{padding:40px 40px 40px 40px;}.elementor-6027 .elementor-element.elementor-element-7366ca3{text-align:center;}.elementor-6027 .elementor-element.elementor-element-7366ca3 .elementor-heading-title{font-size:20px;font-weight:600;line-height:1.3em;letter-spacing:1px;color:var( --e-global-color-secondary );}.elementor-6027 .elementor-element.elementor-element-4437c69 > .elementor-widget-container{margin:-10px 0px 22px 0px;}.elementor-6027 .elementor-element.elementor-element-4437c69{text-align:center;}.elementor-6027 .elementor-element.elementor-element-4437c69 .elementor-heading-title{font-size:12px;font-weight:300;color:#bfbfbf;}.elementor-6027 .elementor-element.elementor-element-3830381 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-6027 .elementor-element.elementor-element-3830381{margin-top:0px;margin-bottom:0px;padding:20px 0px 20px 0px;}.elementor-6027 .elementor-element.elementor-element-d9b1afd{text-align:start;letter-spacing:1px;}.elementor-6027 .elementor-element.elementor-element-7685469{text-align:start;letter-spacing:1px;}.elementor-6027 .elementor-element.elementor-element-8fc8f28{text-align:start;letter-spacing:1px;}.elementor-6027 .elementor-element.elementor-element-2ebcd27{text-align:start;letter-spacing:1px;}.elementor-6027 .elementor-element.elementor-element-8a67124 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-6027 .elementor-element.elementor-element-8a67124{margin-top:0px;margin-bottom:0px;padding:20px 0px 20px 0px;}.elementor-6027 .elementor-element.elementor-element-679fd5b > .elementor-widget-container{padding:40px 40px 40px 40px;}.elementor-6027 .elementor-element.elementor-element-679fd5b{text-align:center;}.elementor-6027 .elementor-element.elementor-element-679fd5b .elementor-heading-title{font-size:20px;font-weight:600;line-height:1.3em;letter-spacing:1px;color:var( --e-global-color-secondary );}.elementor-6027 .elementor-element.elementor-element-7a1c585 > .elementor-widget-container{margin:-10px 0px 22px 0px;}.elementor-6027 .elementor-element.elementor-element-7a1c585{text-align:center;}.elementor-6027 .elementor-element.elementor-element-7a1c585 .elementor-heading-title{font-size:12px;font-weight:300;color:#bfbfbf;}.elementor-6027 .elementor-element.elementor-element-73b434c{text-align:start;letter-spacing:1px;}.elementor-6027 .elementor-element.elementor-element-06e3afb{text-align:start;letter-spacing:1px;}.elementor-6027 .elementor-element.elementor-element-dda13c5{text-align:start;letter-spacing:1px;}.elementor-6027 .elementor-element.elementor-element-27cadb7{text-align:start;letter-spacing:1px;}.elementor-6027 .elementor-element.elementor-element-d84b486 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-6027 .elementor-element.elementor-element-d84b486 > .elementor-container{max-width:800px;}.elementor-6027 .elementor-element.elementor-element-d84b486{padding:45px 0px 29px 0px;}.elementor-6027 .elementor-element.elementor-element-a136399{text-align:center;}.elementor-6027 .elementor-element.elementor-element-a136399 .elementor-heading-title{font-size:45px;color:var( --e-global-color-secondary );}.elementor-6027 .elementor-element.elementor-element-7f78bb3{text-align:center;letter-spacing:1px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );}.elementor-6027 .elementor-element.elementor-element-a3b1b5b .elementor-button{letter-spacing:1px;}@media(max-width:1024px){.elementor-6027 .elementor-element.elementor-element-a136399 .elementor-heading-title{font-size:30px;}}@media(max-width:767px){.elementor-6027 .elementor-element.elementor-element-a62bcf6 .elementor-heading-title{font-size:18px;line-height:1.5em;}.elementor-6027 .elementor-element.elementor-element-98d99e2 > .elementor-widget-container{padding:20px 0px 20px 0px;}.elementor-6027 .elementor-element.elementor-element-843afcc .elementor-heading-title{font-size:16px;}.elementor-6027 .elementor-element.elementor-element-7366ca3 > .elementor-widget-container{padding:20px 0px 20px 0px;}.elementor-6027 .elementor-element.elementor-element-4437c69 .elementor-heading-title{font-size:16px;}.elementor-6027 .elementor-element.elementor-element-679fd5b > .elementor-widget-container{padding:20px 0px 20px 0px;}.elementor-6027 .elementor-element.elementor-element-7a1c585 .elementor-heading-title{font-size:16px;}.elementor-6027 .elementor-element.elementor-element-a136399 .elementor-heading-title{font-size:24px;}}</style>							<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6027" class="elementor elementor-6027" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-a60d541 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="a60d541" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b799a67" data-id="b799a67" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-a62bcf6 elementor-widget elementor-widget-heading" data-id="a62bcf6" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h5 class="elementor-heading-title elementor-size-default">overview前言</h5>				</div>
				</div>
				<div class="elementor-element elementor-element-ec1f8b3 elementor-widget elementor-widget-text-editor" data-id="ec1f8b3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>今天给大家介绍TSMaster新功能—工具箱设计开发。有了这个模块，任何人都能够用Python来设计专业的TSMaster用户界面并集成到自己的工程中。</p><p>在此，需要大家更新TSMaster软件至最新版本。最新版本下载链接可以直接在公众号菜单栏回复“TSMaster”，即可获取。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-f0bed23 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="f0bed23" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-786b1c4" data-id="786b1c4" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-98d99e2 headingTitleH2 elementor-widget elementor-widget-heading" data-id="98d99e2" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">一、工具箱的持久化功能</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-843afcc elementor-widget elementor-widget-heading" data-id="843afcc" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h5 class="elementor-heading-title elementor-size-default">The persistence function of the toolkit</h5>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-dc226f3 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="dc226f3" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f7a659d" data-id="f7a659d" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-166e329 elementor-widget elementor-widget-text-editor" data-id="166e329" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<section><p>打开TSMaster，进入后切换到应用，点击工具箱设计开发环境的图标，会出现开发环境的界面。同时会有一个新图标，而TSMaster工具箱出现在该图标的右侧。这个图标用来链接用户设计生成的界面。转发到开发环境界面，可以看到有两个现成的工具箱，一个是CAN报文的发送窗口，另一个是工具箱设计指南。</p></section>								</div>
				</div>
				<div class="elementor-element elementor-element-98a32ae elementor-widget elementor-widget-image" data-id="98a32ae" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="1000" height="558" src="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-1.jpg" class="attachment-large size-large wp-image-6029" alt="TSMaster工具箱集成开发环境系列1-工具箱设计开发" srcset="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-1.jpg 1000w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-1-300x167.jpg 300w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-1-768x429.jpg 768w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-1-18x10.jpg 18w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-1-800x446.jpg 800w" sizes="auto, (max-width: 1000px) 100vw, 1000px" title="新功能发布 | TSMaster工具箱集成开发环境系列1-工具箱设计开发 28">															</div>
				</div>
				<div class="elementor-element elementor-element-f57d993 elementor-widget elementor-widget-text-editor" data-id="f57d993" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<section><p>然后点击对应工具箱最右侧的运行按钮，窗口就会显示在TSMaster工具箱的链接下面，我们对这个窗口进行拖动和缩放。如果点击右上角的关闭，默认操作是隐藏，如果想要恢复这个窗口可以通过下拉找回，如果点击右上角的删除按钮，则可以永久的删除该窗口。这样的窗口每点击一次都会创建一个新的，每个窗口都有独立的配置。</p></section>								</div>
				</div>
				<div class="elementor-element elementor-element-e8ee1d6 elementor-widget elementor-widget-image" data-id="e8ee1d6" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="800" height="437" src="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-2.jpg" class="attachment-large size-large wp-image-6030" alt="TSMaster工具箱集成开发环境系列1-工具箱设计开发" srcset="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-2.jpg 800w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-2-300x164.jpg 300w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-2-768x420.jpg 768w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-2-18x10.jpg 18w" sizes="auto, (max-width: 800px) 100vw, 800px" title="新功能发布 | TSMaster工具箱集成开发环境系列1-工具箱设计开发 29">															</div>
				</div>
				<div class="elementor-element elementor-element-fc8bc20 elementor-widget elementor-widget-text-editor" data-id="fc8bc20" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<section><p>我们可以尝试修改一下这个配置，比如将0x123改成0x321，同时我们将窗口稍微排布一下，新建一个页面，将其中的一个到两个窗口拉出来，保存工程，关闭TSMaster，再打开TSMaster，选择上一次的工程，打开之后就可以看到工具箱的窗口，布局依然是上一次关闭之前的状态。例如左边这个窗口的ID是0x321是我们改过的，右边这个窗口是默认的0x123，这就是工具箱的持久化功能。</p></section>								</div>
				</div>
				<div class="elementor-element elementor-element-fd30137 elementor-widget elementor-widget-image" data-id="fd30137" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="1000" height="547" src="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-3.jpg" class="attachment-large size-large wp-image-6031" alt="TSMaster工具箱集成开发环境系列1-工具箱设计开发" srcset="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-3.jpg 1000w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-3-300x164.jpg 300w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-3-768x420.jpg 768w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-3-18x10.jpg 18w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-3-800x438.jpg 800w" sizes="auto, (max-width: 1000px) 100vw, 1000px" title="新功能发布 | TSMaster工具箱集成开发环境系列1-工具箱设计开发 30">															</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-1250248 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1250248" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-79cc8bb" data-id="79cc8bb" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7366ca3 headingTitleH2 elementor-widget elementor-widget-heading" data-id="7366ca3" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">二、Python的语法提示功能</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-4437c69 elementor-widget elementor-widget-heading" data-id="4437c69" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h5 class="elementor-heading-title elementor-size-default">Python syntax prompt</h5>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-3830381 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="3830381" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d0c7c95" data-id="d0c7c95" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d9b1afd elementor-widget elementor-widget-text-editor" data-id="d9b1afd" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<section><p>在开发环境中，选择一个工具箱，双击对应的行，就可以来到代码编辑的窗口，该工具箱的所有的可视的元素和背后运行的所有逻辑，都在这一份Python代码里面。如果想用系统关联的Python文件编辑器来打开这个Python文件，只需要点击工具栏上的编辑按钮。</p></section>								</div>
				</div>
				<div class="elementor-element elementor-element-5253434 elementor-widget elementor-widget-image" data-id="5253434" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="800" height="418" src="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-4.jpg" class="attachment-large size-large wp-image-6032" alt="TSMaster工具箱集成开发环境系列1-工具箱设计开发" srcset="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-4.jpg 800w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-4-300x157.jpg 300w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-4-768x401.jpg 768w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-4-18x9.jpg 18w" sizes="auto, (max-width: 800px) 100vw, 800px" title="新功能发布 | TSMaster工具箱集成开发环境系列1-工具箱设计开发 31">															</div>
				</div>
				<div class="elementor-element elementor-element-7685469 elementor-widget elementor-widget-text-editor" data-id="7685469" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<section><p>例如，本机上是用Visual Studio Code来关联Python文件，那么打开的就是Visual Studio Code，初次打开之后是需要安装Python的支持包。在VS code里面，可以在这里点击搜索Python，会看到微软发布的Python支持包，点击安装。安装以后就可以很轻松的修改和管理代码。</p></section>								</div>
				</div>
				<div class="elementor-element elementor-element-4f89b0f elementor-widget elementor-widget-image" data-id="4f89b0f" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="800" height="419" src="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-5_1.jpg" class="attachment-large size-large wp-image-6033" alt="TSMaster工具箱集成开发环境系列1-工具箱设计开发" srcset="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-5_1.jpg 800w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-5_1-300x157.jpg 300w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-5_1-768x402.jpg 768w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-5_1-18x9.jpg 18w" sizes="auto, (max-width: 800px) 100vw, 800px" title="新功能发布 | TSMaster工具箱集成开发环境系列1-工具箱设计开发 32">															</div>
				</div>
				<div class="elementor-element elementor-element-8fc8f28 elementor-widget elementor-widget-text-editor" data-id="8fc8f28" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<section><p>安装完成以后关闭扩展的界面，转到我们现在的Python的环境中，默认的Python环境会选取电脑上已经装过的Python路径。这个路径可能并不包含我们的TSMaster的引擎，所以我们需要切换Python环境。如果没有TSMaster的package，语法提示就会出现很多错误，那么我们就需要切换到默认的Python版本为TSMaster安装目录下的Python，当前的Python环境已经具备语法提示的功能。</p></section>								</div>
				</div>
				<div class="elementor-element elementor-element-74e5189 elementor-widget elementor-widget-image" data-id="74e5189" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="800" height="415" src="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-6-1.jpg" class="attachment-large size-large wp-image-6034" alt="TSMaster工具箱集成开发环境系列1-工具箱设计开发" srcset="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-6-1.jpg 800w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-6-1-300x156.jpg 300w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-6-1-768x398.jpg 768w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-6-1-18x9.jpg 18w" sizes="auto, (max-width: 800px) 100vw, 800px" title="新功能发布 | TSMaster工具箱集成开发环境系列1-工具箱设计开发 33">															</div>
				</div>
				<div class="elementor-element elementor-element-2ebcd27 elementor-widget elementor-widget-text-editor" data-id="2ebcd27" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<section><p>按Ctrl+k+0，把代码折叠，我们大致看一下代码，该文件只有三部分内容，第一个是导入-import TSMaster，是TSMaster支持包中的类型信息；第二个是定义窗体类，它继承于TSMaster内部的TSForm；第三个是main函数，用于创建和启动脱离TSMaster的独立的程序。接下来我们重点介绍一下第二部分窗体类代码。</p></section><section></section>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-8a67124 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="8a67124" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-313dee7" data-id="313dee7" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-679fd5b headingTitleH2 elementor-widget elementor-widget-heading" data-id="679fd5b" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">三、窗体类代码</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-7a1c585 elementor-widget elementor-widget-heading" data-id="7a1c585" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h5 class="elementor-heading-title elementor-size-default">Form class code</h5>				</div>
				</div>
				<div class="elementor-element elementor-element-73b434c elementor-widget elementor-widget-text-editor" data-id="73b434c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>主要分两块内容，第一块是init函数，第二块是用户定义的各种各样的函数。我们把init函数展开，会发现内部有大量的界面相关的代码。例如，DLC的Label框，转到TSMaster中，再找到VS code对应的代码创建代码，它设定了这个Label框的位置就是Left Top Width Height属性以及它的caption属性，这些代码用户可以手写，也可以通过TSMaster提供的窗体设计工具来自动生成。</p><section><p>我们将滚动条下拉，来到init函数的下半部分，就是在Auto Generated Python Code下方，是用户初始化代码存放的地方。我们可以在上面空间创建和设置，进一步设定空间的行为。例如这行，247行创建工具栏的按钮用于连接application，这个按钮创建之后，我们再将它的OnClick事件关联到我们本地的一个回调函数叫OnConnectClick，然后跳转到这个函数展开，它的执行逻辑就是，首先代用TSMaster的API，也就是我们小程序熟知的app.connect来连接application，如果连接成功，那就是返回值为0。</p></section>								</div>
				</div>
				<div class="elementor-element elementor-element-7f64cc3 elementor-widget elementor-widget-image" data-id="7f64cc3" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="1000" height="523" src="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-7-1.jpg" class="attachment-large size-large wp-image-6035" alt="TSMaster工具箱集成开发环境系列1-工具箱设计开发" srcset="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-7-1.jpg 1000w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-7-1-300x157.jpg 300w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-7-1-768x402.jpg 768w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-7-1-18x9.jpg 18w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-7-1-800x418.jpg 800w" sizes="auto, (max-width: 1000px) 100vw, 1000px" title="新功能发布 | TSMaster工具箱集成开发环境系列1-工具箱设计开发 34">															</div>
				</div>
				<div class="elementor-element elementor-element-06e3afb elementor-widget elementor-widget-text-editor" data-id="06e3afb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<section><p>我们可以回到TSMaster软件中来验证一下，找一个窗口，单击工具栏上的连接按钮，会看到连接成功的提示。所有的toolbox的窗体的连接按钮都变成了灰色的状态，同时断开连接的按钮呈现激活状态，这就是TSMaster事件回调函数起的作用。</p></section>								</div>
				</div>
				<div class="elementor-element elementor-element-0a8666a elementor-widget elementor-widget-image" data-id="0a8666a" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="1000" height="532" src="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-8-1.jpg" class="attachment-large size-large wp-image-6036" alt="TSMaster工具箱集成开发环境系列1-工具箱设计开发" srcset="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-8-1.jpg 1000w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-8-1-300x160.jpg 300w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-8-1-768x409.jpg 768w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-8-1-18x10.jpg 18w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-8-1-800x426.jpg 800w" sizes="auto, (max-width: 1000px) 100vw, 1000px" title="新功能发布 | TSMaster工具箱集成开发环境系列1-工具箱设计开发 35">															</div>
				</div>
				<div class="elementor-element elementor-element-dda13c5 elementor-widget elementor-widget-text-editor" data-id="dda13c5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<section><p>回到代码，找一下OnMeasurementStart函数，这个函数调用了一个子函数来设置按钮的状态，按住Ctrl进入这个函数，展开看一下，那么这个函数的逻辑就是，如果连接成功，则连接按钮变灰，断开按钮激活，同时，在窗体的状态栏打印应用程序已连接。否则说明连接已断开。所以每当我们点击连接的时候，会显示Measurement started，点击断开的时候会显示Measurement stopped。</p><section><p>至于点击回调函数的愿意，因为在窗体上有一个Measurement start回调函数，我们可以对它进行赋值，就是这行叫self.OnMeasurementStarted Event，我们可以将它赋值为我们内部的OnMeasurementStart这个回调函数。这样，每当TSMaster成功启动连接，就可以在任何地方启动连接。</p></section></section><section></section>								</div>
				</div>
				<div class="elementor-element elementor-element-45d6340 elementor-widget elementor-widget-image" data-id="45d6340" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="1000" height="528" src="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-9.jpg" class="attachment-large size-large wp-image-6037" alt="TSMaster工具箱集成开发环境系列1-工具箱设计开发" srcset="https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-9.jpg 1000w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-9-300x158.jpg 300w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-9-768x406.jpg 768w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-9-18x10.jpg 18w, https://www.tosunai.com/wp-content/uploads/2024/01/toolbox-ide-series-1-9-800x422.jpg 800w" sizes="auto, (max-width: 1000px) 100vw, 1000px" title="新功能发布 | TSMaster工具箱集成开发环境系列1-工具箱设计开发 36">															</div>
				</div>
				<div class="elementor-element elementor-element-27cadb7 elementor-widget elementor-widget-text-editor" data-id="27cadb7" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>我们点击TSMaster启动连接，可以看到工具栏上的按钮的状态都同步发生了变化，之前看到的Raw_CAN_Transmit这个窗口是一个完整的demo，它实现了一个原始的CAN报文的发送逻辑，就是点击按钮发送，或者是定时器发送，或者是收到特定的报文之后触发发送。TSMaster工具箱集成开发环境系列后续还会更新新功能，敬请期待&#8230;</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-d84b486 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="d84b486" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e2304f8" data-id="e2304f8" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-a136399 elementor-widget elementor-widget-heading" data-id="a136399" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">About More</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-7f78bb3 elementor-widget elementor-widget-text-editor" data-id="7f78bb3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>更多使用教程可查看B站视频～</p>								</div>
				</div>
				<div class="elementor-element elementor-element-a3b1b5b elementor-align-center elementor-widget elementor-widget-button" data-id="a3b1b5b" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="https://www.bilibili.com/video/BV1NM41187Xb/" target="_blank" rel="noopener">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">TSMaster 更多视频教程 →</span>
					</span>
					</a>
				</div>
								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>&lt;p&gt;The post <a rel="nofollow" href="https://www.tosunai.com/tsmaster-toolbox-ide-series-1-toolbox-design-and-development/">新功能发布 | TSMaster工具箱集成开发环境系列1-工具箱设计开发</a> first appeared on <a rel="nofollow" href="https://www.tosunai.com">上海同星智能科技有限公司</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.tosunai.com/tsmaster-toolbox-ide-series-1-toolbox-design-and-development/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
