<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://data.emittechnologies.com/wiki/index.php?action=history&amp;feed=atom&amp;title=EDR_Port_Timings</id>
	<title>EDR Port Timings - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://data.emittechnologies.com/wiki/index.php?action=history&amp;feed=atom&amp;title=EDR_Port_Timings"/>
	<link rel="alternate" type="text/html" href="http://data.emittechnologies.com/wiki/index.php?title=EDR_Port_Timings&amp;action=history"/>
	<updated>2026-05-05T19:42:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>http://data.emittechnologies.com/wiki/index.php?title=EDR_Port_Timings&amp;diff=1350&amp;oldid=prev</id>
		<title>Thomas Peterson at 16:27, 14 March 2023</title>
		<link rel="alternate" type="text/html" href="http://data.emittechnologies.com/wiki/index.php?title=EDR_Port_Timings&amp;diff=1350&amp;oldid=prev"/>
		<updated>2023-03-14T16:27:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:27, 14 March 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot;&gt;Line 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*The master will wait for &amp;quot;Write delay us&amp;quot; after receiving the response before switching back to WRITE&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*The master will wait for &amp;quot;Write delay us&amp;quot; after receiving the response before switching back to WRITE&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*The master switches to WRITE and continues with the next message in the batch&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*The master switches to WRITE and continues with the next message in the batch&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Note 1: The built-in delay is intended to be enough to cover all the bytes in the master request. Sometimes this estimate is not good enough though, so the extra delay &quot;read delay&quot; needs to be added&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Note 2: The time between the master request going out and the slave device responding will vary depending on the slave device. If it responds very quickly then the read delay needs to be short enough that the master is ready to read. If the slave device is slow to respond then the read delay is not very particular.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Note 3: The read timeout is by default 1 second (1000 ms). If the master doesn&#039;t see any response in this time period it will consider the message failed and continue with the next request. If the slave device does respond then the master will go immediately to the write delay, it won&#039;t have to wait for the full read timeout in normal successful cases.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Note 4: The time it takes for the slave device to release the bus will vary based on the slave device. Some devices will take a while to release the bus, so the write delay on the master needs to be longer to make sure the slave is ready to read when the next request goes out. Often it has to be increased from 1000 to 4000 us.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Thomas Peterson</name></author>
	</entry>
	<entry>
		<id>http://data.emittechnologies.com/wiki/index.php?title=EDR_Port_Timings&amp;diff=1349&amp;oldid=prev</id>
		<title>Thomas Peterson: Created page with &quot;The EDR has several settings related to port timings for communication. This page describes how those settings work.  File:Edr port timing.png  The general sequence is:  *Master sees that a batch request is due, aka a set of requests covering all the registers. This happens every &quot;Batch Request (s)&quot; duration, by default this is 60 seconds. *The master will switch the bus to WRITE and wait 1 ms *The master will write out the request *The master will wait a reasonable...&quot;</title>
		<link rel="alternate" type="text/html" href="http://data.emittechnologies.com/wiki/index.php?title=EDR_Port_Timings&amp;diff=1349&amp;oldid=prev"/>
		<updated>2023-03-14T16:23:12Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;The EDR has several settings related to port timings for communication. This page describes how those settings work.  &lt;a href=&quot;/wiki/index.php?title=File:Edr_port_timing.png&quot; title=&quot;File:Edr port timing.png&quot;&gt;File:Edr port timing.png&lt;/a&gt;  The general sequence is:  *Master sees that a batch request is due, aka a set of requests covering all the registers. This happens every &amp;quot;Batch Request (s)&amp;quot; duration, by default this is 60 seconds. *The master will switch the bus to WRITE and wait 1 ms *The master will write out the request *The master will wait a reasonable...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The EDR has several settings related to port timings for communication. This page describes how those settings work.&lt;br /&gt;
&lt;br /&gt;
[[File:Edr port timing.png]]&lt;br /&gt;
&lt;br /&gt;
The general sequence is:&lt;br /&gt;
&lt;br /&gt;
*Master sees that a batch request is due, aka a set of requests covering all the registers. This happens every &amp;quot;Batch Request (s)&amp;quot; duration, by default this is 60 seconds.&lt;br /&gt;
*The master will switch the bus to WRITE and wait 1 ms&lt;br /&gt;
*The master will write out the request&lt;br /&gt;
*The master will wait a reasonable delay for the message (see note 1)&lt;br /&gt;
*The master will wait an additional &amp;quot;Read delay us&amp;quot; setting before switching bus to read&lt;br /&gt;
**Note that if the master doesn&amp;#039;t wait long enough, the message may not be done sending at the time the bus is switched to READ. If the master waits too long, then the bus may not be clear when the slave device wants to respond.&lt;br /&gt;
*The master switches the bus to READ / releases the bus and listens for response&lt;br /&gt;
*The slave device has presumably been listening and at some point determines it should respond (see note 2)&lt;br /&gt;
*The slave device switches to WRITE&lt;br /&gt;
*The slave device writes out response&lt;br /&gt;
*At some point the slave device releases the bus (see note 4)&lt;br /&gt;
*If a slave never responds to a message in the read timeout, the master will consider the message failed (see note 3)&lt;br /&gt;
*If the slave does respond, the master will read and process the response&lt;br /&gt;
*The master will wait for &amp;quot;Write delay us&amp;quot; after receiving the response before switching back to WRITE&lt;br /&gt;
*The master switches to WRITE and continues with the next message in the batch&lt;/div&gt;</summary>
		<author><name>Thomas Peterson</name></author>
	</entry>
</feed>