microsoft / jacdac

Device and service catalogs for Jacdac.
https://aka.ms/jacdac
Creative Commons Attribution 4.0 International
66 stars 26 forks source link

Program with 3 buttons randomizes assignments #1197

Open pelikhan opened 2 years ago

pelikhan commented 2 years ago

Role assignments should be stable. Try program with 3 buttons.

minki710 commented 2 years ago

3 buttons should still be okay... it's when there's more than 3 buttons. Buttons 1 & 2, are assigned consistently. When adding 3 buttons, since button 1 & 2 are assigned, then button 3 by default has a consistent assignment. However when using 4 or 5 buttons, then Buttons 1 & 2 remain consistent, but buttons 3, 4, +... are assigned randomly.

dsssssssss9 commented 2 years ago

I have found that even with 3 buttons the assignment changes....

Using 2 Jacdac Buttons is fine but adding a 3rd , in this case a jacdac rotary encoder with button , when the Micro:Bit is reset the assignment changes.

part of the problem may be that the BUTTON BLOCKS only allow selection from Button 1 or Button 2 in the drop down , no matter how many buttons you have connected?

video demonstrating this here ...

https://youtu.be/TwQvLkGM3hs

pelikhan commented 2 years ago

@dsssssssss9 thank you for the video; this was very helpful

pelikhan commented 2 years ago

Here are the docs on adding multiple roles --> https://microsoft.github.io/jacdac-docs/clients/makecode/user-guide/#multiple-roles

dsssssssss9 commented 2 years ago

thanks for this information,,,,really usuful sorry i missed it in the documentation!

if i use my example from above the button on the rotary encoder insists on being assigned BUTTON1 when Micro:Bit restarted. Even if i change this manually to say , BUTTON3, when restarted it reverts back to being BUTTON1

Is there a way of permanently assigning a role to this - i can see if i have some working code to which i add a device that insists on being a certain role upon restart it might cause problems.

minki710 commented 2 years ago

thanks for this information,,,,really usuful sorry i missed it in the documentation!

if i use my example from above the button on the rotary encoder insists on being assigned BUTTON1 when Micro:Bit restarted. Even if i change this manually to say , BUTTON3, when restarted it reverts back to being BUTTON1

Is there a way of permanently assigning a role to this - i can see if i have some working code to which i add a device that insists on being a certain role upon restart it might cause problems.

Thanks for documenting this with the video. We followed the documentation for adding multiple roles and still had the buttons reassigned.

pelikhan commented 2 years ago

Correct, it is still impacted by the assignment bug.

pelikhan commented 2 years ago

Thanks I will look into this next week!


From: minki710 @.> Sent: Sunday, August 7, 2022 7:44:19 AM To: microsoft/jacdac @.> Cc: Peli de Halleux @.>; Assign @.> Subject: Re: [microsoft/jacdac] Program with 3 buttons randomizes assignments (Issue #1197)

3 buttons should still be okay... it's when there's more than 3 buttons. Buttons 1 & 2, are assigned consistently. When adding 3 buttons, since button 1 & 2 are assigned, then button 3 by default has a consistent assignment. However when using 4 or 5 buttons, then Buttons 1 & 2 remain consistent, but buttons 3, 4, +... are assigned randomly.

— Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fjacdac%2Fissues%2F1197%23issuecomment-1207423781&data=05%7C01%7Cjhalleux%40microsoft.com%7C6d70de4157f84af9907308da78835010%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637954802625568321%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=hHDqPZAaa%2BBNsUYYyibpfhw%2BqWxjI8jTiaE%2BahVsfus%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAA73QKKJORKS5LO4EBEFFILVX7DUHANCNFSM55TM6AOQ&data=05%7C01%7Cjhalleux%40microsoft.com%7C6d70de4157f84af9907308da78835010%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637954802626037034%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=gvZF4f5608BCyvPMhqJ0wZmZu%2FGOe%2B3Rf8gVMptMjko%3D&reserved=0. You are receiving this because you were assigned.Message ID: @.***>

dsssssssss9 commented 9 months ago

@pelikhan @tballmsft

any closer to resolving this please - its been a year