<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[8-Angle Unit does not respond to read_status call through I2C]]></title><description><![CDATA[<p dir="auto">My 8-Angle Unit only responds to I2C communication for register addresses 0xFE (Version) and 0xFF (Address) with values “1” and “0x43” respectively.<br />
“read_status” calls to all the other register addresses (0x00 – 0x17, 0x20, 0x30 – 0x53) respond “None”.</p>
<p dir="auto">Please help me to read values from 8-Angle unit.</p>
<p dir="auto">Output from my test python script as well as the script:</p>
<blockquote>
<p dir="auto">from unit8angle_read_status import *<br />
|<br />
| FEh :    1h | FFh :   43h |<br />
| 00h : None  | 01h : None  | 02h : None  | 03h : None  | 04h : None  | 05h : None  | 06h : None  | 07h : None  |<br />
| 08h : None  | 09h : None  | 0Ah : None  | 0Bh : None  | 0Ch : None  | 0Dh : None  | 0Eh : None  | 0Fh : None  |<br />
| 10h : None  | 11h : None  | 12h : None  | 13h : None  | 14h : None  | 15h : None  | 16h : None  | 17h : None  |<br />
| 20h : None  |<br />
| 30h : None  | 31h : None  | 32h : None  | 33h : None  | 34h : None  | 35h : None  | 36h : None  | 37h : None  |<br />
| 38h : None  | 39h : None  | 3Ah : None  | 3Bh : None  | 3Ch : None  | 3Dh : None  | 3Eh : None  | 3Fh : None  |<br />
| 40h : None  | 41h : None  | 42h : None  | 43h : None  | 44h : None  | 45h : None  | 46h : None  | 47h : None  |<br />
| 48h : None  | 49h : None  | 4Ah : None  | 4Bh : None  | 4Ch : None  | 4Dh : None  | 4Eh : None  | 4Fh : None  |<br />
| 50h : None  | 51h : None  | 52h : None  | 53h : None  |<br />
| FEh :    1h | FFh :   43h |<br />
|</p>
</blockquote>
<h2>unit8angle_read_status.py</h2>
<pre><code>import unit

def angle8_address_read(address_list):
    address0 = 0
    for i, address in enumerate(address_list):
        value = angle8.read_status(address)
        if address % 8 == 0 or address - address0 != 1: print(" |")
        if type(value).__name__ == "int": form = " | %02Xh : %4Xh"
        else:                             form = " | %02Xh : %s "
        print(form % (address, value), end="")
        address0 = address
    print("\n |")
# -----------------------------------------------------------------

angle8 = unit.get(unit.ANGLE8, unit.PORTA)

# --- addresse list ---
address_list = [0xFE, 0xFF]
address_list.extend(range(0, 0x18))
address_list.append(0x20)
address_list.extend(range(0x30, 0x54))
address_list.extend([0xFE, 0xFF])
# ---------------------

angle8_address_read(address_list)
</code></pre>
]]></description><link>https://community.m5stack.com/topic/4914/8-angle-unit-does-not-respond-to-read_status-call-through-i2c</link><generator>RSS for Node</generator><lastBuildDate>Mon, 04 May 2026 10:34:04 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/4914.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Dec 2022 17:02:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 8-Angle Unit does not respond to read_status call through I2C on Fri, 24 Mar 2023 22:58:11 GMT]]></title><description><![CDATA[<p dir="auto">This issue was resolved. It was a simple misunderstanding of mine. "angle8.read_status" method was only for reading version and address. To read other registers, another angle8 unit method or normal I2C read work as expected.<br />
I realized I had been asking help to wrong people for almost three months, though they were also in M5Stack. I finally got the answer telling me it was my simple mistake.</p>
]]></description><link>https://community.m5stack.com/post/20439</link><guid isPermaLink="true">https://community.m5stack.com/post/20439</guid><dc:creator><![CDATA[vjou0]]></dc:creator><pubDate>Fri, 24 Mar 2023 22:58:11 GMT</pubDate></item><item><title><![CDATA[Reply to 8-Angle Unit does not respond to read_status call through I2C on Fri, 13 Jan 2023 15:49:37 GMT]]></title><description><![CDATA[<p dir="auto">Additional information:<br />
I am using ATOM Lite to communicate with 8-angle and I flashed ATOM Lite with <strong>ATOM Lite firmware v1.11.0</strong>, by using <strong>M5Burner-v3-beta-win-x64</strong>.<br />
When I <strong>connect to ATOM through Terminal in UIFlow</strong>, it says “<strong>MicroPython 3a9581b5a-dirty on 2022-12-08; M5Stack with ESP32</strong>.”<br />
MicroPython on the ATOM Lite is perfectly working with other units, such as CardKBCardKB V1.1 (I2C) and ATOM GPS kit (UART).</p>
<p dir="auto">If anyone can give me valid MicroPython scripts to test the 8-angle unit response that I can try with my ATOM Lite, I would appreciate very much.</p>
]]></description><link>https://community.m5stack.com/post/19862</link><guid isPermaLink="true">https://community.m5stack.com/post/19862</guid><dc:creator><![CDATA[vjou0]]></dc:creator><pubDate>Fri, 13 Jan 2023 15:49:37 GMT</pubDate></item></channel></rss>