Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: arduino/ArduinoCore-mbed
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 4.0.10
Choose a base ref
...
head repository: arduino/ArduinoCore-mbed
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on Mar 23, 2023

  1. Make SSL class available

    WiFiSSLClient was missing in the WiFi.h file, so examples using SSL fails to compile.
    karlsoderby committed Mar 23, 2023
    Copy the full SHA
    410311f View commit details

Commits on May 23, 2023

  1. Send bytes in chunks

    sebromero committed May 23, 2023
    Copy the full SHA
    229f167 View commit details
  2. Add web serial camera app

    sebromero committed May 23, 2023
    Copy the full SHA
    ea9c545 View commit details
  3. Catch edge case

    sebromero committed May 23, 2023
    Copy the full SHA
    940cf82 View commit details

Commits on May 24, 2023

  1. Remove unused code

    sebromero committed May 24, 2023
    Copy the full SHA
    70f6b23 View commit details
  2. Working version for RGB

    sebromero committed May 24, 2023
    Copy the full SHA
    d54dba8 View commit details
  3. Working version for both

    sebromero committed May 24, 2023
    Copy the full SHA
    3d0fb5e View commit details
  4. Add image processor

    sebromero committed May 24, 2023
    Copy the full SHA
    599e764 View commit details
  5. Add save function

    sebromero committed May 24, 2023
    Copy the full SHA
    66f1a02 View commit details
  6. Copy the full SHA
    5ced73c View commit details
  7. Copy the full SHA
    e2789f4 View commit details
  8. Copy the full SHA
    a85053c View commit details

Commits on May 26, 2023

  1. Better error reporting

    sebromero committed May 26, 2023
    Copy the full SHA
    fe1cef1 View commit details

Commits on Jun 30, 2023

  1. Copy the full SHA
    a7a35a0 View commit details
  2. Add auto config for camera

    sebromero committed Jun 30, 2023
    Copy the full SHA
    2313636 View commit details

Commits on Nov 22, 2023

  1. Copy the full SHA
    ed3172b View commit details

Commits on Nov 23, 2023

  1. USB: add pure specifiers and emit vtable

    Issue #130 correctly identifies a newly-added method as pure virtual and
    fixes the declaration. However, for some reason it didn't address all of
    the other virtual methods in that same class (`PluggableUSBModule`) that
    do not define a default implementation.
    
    The only virtual method that has a default implementation is provided
    inline in the class interface:
    
    ```c++
        virtual void callback_reset() {};
    ```
    
    These issues combined prevent the compiler from being able to emit a
    vtable for the `PluggableUSBModule` class, thus preventing users from
    correctly subclassing it or any one of its derived classes such as
    `USBCDC`, `USBHID`, `USBMIDI`, etc. Refer to the following answer on
    StackOverflow for a detailed explanation of the issue:
    
    https://stackoverflow.com/a/57504289/1054397
    
    This PR adds the pure specifier (`= 0`) to all of the virtual methods in
    this class that do not have a default implementation. It also moves the
    default empty definition of `virtual void callback_reset()` to the class
    definition in `USB/PluggableUSBDevice.cpp` so that this class complies
    completely with the criteria for emitting a vtable.
    
    > #### Note
    >
    > The error that I was encountering prior to these changes was pretty
    > cryptic (from PlatformIO):
    >
    > ```txt
    > .pio/build/hid/src/target.cpp.o: In function `foo()':
    > USBHID/src/PluggableUSBHID.h:53: undefined reference to
    >     `vtable for arduino::internal::PluggableUSBModule'
    > .pio/build/hid/src/target.cpp.o: In function `foo()':
    > foo.hpp:100: undefined reference to
    >     `vtable for arduino::internal::PluggableUSBModule'
    > collect2: error: ld returned 1 exit status
    > *** [.pio/build/hid/firmware.elf] Error 1
    > ```
    >
    > Even stranger, the error would only be generated with a debug build;
    > i.e., the only difference in command-line arguments was the additional
    > CFLAGS of `-Og -g2 -ggdb2`. Without the debug flags, my project was
    > building without error.
    >
    > With the changes in this PR, my project now builds with and without
    > these additional debug flags. Further verification was performed by
    > testing the example sketches `Keyboard`, `KeyboardRaw`, and `Mouse`
    > from library `USBHID` as well as using the core `Serial` object for
    > ordinary USB serial I/O (`USBCDC`).
    ardnew committed Nov 23, 2023
    Copy the full SHA
    e81cc97 View commit details
  2. Big variants rebuild

    facchinm committed Nov 23, 2023
    Copy the full SHA
    d9fc415 View commit details
  3. Copy the full SHA
    4781c40 View commit details

