UiFLow2 M5Dial and IOEXT2



  • I am not able to get the IOEXT2 work with the M5Dial. Is this still not possible because of the Alpha 0-29?
    Anyone any idea? I also trried to make it work with Core2 and UIFlow1.9.5 but ioext2 is not listed here.



  • Hello @HorstdieWurst

    in UIFlow2 alpha-29 M5Dial and EXT.IO2 works for me. I quickly tested input and output.

    Can you be more specific as to what exactly doesn't work for you? Maybe share the UIFlow blocks you've tired?

    As for UIFlow1 - the latest version is UIFlow 1.13.0 (which offers EXT.IO2).

    Thanks
    Felix



  • 0_1705142852443_617a8455-4b98-4837-9d7d-d25694fdba04-image.png

    0_1705142799033_f46f4c61-e7f2-4c83-8372-01a220895c8f-image.png

    Te first one is ok and gives no error. The second picture gives an error 19 enddev. I have got no clue what to do.



  • Hello @HorstdieWurst

    ok, I see. It looks like the count do loop fires of the i2c commands too quickly. I can make it work by adding a sleep 1 milliseconds block after the set servo pulse block.

    Thanks
    Felix



  • No the problem appears already when I set pin0 to servo or any thing else. Am I missing smething about the i2c setup?
    Maybe you could show me a basic setup for a pin to send a pulse to pin 0 or something like this. Maybe my ioext2 is broken?



  • Hello @HorstdieWurst

    make sure the EXT.IO2 unit is connected to the red Groove port of M5Dial. I get the error you mentioned if I disconnect the unit.

    Below are the blocks that work for me.

    0_1705191083201_UIFlow2_M5Dial_IOEXT2_20240114.png

    Note: there is a typo in M5Dial firmware - it expects write_servo_pluse() instead of write_servo_pulse(). Therefore you cannot use the prepared block (until UIFlow firmware is fixed). Instead an Execute mpy code block can help out. PR to fix typo created.

    Thanks
    Felix



  • Ok this is what I tried and I got the error message. So I guess the my extio2 is broken. I will try to get a new a and try it again. Thank you uo to here ;)
    Is it possible to send a normal 8 bit, 12 bit or best would be a 16 bit PWM to the i/os? Maybe with a mpy code? There is just the RGB mode which I do not understand, how they send 3x8bit on one i/o.



  • I got a new extio2 today and it works straight away. Many thanks for your help.
    Can anyone tell me whether I can generate a 10, 12 or 16 bit PWM signal?