<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://bitwizard.nl/wiki/index.php?action=history&amp;feed=atom&amp;title=POWER_protocol</id>
	<title>POWER protocol - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://bitwizard.nl/wiki/index.php?action=history&amp;feed=atom&amp;title=POWER_protocol"/>
	<link rel="alternate" type="text/html" href="https://bitwizard.nl/wiki/index.php?title=POWER_protocol&amp;action=history"/>
	<updated>2026-04-05T18:34:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.6</generator>
	<entry>
		<id>https://bitwizard.nl/wiki/index.php?title=POWER_protocol&amp;diff=2792&amp;oldid=prev</id>
		<title>Rew: /* read ports */</title>
		<link rel="alternate" type="text/html" href="https://bitwizard.nl/wiki/index.php?title=POWER_protocol&amp;diff=2792&amp;oldid=prev"/>
		<updated>2014-05-30T16:13:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;read ports&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&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:13, 30 May 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 31:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 31:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;{| border=1&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;{| border=1&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;!&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;rowspan=&quot;2&quot;|&lt;/del&gt;port !!&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;colspan=&quot;4&quot;|available&lt;/del&gt; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;on !!rowspan=&quot;2&quot;|&lt;/del&gt;function &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;!port !! function &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 class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;a class=&quot;mw-diff-movedpara-right&quot; title=&quot;Paragraph was moved. Click to jump to old location.&quot; href=&quot;#movedpara_7_0_lhs&quot;&gt;&amp;#x26AB;&lt;/a&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&lt;a name=&quot;movedpara_3_0_rhs&quot;&gt;&lt;/a&gt;| 0x01 || identification string. (terminated with 0).&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;! DIO !! 3/7FETs !! RELAY !! pushbutton &lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;a class=&quot;mw-diff-movedpara-right&quot; title=&quot;Paragraph was moved. Click to jump to old location.&quot; href=&quot;#movedpara_8_1_lhs&quot;&gt;&amp;#x26AB;&lt;/a&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;&lt;a name=&quot;movedpara_6_0_rhs&quot;&gt;&lt;/a&gt;| 0x02 || read eeprom (serial number). &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;a class=&quot;mw-diff-movedpara-left&quot; title=&quot;Paragraph was moved. Click to jump to new location.&quot; href=&quot;#movedpara_3_0_rhs&quot;&gt;&amp;#x26AB;&lt;/a&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;&lt;a name=&quot;movedpara_7_0_lhs&quot;&gt;&lt;/a&gt;| 0x01&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; || X || X || X || X&lt;/del&gt; || identification string. (terminated with 0).&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;a class=&quot;mw-diff-movedpara-left&quot; title=&quot;Paragraph was moved. Click to jump to new location.&quot; href=&quot;#movedpara_6_0_rhs&quot;&gt;&amp;#x26AB;&lt;/a&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;&lt;a name=&quot;movedpara_8_1_lhs&quot;&gt;&lt;/a&gt;| 0x02&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; || X || X || X || X&lt;/del&gt; || read eeprom (serial number). &lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;|-&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 class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;| 0x20 || read  the turn-off-time left. 32-bits, in ms.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;| 0x20 || read  the turn-off-time left. 32-bits, in ms.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rew</name></author>
	</entry>
	<entry>
		<id>https://bitwizard.nl/wiki/index.php?title=POWER_protocol&amp;diff=2791&amp;oldid=prev</id>
		<title>Rew: /* write ports */</title>
		<link rel="alternate" type="text/html" href="https://bitwizard.nl/wiki/index.php?title=POWER_protocol&amp;diff=2791&amp;oldid=prev"/>
		<updated>2014-05-30T16:12:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;write ports&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&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:12, 30 May 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;| 0x21 || set the turn-on-time. 32-bits, in ms. Specify e.g. 600000 to turn the system back on in 10 minutes. This starts counting as soon as you set it. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;| 0x21 || set the turn-on-time. 32-bits, in ms. Specify e.g. 600000 to turn the system back on in 10 minutes. This starts counting as soon as you set it. &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 class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;|- &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;|- &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;| 0xf0&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; || X || X || X || X&lt;/del&gt; || change address. Requires a write to 0xf1 and 0xf2 first. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;| 0xf0 || change address. Requires a write to 0xf1 and 0xf2 first. &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 class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;| 0xf1&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; || X || X || X || X&lt;/del&gt; || write 0x55 here to start unlocking the change address register. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;| 0xf1 || write 0x55 here to start unlocking the change address register. &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 class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-deletedline diff-side-deleted&quot;&gt;&lt;div&gt;| 0xf2&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; || X || X || X || X&lt;/del&gt; || write 0xaa here to unlock the change address register. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-addedline diff-side-added&quot;&gt;&lt;div&gt;| 0xf2 || write 0xaa here to unlock the change address register. &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 class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;div&gt;|}&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 class=&quot;diff-context diff-side-deleted&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-context diff-side-added&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rew</name></author>
	</entry>
	<entry>
		<id>https://bitwizard.nl/wiki/index.php?title=POWER_protocol&amp;diff=2790&amp;oldid=prev</id>
		<title>Rew: Created page with &quot;= Introduction =  The protocol for the POWER board will be explained on this page.   This page describes both the SPI and the I2C version. See SPI versus I2C protocols for...&quot;</title>
		<link rel="alternate" type="text/html" href="https://bitwizard.nl/wiki/index.php?title=POWER_protocol&amp;diff=2790&amp;oldid=prev"/>
		<updated>2014-05-30T16:12:27Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Introduction =  The protocol for the POWER board will be explained on this page.   This page describes both the SPI and the I2C version. See &lt;a href=&quot;/wiki/index.php/SPI_versus_I2C_protocols&quot; title=&quot;SPI versus I2C protocols&quot;&gt;SPI versus I2C protocols&lt;/a&gt; for...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
The protocol for the POWER board will be explained on this page. &lt;br /&gt;
&lt;br /&gt;
This page describes both the SPI and the I2C version. See [[SPI versus I2C protocols]] for the explanation about how the protocols work in general.&lt;br /&gt;
&lt;br /&gt;
Please see [[Default_addresses|this]] page for the default addresses.&lt;br /&gt;
&lt;br /&gt;
= write ports =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The POWER boards define several ports:&lt;br /&gt;
{| border=1&lt;br /&gt;
!port !! function &lt;br /&gt;
|-&lt;br /&gt;
| 0x20 || set the turn-off-time. 32-bits, in ms. This is an offset into the future. So specify 4000 to turn off in 4 seconds. &lt;br /&gt;
|- &lt;br /&gt;
| 0x21 || set the turn-on-time. 32-bits, in ms. Specify e.g. 600000 to turn the system back on in 10 minutes. This starts counting as soon as you set it. &lt;br /&gt;
|- &lt;br /&gt;
| 0xf0 || X || X || X || X || change address. Requires a write to 0xf1 and 0xf2 first. &lt;br /&gt;
|-&lt;br /&gt;
| 0xf1 || X || X || X || X || write 0x55 here to start unlocking the change address register. &lt;br /&gt;
|-&lt;br /&gt;
| 0xf2 || X || X || X || X || write 0xaa here to unlock the change address register. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All the above ports are read/write. I.e. if you read from that port, you will get the current value.&lt;br /&gt;
&lt;br /&gt;
= read ports =&lt;br /&gt;
The DIO, 3FETS, and 7FETS boards support the following read ports: &lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|port !!colspan=&amp;quot;4&amp;quot;|available on !!rowspan=&amp;quot;2&amp;quot;|function &lt;br /&gt;
|-&lt;br /&gt;
! DIO !! 3/7FETs !! RELAY !! pushbutton &lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || X || X || X || X || identification string. (terminated with 0).&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || X || X || X || X || read eeprom (serial number). &lt;br /&gt;
|-&lt;br /&gt;
| 0x20 || read  the turn-off-time left. 32-bits, in ms.&lt;br /&gt;
|- &lt;br /&gt;
| 0x21 || read  the turn-on-time left. 32-bits, in ms. &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= examples =&lt;br /&gt;
&lt;br /&gt;
For SPI in the examples below, &amp;quot;data sent&amp;quot; means the data on the MOSI line, while &amp;quot;data received&amp;quot; means the data on the MISO line. when MISO reads &amp;quot;xx&amp;quot; you should ignore the data. When MOSI reads &amp;quot;xx&amp;quot; it doesn&amp;#039;t matter what you send. &lt;br /&gt;
&lt;br /&gt;
For I2C in the examples below, you should first initiate a &amp;quot;write&amp;quot; transaction with the data in the &amp;quot;data sent column&amp;quot;. Don&amp;#039;t send the &amp;quot;xx&amp;quot; bytes. Then you initiate a &amp;quot;read&amp;quot; transaction, and you will get the data in the &amp;quot;data received&amp;quot; column (and again not the &amp;quot;xx&amp;quot; bytes). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== read identification ==&lt;br /&gt;
&lt;br /&gt;
read the identification string of the board. (SPI_POWER)&lt;br /&gt;
{| border=1&lt;br /&gt;
! data sent !! data received || explanation &lt;br /&gt;
|-&lt;br /&gt;
| 0xa5 || xx || select destination with address 0x84 for READ.  &lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || xx || identify&lt;br /&gt;
|-&lt;br /&gt;
| xx || 0x73  || &amp;#039;s&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| xx || 0x70  || &amp;#039;p&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| xx || 0x69  || &amp;#039;i&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| xx || ... || etc. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
read the identification string of the board. (I2C_POSER)&lt;br /&gt;
{| border=1&lt;br /&gt;
! I2C master !! I2C slave (i2c_dio)|| explanation &lt;br /&gt;
|-&lt;br /&gt;
| START || -- || start I2C transaction&lt;br /&gt;
|-&lt;br /&gt;
| 0x84 || -- || select destination with address 0x84 for write (set port).  &lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || -- || identify&lt;br /&gt;
|-&lt;br /&gt;
| STOP || -- || terminate I2C transaction. &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| START || -- || start I2C transaction&lt;br /&gt;
|-&lt;br /&gt;
| 0x85 || -- || select destination with address 0x84 for READ.  &lt;br /&gt;
|-&lt;br /&gt;
| -- || 0x69  || &amp;#039;i&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| -- || 0x32  || &amp;#039;2&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| -- || 0x63  || &amp;#039;c&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| -- || ... || etc. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that in the SPI example, there is bidirectional datatransfer on every cycle, but the data is &amp;quot;don&amp;#039;t care&amp;quot; or &amp;quot;must ignore&amp;quot; (indicated by xx), while in the I2C case, the other side cannot send as there is only one data-transfer direction (indicated by &amp;quot;--&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== turn on ten minutes from now ==&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
! data sent !! data recieved || explanation &lt;br /&gt;
|-&lt;br /&gt;
| 0xa4 || xx || select destination with address 0xa4 for WRITE&lt;br /&gt;
|-&lt;br /&gt;
| 0x21 || xx || port address: set turn-on-time&lt;br /&gt;
|-&lt;br /&gt;
| 0xc0 || xx || lowest byte of 600000 ms = 0x927c0 ms  is 0xc0.&lt;br /&gt;
||-&lt;br /&gt;
| 0x27 || xx || &lt;br /&gt;
-&lt;br /&gt;
| 0x09 || xx || &lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || xx || MSB.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== turn off four seconds from now ==&lt;br /&gt;
&lt;br /&gt;
(on your raspberry pi you can do this from your /etc/init.d/halt script just before the &amp;quot;halt -d -f ...&amp;quot; command. )&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
! data sent !! data recieved || explanation &lt;br /&gt;
|-&lt;br /&gt;
| 0xa4 || xx || select destination with address 0xa4 for WRITE&lt;br /&gt;
|-&lt;br /&gt;
| 0x20 || xx || port address: set turn-on-time&lt;br /&gt;
|-&lt;br /&gt;
| 0xa0 || xx || lowest byte of 4000 ms = 0xfa0 ms  is 0xa0.&lt;br /&gt;
||-&lt;br /&gt;
| 0x0f || xx || &lt;br /&gt;
-&lt;br /&gt;
| 0x00 || xx || &lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || xx || MSB.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rew</name></author>
	</entry>
</feed>