Commits on Nov 26, 2023

  1. Copy the full SHA
    02542ac View commit details

Commits on Nov 27, 2023

  1. Merge pull request #776 from JAndrassy/wifi_wl_enc_type_update

    wl_defintions.h wl_enc_type update
    facchinm authored Nov 27, 2023
    Copy the full SHA
    32d1696 View commit details
  2. GSM: do not check for __has_include in library main include

      * This can break library discovery and should be avoided
    pennam committed Nov 27, 2023
    Copy the full SHA
    714bbab View commit details
  3. Copy the full SHA
    ae00397 View commit details
  4. Merge pull request #777 from leonardocavagnis/portentah7_analogpindes…

    …cr_A5
    
    Portenta H7: fix AnalogPin map description for A5
    facchinm authored Nov 27, 2023
    Copy the full SHA
    9e17a02 View commit details

Commits on Nov 28, 2023

  1. Merge pull request #647 from karlsoderby/karlsoderby/wifi-ssl-fix

    Make WiFiClientSSL class available
    facchinm authored Nov 28, 2023
    Copy the full SHA
    b2b3f39 View commit details
  2. dsi: fix clock for Giga_CM4

    facchinm committed Nov 28, 2023
    Copy the full SHA
    c1e22b8 View commit details
  3. libraries: get rid of stray printf

    VARIANT_M4_GENERIC doesn't define any console pins (due to obvious reasons) so the default printf will make the application crash without mbed blinks of death.
    facchinm committed Nov 28, 2023
    Copy the full SHA
    870d15a View commit details
  4. SDRAM: fix CM4 functionality

    facchinm committed Nov 28, 2023
    Copy the full SHA
    04aa43b View commit details

Commits on Nov 30, 2023

  1. Copy the full SHA
    fba55ce View commit details

Commits on Dec 1, 2023

  1. Ethernet.h remove unimplemented methods

    socketAddressFromIpAddress in implemented in the base class
    setHostname causes linker error. implementation is not possible
    JAndrassy committed Dec 1, 2023
    Copy the full SHA
    65617a9 View commit details
  2. Copy the full SHA
    9fb0644 View commit details
  3. Copy the full SHA
    3014e8d View commit details
  4. split the download function in 2 versions

    version 1: the old one that downloads a file and stores it on the fs
    version 2: download a file and allow the user to specify a callback to
      handle the incoming body buffer
    andreagilardoni committed Dec 1, 2023
    Copy the full SHA
    3f05599 View commit details

