🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    i2c driver install error

    UiFlow 2.0
    6
    12
    5.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      kmk68 @kuriko
      last edited by

      @kuriko Yes, it affects. The program does not start on my M5 Core after this message....

      kurikoK 1 Reply Last reply Reply Quote 0
      • kurikoK
        kuriko @kmk68
        last edited by

        @kmk68
        Are you able to show your code?

        Good morning, and welcome to the Black Mesa Transit System.

        K 1 Reply Last reply Reply Quote 1
        • K
          kmk68 @kuriko
          last edited by

          @kuriko it's created by block editing...

          import os, sys, io
          import M5
          from M5 import *
          from label_plus import LabelPlus
          from hardware import *
          import time
          from unit import EncoderUnit

          label0 = None
          label1 = None
          label2 = None
          label3 = None
          BtnA = None
          BtnB = None
          BtnC = None
          rect0 = None
          rect1 = None
          rect2 = None
          rect3 = None
          rect4 = None
          rect5 = None
          rect6 = None
          rect7 = None
          rect8 = None
          rect9 = None
          rect10 = None
          rect11 = None
          rect12 = None
          rect13 = None
          rect14 = None
          rect15 = None
          rect16 = None
          rect17 = None
          rect18 = None
          rect19 = None
          label7 = None
          label8 = None
          label9 = None
          label10 = None
          label11 = None
          label12 = None
          label13 = None
          LA_4 = None
          LA_3 = None
          LA_2 = None
          LA_1 = None
          LB_4 = None
          LB_3 = None
          LB_2 = None
          LB_1 = None
          LC_4 = None
          LC_3 = None
          LC_2 = None
          LC_1 = None
          pin3 = None
          pin1 = None
          pin2 = None
          pin5 = None
          i2c1 = None
          pin25 = None
          pin26 = None
          pin35 = None
          pin36 = None
          encoder_0 = None

          l_enc_inc = None
          INT_clock = None
          t_values = None
          enc_mode = None
          curr_value = None
          loc_value = None

          Describe this function...

          def init_all_out_pins_as_():
          global l_enc_inc, INT_clock, t_values, enc_mode, curr_value, loc_value, label0, label1, label2, label3, BtnA, BtnB, BtnC, rect0, rect1, rect2, rect3, rect4, rect5, rect6, rect7, rect8, rect9, rect10, rect11, rect12, rect13, rect14, rect15, rect16, rect17, rect18, rect19, label7, label8, label9, label10, label11, label12, label13, LA_4, LA_3, LA_2, LA_1, LB_4, LB_3, LB_2, LB_1, LC_4, LC_3, LC_2, LC_1, pin3, pin1, pin2, pin5, i2c1, pin25, pin26, pin35, pin36, encoder_0
          pin3 = Pin(3, mode=Pin.OUT, pull=Pin.PULL_UP)
          pin1 = Pin(1, mode=Pin.OUT, pull=Pin.PULL_UP)
          pin2 = Pin(2, mode=Pin.OUT, pull=Pin.PULL_UP)
          pin5 = Pin(5, mode=Pin.OUT, pull=Pin.PULL_UP)
          pin25 = Pin(25, mode=Pin.OUT, pull=Pin.PULL_UP)
          pin26 = Pin(26, mode=Pin.OUT, pull=Pin.PULL_UP)
          pin35 = Pin(35, mode=Pin.OUT, pull=Pin.PULL_UP)
          pin36 = Pin(36, mode=Pin.OUT, pull=Pin.PULL_UP)

          Describe this function...

          def relay_outs_pin_set():
          global l_enc_inc, INT_clock, t_values, enc_mode, curr_value, loc_value, label0, label1, label2, label3, BtnA, BtnB, BtnC, rect0, rect1, rect2, rect3, rect4, rect5, rect6, rect7, rect8, rect9, rect10, rect11, rect12, rect13, rect14, rect15, rect16, rect17, rect18, rect19, label7, label8, label9, label10, label11, label12, label13, LA_4, LA_3, LA_2, LA_1, LB_4, LB_3, LB_2, LB_1, LC_4, LC_3, LC_2, LC_1, pin3, pin1, pin2, pin5, i2c1, pin25, pin26, pin35, pin36, encoder_0
          if t_values[-1] == INT_clock:
          pin3.value(1)
          if t_values[0] == INT_clock:
          pin1.value(1)
          if t_values[1] == INT_clock:
          pin2.value(1)
          if t_values[2] == INT_clock:
          pin5.value(1)
          if t_values[3] == INT_clock:
          pin25.value(1)
          if t_values[4] == INT_clock:
          pin26.value(1)
          if t_values[5] == INT_clock:
          pin35.value(1)
          if t_values[6] == INT_clock:
          pin36.value(1)
          if t_values[7] == INT_clock:
          pin25.value(0)
          if t_values[8] == INT_clock:
          pin26.value(0)
          if t_values[9] == INT_clock:
          pin35.value(0)
          if t_values[10] == INT_clock:
          pin36.value(0)
          if t_values[7] + 25 == INT_clock:
          pin3.value(0)
          if t_values[8] + 25 == INT_clock:
          pin1.value(0)
          if t_values[9] + 25 == INT_clock:
          pin2.value(0)
          if t_values[10] + 25 == INT_clock:
          pin5.value(0)

          Describe this function...

          def all_out_pins_to_zero():
          global l_enc_inc, INT_clock, t_values, enc_mode, curr_value, loc_value, label0, label1, label2, label3, BtnA, BtnB, BtnC, rect0, rect1, rect2, rect3, rect4, rect5, rect6, rect7, rect8, rect9, rect10, rect11, rect12, rect13, rect14, rect15, rect16, rect17, rect18, rect19, label7, label8, label9, label10, label11, label12, label13, LA_4, LA_3, LA_2, LA_1, LB_4, LB_3, LB_2, LB_1, LC_4, LC_3, LC_2, LC_1, pin3, pin1, pin2, pin5, i2c1, pin25, pin26, pin35, pin36, encoder_0
          pin3.value(0)
          pin1.value(0)
          pin2.value(0)
          pin5.value(0)
          pin25.value(0)
          pin26.value(0)
          pin35.value(0)
          pin36.value(0)

          def setup():
          global label0, label1, label2, label3, BtnA, BtnB, BtnC, rect0, rect1, rect2, rect3, rect4, rect5, rect6, rect7, rect8, rect9, rect10, rect11, rect12, rect13, rect14, rect15, rect16, rect17, rect18, rect19, label7, label8, label9, label10, label11, label12, label13, LA_4, LA_3, LA_2, LA_1, LB_4, LB_3, LB_2, LB_1, LC_4, LC_3, LC_2, LC_1, pin3, pin1, pin2, pin5, i2c1, pin25, pin26, pin35, pin36, encoder_0, l_enc_inc, INT_clock, t_values, enc_mode, curr_value, loc_value

          M5.begin()
          Widgets.fillScreen(0x222222)
          label0 = Widgets.Label("Key 1", 4, 185, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu12)
          label1 = Widgets.Label("Key 1", 4, 135, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu12)
          label2 = Widgets.Label("Key 2", 5, 85, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu12)
          label3 = Widgets.Label("Key 4", 5, 35, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu12)
          BtnA = Widgets.Label("A", 60, 222, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu18)
          BtnB = Widgets.Label("B", 150, 222, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu18)
          BtnC = Widgets.Label("C", 240, 222, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu18)
          rect0 = Widgets.Rectangle(100, 40, 40, 25, 0xffffff, 0x0f0957)
          rect1 = Widgets.Rectangle(143, 40, 40, 25, 0xffffff, 0x0f0957)
          rect2 = Widgets.Rectangle(186, 40, 40, 25, 0xffffff, 0x0f0957)
          rect3 = Widgets.Rectangle(229, 40, 40, 25, 0xffffff, 0x0f0957)
          rect4 = Widgets.Rectangle(100, 68, 40, 25, 0xffffff, 0x0f0957)
          rect5 = Widgets.Rectangle(143, 68, 40, 25, 0xffffff, 0x0f0957)
          rect6 = Widgets.Rectangle(186, 68, 40, 25, 0xffffff, 0x0f0957)
          rect7 = Widgets.Rectangle(229, 68, 40, 25, 0xffffff, 0x0f0957)
          rect8 = Widgets.Rectangle(100, 96, 40, 25, 0xffffff, 0x0f0957)
          rect9 = Widgets.Rectangle(100, 124, 40, 25, 0xffffff, 0x0f0957)
          rect10 = Widgets.Rectangle(100, 152, 40, 25, 0xffffff, 0x0f0957)
          rect11 = Widgets.Rectangle(143, 96, 40, 25, 0xffffff, 0x0f0957)
          rect12 = Widgets.Rectangle(186, 96, 40, 25, 0xffffff, 0x0f0957)
          rect13 = Widgets.Rectangle(229, 96, 40, 25, 0xffffff, 0x0f0957)
          rect14 = Widgets.Rectangle(143, 124, 40, 25, 0xffffff, 0x0f0957)
          rect15 = Widgets.Rectangle(186, 124, 40, 25, 0xffffff, 0x0f0957)
          rect16 = Widgets.Rectangle(229, 124, 40, 25, 0xffffff, 0x0f0957)
          rect17 = Widgets.Rectangle(143, 152, 40, 25, 0xffffff, 0x0f0957)
          rect18 = Widgets.Rectangle(186, 152, 40, 25, 0xffffff, 0x0f0957)
          rect19 = Widgets.Rectangle(229, 152, 40, 25, 0xffffff, 0x0f0957)
          label7 = Widgets.Label("A", 159, 46, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu12)
          label8 = Widgets.Label("B", 202, 46, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu12)
          label9 = Widgets.Label("C", 243, 46, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu12)
          label10 = Widgets.Label("K4", 112, 74, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu12)
          label11 = Widgets.Label("K3", 113, 102, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu12)
          label12 = Widgets.Label("K2", 113, 129, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu12)
          label13 = Widgets.Label("K1", 113, 157, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu12)
          LA_4 = LabelPlus("0,0", 153, 74, 1.0, 0x9aff00, 0x000000, Widgets.FONTS.DejaVu12, "http://", 3000, False, None, "error", 0xFF0000)
          LA_3 = LabelPlus("0,0", 153, 102, 1.0, 0x9aff00, 0x000000, Widgets.FONTS.DejaVu12, "http://", 3000, False, None, "error", 0xFF0000)
          LA_2 = LabelPlus("0,0", 153, 129, 1.0, 0x9aff00, 0x000000, Widgets.FONTS.DejaVu12, "http://", 3000, False, None, "error", 0xFF0000)
          LA_1 = LabelPlus("0,0", 153, 157, 1.0, 0x9aff00, 0x000000, Widgets.FONTS.DejaVu12, "http://", 3000, False, None, "error", 0xFF0000)
          LB_4 = LabelPlus("0,0", 195, 74, 1.0, 0x9aff00, 0x000000, Widgets.FONTS.DejaVu12, "http://", 3000, False, None, "error", 0xFF0000)
          LB_3 = LabelPlus("0,0", 195, 102, 1.0, 0x9aff00, 0x000000, Widgets.FONTS.DejaVu12, "http://", 3000, False, None, "error", 0xFF0000)
          LB_2 = LabelPlus("0,0", 195, 129, 1.0, 0x9aff00, 0x000000, Widgets.FONTS.DejaVu12, "http://", 3000, False, None, "error", 0xFF0000)
          LB_1 = LabelPlus("0,0", 195, 157, 1.0, 0x9aff00, 0x000000, Widgets.FONTS.DejaVu12, "http://", 3000, False, None, "error", 0xFF0000)
          LC_4 = LabelPlus("0,0", 239, 74, 1.0, 0x9aff00, 0x000000, Widgets.FONTS.DejaVu12, "http://", 3000, False, None, "error", 0xFF0000)
          LC_3 = LabelPlus("0,0", 239, 102, 1.0, 0x9aff00, 0x000000, Widgets.FONTS.DejaVu12, "http://", 3000, False, None, "error", 0xFF0000)
          LC_2 = LabelPlus("0,0", 239, 129, 1.0, 0x9aff00, 0x000000, Widgets.FONTS.DejaVu12, "http://", 3000, False, None, "error", 0xFF0000)
          LC_1 = LabelPlus("0,0", 239, 157, 1.0, 0x9aff00, 0x000000, Widgets.FONTS.DejaVu12, "http://", 3000, False, None, "error", 0xFF0000)

          init_all_out_pins_as_()
          all_out_pins_to_zero()
          i2c1 = I2C(1, scl=Pin(22), sda=Pin(21), freq=100000)
          t_values = bytearray(12)
          enc_mode = 0
          curr_value = 0
          INT_clock = 0
          encoder_0 = EncoderUnit(i2c1, 0x40)

          def loop():
          global label0, label1, label2, label3, BtnA, BtnB, BtnC, rect0, rect1, rect2, rect3, rect4, rect5, rect6, rect7, rect8, rect9, rect10, rect11, rect12, rect13, rect14, rect15, rect16, rect17, rect18, rect19, label7, label8, label9, label10, label11, label12, label13, LA_4, LA_3, LA_2, LA_1, LB_4, LB_3, LB_2, LB_1, LC_4, LC_3, LC_2, LC_1, pin3, pin1, pin2, pin5, i2c1, pin25, pin26, pin35, pin36, encoder_0, l_enc_inc, INT_clock, t_values, enc_mode, curr_value, loc_value
          M5.update()
          time.sleep_us(20)
          if INT_clock == 0:
          time.sleep_ms(99)
          INT_clock = INT_clock + 1
          relay_outs_pin_set()
          l_enc_inc = encoder_0.get_rotary_increments()
          if encoder_0.get_button_status():
          encoder_0.fill_color(0x990000)
          enc_mode = 1
          if l_enc_inc != 0:
          curr_value = curr_value + l_enc_inc
          while curr_value < 0:
          curr_value = curr_value + 12
          while curr_value > 11:
          curr_value = curr_value - 12
          else:
          encoder_0.fill_color(0x000066)
          enc_mode = 0
          if l_enc_inc != 0:
          loc_value = t_values[int(curr_value - 1)] + l_enc_inc
          if loc_value < 0:
          loc_value = 0
          if loc_value > 99:
          loc_value = 99
          t_values[int(curr_value - 1)] = loc_value
          if curr_value==0:
          LA_4.setText(str(((str((loc_value / 10))).strip())))
          elif curr_value==1:
          LA_3.setText(str(((str((loc_value / 10))).strip())))
          elif curr_value==2:
          LA_2.setText(str(((str((loc_value / 10))).strip())))
          elif curr_value==3:
          LA_1.setText(str(((str((loc_value / 10))).strip())))
          elif curr_value==4:
          LB_4.setText(str(((str((loc_value / 10))).strip())))
          elif curr_value==5:
          LB_3.setText(str(((str((loc_value / 10))).strip())))
          elif curr_value==6:
          LB_2.setText(str(((str((loc_value / 10))).strip())))
          elif curr_value==7:
          LB_1.setText(str(((str((loc_value / 10))).strip())))
          elif curr_value==8:
          LC_4.setText(str(((str((loc_value / 10))).strip())))
          elif curr_value==9:
          LC_3.setText(str(((str((loc_value / 10))).strip())))
          elif curr_value==10:
          LC_2.setText(str(((str((loc_value / 10))).strip())))
          elif curr_value==11:
          LC_1.setText(str(((str((loc_value / 10))).strip())))
          else:
          pass

          if name == 'main':
          try:
          setup()
          while True:
          loop()
          except (Exception, KeyboardInterrupt) as e:
          try:
          from utility import print_error_msg
          print_error_msg(e)
          except ImportError:
          print("please update to latest firmware")

          kurikoK 1 Reply Last reply Reply Quote 0
          • kurikoK
            kuriko @kmk68
            last edited by

            @kmk68
            Can you export .m5f2 file on UiFlow2?

            Good morning, and welcome to the Black Mesa Transit System.

            1 Reply Last reply Reply Quote 0
            • C
              Calvorotas
              last edited by

              Hi,

              I have problems with UiFlow 2.2.0.

              I could use BLE with UiFlow 2.1.8, but the same program doesn't run in 2.2.0.

              348a7ac3-3413-4555-ba25-0e196479e2fa-image.png

              74c1e933-1bcc-44f5-9594-8abd8e1e812d-image.png

              The progam can't start. The device return at Uiflow main menu.

              I have update UiFlow in the devices (Core M5stack and StickC, but I have the same problem.

              Thanks.

              C kurikoK 2 Replies Last reply Reply Quote 0
              • C
                Calvorotas @Calvorotas
                last edited by

                @Calvorotas

                Hi,

                Another program without BLE.

                31e147da-4a20-4af5-a587-800d7cfbf728-image.png

                I am not using MQTT in this program.

                Thanks.

                1 Reply Last reply Reply Quote 0
                • kurikoK
                  kuriko @Calvorotas
                  last edited by

                  @Calvorotas
                  can you provide the .m5f2 file? imma do a test to check out if it's a firmware problem

                  Good morning, and welcome to the Black Mesa Transit System.

                  nmstackN C 2 Replies Last reply Reply Quote 0
                  • _
                    _e3e6
                    last edited by

                    Same issue here with Atom Echo and the Web UIFlow 2.0

                    https://gist.github.com/e3e6/f8558f8487dad2fe8909c8dc17b80888

                    1 Reply Last reply Reply Quote 0
                    • nmstackN
                      nmstack @kuriko
                      last edited by

                      @kuriko

                      Hello,

                      There is a few days ago, I wrote a similar trouble. My message was…

                      Hello,

                      I didn't think that I could feel so interested about this system! Sorry for my questions about, because I'm very unexpert.

                      I'm math teacher in secondary in Spain, and I want to prepare a trigonometric practice very simple.

                      I've used a potenciometer (angle unit), PaHUB, PbHUB, 8servos unit, and two servos: one 360º limited, and another one, 360º unlimited. Until this moment, all was right. But, I've done some little changes, I wasn't conscient that, when I erased the PaHUB unit, and I added another one, some address changed. I reviewed all the program, and I think that it should run. But, I don't know why now, when my program is running, at the end of compilation, it appears this message "E (112496) i2c: i2c driver install error".

                      Thank you for your attention

                      Please, does someone aid me?

                      Thank you for my poor English. Best regards!

                      Neus

                      Neus Morlà

                      1 Reply Last reply Reply Quote 0
                      • C
                        Calvorotas @kuriko
                        last edited by

                        @kuriko

                        This is the file.

                        uiflow2_block_1736531673251.png

                        Thanks

                        1 Reply Last reply Reply Quote 4
                        • First post
                          Last post