🤖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
    7
    13
    7.6k
    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.
    • 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
                      • H
                        Hulkco @kuriko
                        last edited by

                        @kuriko Several months have passed since this post, but the error persists. Do you really plan to fix it?!
                        error_i2c.png

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