Commits on Dec 4, 2023

  1. Copy the full SHA
    2dddedf View commit details
  2. Copy the full SHA
    57d6f9a View commit details
  3. Merge pull request #785 from andreagilardoni/socket-additions

    Socket download function improvements
    facchinm authored Dec 4, 2023
    Copy the full SHA
    8c88c20 View commit details
  4. Merge pull request #784 from Rocketct/master

    fix ADC management for pure analog on GIGA
    facchinm authored Dec 4, 2023
    Copy the full SHA
    d2867ba View commit details
  5. Merge pull request #783 from JAndrassy/ethernet_remove_unimplemented_…

    …methods
    
    Ethernet.h remove unimplemented methods
    facchinm authored Dec 4, 2023
    Copy the full SHA
    98b9ea5 View commit details
  6. Merge pull request #778 from pennam/__has_include_fix

    GSM: do not check for __has_include in library main include
    facchinm authored Dec 4, 2023
    Copy the full SHA
    ee9a1b0 View commit details
  7. Merge pull request #771 from ardnew/usb-emit-vtable

    USB: add pure specifiers and emit vtable
    facchinm authored Dec 4, 2023
    Copy the full SHA
    fcbb950 View commit details
  8. Merge pull request #774 from facchinm/m4_extrafixes

    STM32H747: general M4 fixes
    facchinm authored Dec 4, 2023
    Copy the full SHA
    ef18bf2 View commit details
  9. Copy the full SHA
    72c1b93 View commit details
  10. Copy the full SHA
    230d917 View commit details
  11. Merge pull request #770 from pennam/client_connected

    SocketWrapper: make connected() method return true if there is data available
    facchinm authored Dec 4, 2023
    Copy the full SHA
    fcc63d9 View commit details

Commits on Dec 5, 2023

  1. Copy the full SHA
    d05696a View commit details
  2. Copy the full SHA
    402e8ea View commit details

Commits on Dec 6, 2023

  1. Arduino_H7_Video: update docs

    Update libraries/Arduino_H7_Video/docs/README.md
    
    Co-Authored-By: Karl Söderby <35461661+karlsoderby@users.noreply.github.com>
    leonardocavagnis and karlsoderby committed Dec 6, 2023
    Copy the full SHA
    161b374 View commit details
  2. Copy the full SHA
    e15288a View commit details
  3. SocketWrapper - MbedServer modernization (without available() and Print)

    MbedServer didn't manage clients for proper available() and
    print-to-all-clients. Now available() in derived server classes is
    deprecated and accept() is added with the same implementation.
    Inheriting from Print (Server) is removed. write methods for Print
    implementation are removed. They never worked.
    New are constructor without parameters, begin with parameter port and
    operator bool.
    JAndrassy committed Dec 6, 2023
    Copy the full SHA
    18b696b View commit details

Commits on Dec 8, 2023

  1. Copy the full SHA
    ebc6e30 View commit details
Showing 363 changed files with 59,103 additions and 9,848 deletions.
23 changes: 19 additions & 4 deletions .github/workflows/compile-examples.yml
Original file line number Diff line number Diff line change
@@ -34,14 +34,25 @@ jobs:
matrix:
board:
- fqbn: arduino:mbed:nano33ble
id: nano33ble
- fqbn: arduino:mbed:envie_m7
id: envie_m7
- fqbn: arduino:mbed:envie_m7:target_core=cm4
id: envie_m7_core_cm4
- fqbn: arduino:mbed:nanorp2040connect
id: nanorp2040connect
- fqbn: arduino:mbed:nicla_sense
id: nicla_sense
- fqbn: arduino:mbed:nicla_vision
id: nicla_vision
- fqbn: arduino:mbed:opta
id: opta
- fqbn: arduino:mbed:giga
id: giga
- fqbn: arduino:mbed:nicla_voice
id: nicla_voice
- fqbn: arduino:mbed:edge_control
id: edge_control

# compile only the examples compatible with each board
include:
@@ -71,6 +82,8 @@ jobs:
- name: ArduinoBLE
- name: ArduinoGraphics
- name: Arduino_GigaDisplayTouch
- name: emWin
- name: Arduino_DebugUtils
additional-sketch-paths: |
- libraries/PDM
- libraries/doom
@@ -142,6 +155,7 @@ jobs:
- name: ArduinoGraphics
- name: Arduino_GigaDisplayTouch
- name: arducam_dvp
- name: emWin
additional-sketch-paths: |
- libraries/PDM
- libraries/MCUboot
@@ -175,6 +189,7 @@ jobs:
fqbn: arduino:mbed:edge_control
additional-libraries: |
- name: MicroNMEA
- name: Arduino_DebugUtils
additional-sketch-paths: |
- libraries/GSM
- libraries/USBHID
@@ -183,11 +198,11 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4

