-
Notifications
You must be signed in to change notification settings - Fork 204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
edge connector blocks freeze code #3699
Comments
Code works on simulator. Issue is on hardware. This requires edge-connector extension. |
The hardware design is taken from Microsoft Arcade shield reference design for the BBC micro:bit V2. |
Sorry I didn't mean bug was in the hardware. This bug is reproduced on the hardware. |
any progress on this issue? |
We are still encountering this issue with N3 based Arcades (Micro:bit based arcades). With the edge connector extension added to a project, and a block added to assign a pin high or low, although the resulting program will compile - the resulting program will lock up the arcade, with the screen remaining blank. When the block to interface with the IO pin is added, there is a very brief error message within the Makecode Arcade interface: This would suggest that the Makecode Arcade backend has not been configured correctly to interact with the edge connector on N3 processors, despite being physically present on the reference design: As this ticket has been made back in 2021, I feel reluctant to believe that any action may be taken on this issue any time soon. This an issue that has been spotted with both the official N3 processor option selected, as well as the experimental RP2040 support. |
I believe this is because https://github.com/microsoft/pxt-arcade/blob/f05a119cd973e0282ef77053721cc380d47c5b25/libs/hw---n3/config.ts doesn't supply the needed pin mapping for the edge connector. I will investigate further. |
here is program from top with config for N3 that edge connector extension needs ... will test when I get HW: https://makecode.com/_CuhapH58Vdbe you need to select a micro:bit shield in order for this program to compile |
Brilliant! This works perfectly! Thank you so much for looking into the issue :) |
Did it also resolve the problem you were seeing? |
Yep, adding the definitions into our test script works as well |
Also tweaking the provided code works for the RP2040 as well. |
OK. The fix I put it in is only for the N3. I can add for RP2040 as well. It will only be for the three big pins P0, P1, and P2 |
actually, the mapping for RP2040 is in the bootloader. Can you change the mapping? @mmoskal ? |
the bootloader is provided by console manufacturer (they ship a special "game" that has all the mappings in it) |
sorry, how does the mapping get incorporated then? |
see here https://arcade.makecode.com/hardware/adding#r2 Manufacturer is supposed to provide a "recovery UF2" (which may contain a game) that has all the bootloader settings. That file can be created by using the sample UF2 linked from the page above, editing it using https://microsoft.github.io/uf2/patcher/ and concatenating it with game binary. |
Aha! I didn't realise for the RP2040 you just needed to add it to the bootloader, I must of missed that. |
Just to note, to concatenate you will need to update the block numbers, not just "cat" the files together. This PR may be useful microsoft/uf2#81 |
Describe the bug
edge connection extension blocks freezes code
To Reproduce
import the edge connection blocks in to arcade for using the pins from BBC micro:bit
The test code I was using was as follows
The sprite moves around, buzzer beeps when button A is pressed. on pin2 we have a small motor controlled via a FET. I expected the pin to go high wait and go low, to turn the motor on and off after 500 milliseconds. Once I press button B the code locks up and can not control the sprite or sound the buzzer.
I'm using the digital write high and low blocks as could not find the default pin for the vibrate block with regards to using the micro:bit hardware
The text was updated successfully, but these errors were encountered: