microsoft / pxt-microbit

A Blocks / JavaScript code editor for the micro:bit built on Microsoft MakeCode
https://makecode.microbit.org
Other
712 stars 589 forks source link

State of the Extension world #3506

Closed pelikhan closed 3 years ago

pelikhan commented 3 years ago

See the documentation on how to fix in https://support.microbit.org/en/support/solutions/articles/19000121371-makecode-extension-compatibility-v1-and-v2

AlasdairAtKitronik commented 3 years ago

@pelikhan Noticed that all the Kitronik extensions listed here are ones which include .cpp files. Is the error you're getting (MakeCode 3.1.21)?: image Or this one (MakeCode 3.0.34)?: image

I can't make the ZIP64 orZIP Tile Extensions work at all with these versions of MakeCode, even after switching to the core version of the WS2812B driver, and using the C++preprocessor test from this issue: https://github.com/microsoft/pxt-microbit/issues/3494

Also just tested the :GAME Controller extension and that gives the same error message.

Has something changed with being able to use C++ files or DAL stuff?:

//% block="Joypad Up (P8)"
Up = DAL.MICROBIT_ID_IO_P8,
//% block="Joypad Down (P14)"
Down = DAL.MICROBIT_ID_IO_P14,
//% block="Joypad Left (P12)"
Left = DAL.MICROBIT_ID_IO_P12,
//% block="Joypad Right (P13)"
Right = DAL.MICROBIT_ID_IO_P13,
//% block="Fire 1 (P15)"
Fire1 = DAL.MICROBIT_ID_IO_P15,
//% block="Fire 2 (P16)"
Fire2 = DAL.MICROBIT_ID_IO_P16
pelikhan commented 3 years ago

yotta is broken right now and all packages with C++ fail.

AlasdairAtKitronik commented 3 years ago

yotta is broken right now and all packages with C++ fail.

OK, good to know - I'll do something else!

jaustin commented 3 years ago

@microbit-sam FYI

CleoQc commented 3 years ago

Are we expected to do anything for our extension?

microbit-mark commented 3 years ago

@pelikhan @abchatra We have an example of one extension listed here as failing to build, that is tested as working in the /beta editor and with V1 and V2 boards, BrightWearables/pxt-microbit-brightboard @BrightWearables can you confirm this?

Extension builds, but errors with

pxt_modules/brightboard/brightboard.ts(88,23): error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'Number' has no compatible call signatures.

pxt_modules/brightboard/brightboard.ts(110,30): error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'Number' has no compatible call signatures.

List was edited 2 days ago. Is there an update to this or is it just failing all extensions that use C++ and that is why we see it listed here. What is the action for @BrightWearables?

pelikhan commented 3 years ago

This list is outdated. Look at the output of the GitHub action.

microbit-mark commented 3 years ago

Can you update the list @abchatra as we've linked to this for accessory makers to check against

abchatra commented 3 years ago

I still see all the same packages failing in the logs. How do I see the exact issue from the logs? @pelikhan

microbit-mark commented 3 years ago

The brightboard extension is still reporting a build failure in the latest logs @abchatra, but we can build locally with the warnings in https://github.com/microsoft/pxt-microbit/issues/3506#issuecomment-722272025. Do you know why that would be?

pelikhan commented 3 years ago

I still see all the same packages failing in the logs. How do I see the exact issue from the logs? @pelikhan

Best to look at the action output. https://github.com/microsoft/pxt-microbit/runs/1377260278?check_suite_focus=true#step:7:22023

pelikhan commented 3 years ago

The build script is using pxt-microbit from master; which uses the latest version of pxt. In that version, we have fixed a compiler bug and we detect when you try to do a call on a property.

https://github.com/BrightWearables/pxt-microbit-brightboard/blob/master/brightboard.ts#L88

buffer.length is a property, so the () should be removed.

pelikhan commented 3 years ago

I've modified the script to test both master and stable3.0.

abchatra commented 3 years ago

Still 41 extensions are failing in the latest /beta. @jaustin what is the plan here?