# The source files are in a subfolder of the ArduinoCore-API repository, so it's not possible to clone it directly to the final destination in the core
- name: Checkout ArduinoCore-API
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
repository: arduino/ArduinoCore-API
path: ArduinoCore-API
@@ -222,7 +237,7 @@ jobs:

- name: Save memory usage change report as artifact
if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
path: ${{ env.SKETCHES_REPORTS_PATH }}
name: ${{ env.SKETCHES_REPORTS_PATH }}
name: ${{ env.SKETCHES_REPORTS_PATH }}-${{ matrix.board.id }}
37 changes: 32 additions & 5 deletions boards.txt
Original file line number Diff line number Diff line change
@@ -163,11 +163,12 @@ envie_m7.bootloader.tool.default=openocd
envie_m7.bootloader.config=-f target/stm32h7x_dual_bank.cfg
envie_m7.bootloader.programmer=-f interface/stlink.cfg
envie_m7.bootloader.extra_action.preflash=stm32h7x option_write 0 0x01c 0xb86aaf0
envie_m7.bootloader.file=PORTENTA_H7/portentah7_bootloader_mbed_hs_v2.elf
envie_m7.bootloader.file=PORTENTA_H7/portentah7_bootloader_mbed_hs_v2.hex

envie_m7.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
envie_m7.debug.server.openocd.scripts.1={programmer.transport_script}
envie_m7.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg
envie_m7.debug.cortex-debug.custom.request=attach
envie_m7.menu.target_core.cm7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd
envie_m7.menu.target_core.cm4.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM4.svd

@@ -442,6 +443,8 @@ nicla_sense.upload.wait_for_upload_port=true
nicla_sense.upload.native_usb=true
nicla_sense.upload.maximum_size=527616
nicla_sense.upload.maximum_data_size=64288
nicla_sense.programmer.protocol=cmsis-dap
nicla_sense.programmer.transport_script="{runtime.platform.path}/debugger/select_swd.cfg"

nicla_sense.bootloader.tool=openocd
nicla_sense.bootloader.tool.default=openocd
@@ -495,6 +498,8 @@ nicla_voice.upload.wait_for_upload_port=true
nicla_voice.upload.native_usb=true
nicla_voice.upload.maximum_size=527616
nicla_voice.upload.maximum_data_size=64288
nicla_voice.programmer.protocol=cmsis-dap
nicla_voice.programmer.transport_script="{runtime.platform.path}/debugger/select_swd.cfg"

nicla_voice.bootloader.tool=openocd
nicla_voice.bootloader.tool.default=openocd
@@ -598,14 +603,16 @@ nicla_vision.menu.target_core.cm4.upload.maximum_data_size=294248

nicla_vision.debug.tool=gdb
nicla_vision.bootloader.tool=openocd
nicla_vision.bootloader.tool.default=openocd
nicla_vision.bootloader.config=-f target/stm32h7x_dual_bank.cfg
nicla_vision.bootloader.programmer=-f interface/stlink.cfg
nicla_vision.bootloader.extra_action.preflash=stm32h7x option_write 0 0x01c 0xb86aaf0
nicla_vision.bootloader.file=NICLA_VISION/bootloader.elf
nicla_vision.bootloader.file=NICLA_VISION/bootloader.hex

nicla_vision.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
nicla_vision.debug.server.openocd.scripts.1={programmer.transport_script}
nicla_vision.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg
nicla_vision.debug.cortex-debug.custom.request=attach
nicla_vision.menu.target_core.cm7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd
nicla_vision.menu.target_core.cm4.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM4.svd

@@ -733,14 +740,16 @@ opta.menu.target_core.cm4.upload.maximum_data_size=294248

