Navigation

    M5Stack Community

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    1. Home
    2. vjou0
    V
    • Continue chat with vjou0
    • Start new chat with vjou0
    • Flag Profile
    • Profile
    • Following
    • Followers
    • Blocks
    • Topics
    • Posts
    • Best
    • Groups
    Save
    Saving

    vjou0

    @vjou0

    2
    Reputation
    3
    Posts
    149
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    vjou0 Follow

    Posts made by vjou0

    • RE: 8-Angle Unit does not respond to read_status call through I2C

      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.
      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.

      posted in Units
      V
      vjou0
    • RE: 8-Angle Unit does not respond to read_status call through I2C

      Additional information:
      I am using ATOM Lite to communicate with 8-angle and I flashed ATOM Lite with ATOM Lite firmware v1.11.0, by using M5Burner-v3-beta-win-x64.
      When I connect to ATOM through Terminal in UIFlow, it says “MicroPython 3a9581b5a-dirty on 2022-12-08; M5Stack with ESP32.”
      MicroPython on the ATOM Lite is perfectly working with other units, such as CardKBCardKB V1.1 (I2C) and ATOM GPS kit (UART).

      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.

      posted in Units
      V
      vjou0
    • 8-Angle Unit does not respond to read_status call through I2C

      My 8-Angle Unit only responds to I2C communication for register addresses 0xFE (Version) and 0xFF (Address) with values “1” and “0x43” respectively.
      “read_status” calls to all the other register addresses (0x00 – 0x17, 0x20, 0x30 – 0x53) respond “None”.

      Please help me to read values from 8-Angle unit.

      Output from my test python script as well as the script:

      from unit8angle_read_status import *
      |
      | FEh : 1h | FFh : 43h |
      | 00h : None | 01h : None | 02h : None | 03h : None | 04h : None | 05h : None | 06h : None | 07h : None |
      | 08h : None | 09h : None | 0Ah : None | 0Bh : None | 0Ch : None | 0Dh : None | 0Eh : None | 0Fh : None |
      | 10h : None | 11h : None | 12h : None | 13h : None | 14h : None | 15h : None | 16h : None | 17h : None |
      | 20h : None |
      | 30h : None | 31h : None | 32h : None | 33h : None | 34h : None | 35h : None | 36h : None | 37h : None |
      | 38h : None | 39h : None | 3Ah : None | 3Bh : None | 3Ch : None | 3Dh : None | 3Eh : None | 3Fh : None |
      | 40h : None | 41h : None | 42h : None | 43h : None | 44h : None | 45h : None | 46h : None | 47h : None |
      | 48h : None | 49h : None | 4Ah : None | 4Bh : None | 4Ch : None | 4Dh : None | 4Eh : None | 4Fh : None |
      | 50h : None | 51h : None | 52h : None | 53h : None |
      | FEh : 1h | FFh : 43h |
      |

      unit8angle_read_status.py

      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)
      posted in Units
      V
      vjou0