abchatra commented 3 years ago

I have updated the list at the top

microbit-sam commented 3 years ago

Hey @abchatra , I think the current plan is:

Extensions using Timer from mbed should build without any changes once this has merged: https://github.com/lancaster-university/codal-microbit-v2/pull/23

Extensions using Button from mbed aren't compatible with CODAL button There's an existing issue to add the constructor to CODAL, or it could be added as part of the compat layer https://github.com/microbit-foundation/codal-microbit/issues/142 (private repo)

Other extensions using mbed features may need to include 'mbed.h', or include the features they actually need e.g. DigitalIn.h, DigitalOut.h. Were these previously included by pxt.h? For example pxt-iot-environment-kit uses DigitalIn, but currently doesn't include 'mbed.h' or 'DigitalIn.h'

Extensions that use mbed BLE functions will need to be modified to support CODAL BLE

jaustin commented 3 years ago

@finneyj could we please merge lancaster-university/codal-microbit-v2#23 ASAP so we can get an updated list once we automunge the timer information?

abchatra commented 3 years ago

More extensions failed in the latest run. Total 31 excluding the warning. I am bit confused on what state these extensions are and what I need to disable.

microbit-sam commented 3 years ago

As you can see from the referenced issues above I've opened issues on the failing extensions

Having gone through the extension build logs to create these tickets, I think solving the compat issues with I2C/NRF52I2C, MicroBitFont, and MicroBitSerial is worth doing. For I2C/Serial I think it should just be an additional constructor that accepts mbed Pins as parameters

https://github.com/lancaster-university/codal-microbit-v2/issues/31

pelikhan commented 3 years ago

Microbit font should be a small fix. There is a Pr In the pimironi repo with a fix.


From: Sam Kent notifications@github.com Sent: Wednesday, November 18, 2020 4:38:30 PM To: microsoft/pxt-microbit pxt-microbit@noreply.github.com Cc: Peli de Halleux jhalleux@microsoft.com; Mention mention@noreply.github.com Subject: Re: [microsoft/pxt-microbit] State of the Extension world (#3506)

As you can see from the referenced issues above I've opened issues on the failing extensions

Having gone through the extension build logs to create these tickets, I think solving the compat issues with I2C/NRF52I2C, MicroBitFont, and MicroBitSerial is worth doing. For I2C/Serial I think it should just be an additional constructor that accepts mbed Pins as parameters

lancaster-university/codal-microbit-v2#31https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Flancaster-university%2Fcodal-microbit-v2%2Fissues%2F31&data=04%7C01%7Cjhalleux%40microsoft.com%7C91fabd1ba8964365ba3308d88bd800ca%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637413107123465227%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=8mXzZcwMNmbvgwRPRA8dgzSoR%2BvhP1Amu30EoMuYmIg%3D&reserved=0

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fpxt-microbit%2Fissues%2F3506%23issuecomment-729761791&data=04%7C01%7Cjhalleux%40microsoft.com%7C91fabd1ba8964365ba3308d88bd800ca%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637413107123465227%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=wJFHj8C%2BRQvdlnutR99rGcj%2FL2liVi%2FQcghFLKX3c58%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAA73QKJ2INGP3SXFT4ALMJTSQPS7NANCNFSM4TCQEVZA&data=04%7C01%7Cjhalleux%40microsoft.com%7C91fabd1ba8964365ba3308d88bd800ca%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637413107123475220%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=xsTF7HWKAKdvNZNcG3VSJf3iY2o68p4RLSFdTPObsYk%3D&reserved=0.

microbit-sam commented 3 years ago

Todays action didn't output any errors, is it possible to reenable the disabled extensions for this build

microbit-mark commented 3 years ago

We have replicated the guidance in https://github.com/lancaster-university/codal-microbit-v2/issues/31 on the micro:bit Knowledgebase in https://support.microbit.org/en/support/solutions/articles/19000121371-makecode-extension-compatibility-v1-and-v2

Please link to this if you see further issues @pelikhan @abchatra