opta.debug.tool=gdb
opta.bootloader.tool=openocd
opta.bootloader.tool.default=openocd
opta.bootloader.config=-f target/stm32h7x_dual_bank.cfg
opta.bootloader.programmer=-f interface/stlink.cfg
opta.bootloader.extra_action.preflash=stm32h7x option_write 0 0x01c 0xb86aaf0
opta.bootloader.file=OPTA/bootloader.elf
opta.bootloader.file=OPTA/bootloader.hex

opta.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
opta.debug.server.openocd.scripts.1={programmer.transport_script}
opta.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg
opta.debug.cortex-debug.custom.request=attach
opta.menu.target_core.cm7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd
opta.menu.target_core.cm4.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM4.svd

@@ -758,6 +767,9 @@ giga.menu.split.100_0=2MB M7 + M4 in SDRAM
giga.menu.split.75_25=1.5MB M7 + 0.5MB M4
giga.menu.split.50_50=1MB M7 + 1MB M4

giga.menu.security.none=None
giga.menu.security.sien=Signature + Encryption

giga.menu.target_core.cm7.build.variant=GIGA
giga.menu.target_core.cm7.build.mcu=cortex-m7
giga.menu.target_core.cm7.build.fpu=-mfpu=fpv5-d16
@@ -783,6 +795,14 @@ giga.build.board=GIGA
giga.build.ldscript=linker_script.ld
giga.build.extra_ldflags=-DCM4_BINARY_START=0x08180000
giga.compiler.mbed.arch.define=
giga.build.slot_size=0x1E0000
giga.build.header_size=0x20000
giga.build.alignment=32
giga.build.version=1.2.3+4
giga.menu.security.sien.recipe.hooks.objcopy.postobjcopy.1.pattern="{tools.imgtool.path}/{tools.imgtool.cmd}" {tools.imgtool.flags}
giga.menu.security.sien.build.keys.keychain={runtime.platform.path}/libraries/MCUboot/default_keys
giga.menu.security.sien.build.keys.sign_key=ecdsa-p256-signing-priv-key.pem
giga.menu.security.sien.build.keys.encrypt_key=ecdsa-p256-encrypt-pub-key.pem
giga.compiler.mbed.defines={build.variant.path}/defines.txt
giga.compiler.mbed.ldflags={build.variant.path}/ldflags.txt
giga.compiler.mbed.cflags={build.variant.path}/cflags.txt
@@ -816,7 +836,12 @@ giga.upload.native_usb=true
giga.upload.maximum_size=1966080
giga.upload.maximum_data_size=523624

giga.menu.target_core.cm7.upload.address=0x08040000
giga.menu.security.none.upload.interface=0
giga.menu.security.sien.upload.interface=2

giga.menu.security.none.upload.address_m7=0x08040000
giga.menu.security.sien.upload.address_m7=0xA0000000
giga.menu.target_core.cm7.upload.address={upload.address_m7}

giga.menu.target_core.cm7.menu.split.50_50.upload.maximum_size=786432
giga.menu.target_core.cm7.menu.split.75_25.upload.maximum_size=1441792
@@ -835,13 +860,15 @@ giga.menu.target_core.cm4.upload.maximum_data_size=294248

giga.debug.tool=gdb
giga.bootloader.tool=openocd
giga.bootloader.tool.default=openocd
giga.bootloader.config=-f target/stm32h7x_dual_bank.cfg
giga.bootloader.programmer=-f interface/stlink.cfg
giga.bootloader.extra_action.preflash=stm32h7x option_write 0 0x01c 0xb86aaf0
giga.bootloader.file=GIGA/bootloader.elf
giga.bootloader.file=GIGA/bootloader.hex

giga.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
giga.debug.server.openocd.scripts.1={programmer.transport_script}
giga.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg
giga.debug.cortex-debug.custom.request=attach
giga.menu.target_core.cm7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd
giga.menu.target_core.cm4.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM4.svd
Loading