From 0cd990c3c18bb17f4f89f7a64938fcc717bfd2d2 Mon Sep 17 00:00:00 2001 From: 9names <60134748+9names@users.noreply.github.com> Date: Mon, 3 Oct 2022 11:46:12 +1100 Subject: [PATCH] Comment and pass-through HAL features in BSPs --- boards/adafruit-feather-rp2040/Cargo.toml | 20 ++++++++++++ boards/adafruit-itsy-bitsy-rp2040/Cargo.toml | 20 ++++++++++++ boards/adafruit-kb2040/Cargo.toml | 32 ++++++++++++++++---- boards/adafruit-macropad/Cargo.toml | 19 ++++++++++++ boards/adafruit-qt-py-rp2040/Cargo.toml | 20 ++++++++++++ boards/adafruit-trinkey-qt2040/Cargo.toml | 20 ++++++++++++ boards/arduino_nano_connect/Cargo.toml | 20 ++++++++++++ boards/pimoroni-badger2040/Cargo.toml | 20 ++++++++++++ boards/pimoroni-pico-explorer/Cargo.toml | 20 ++++++++++++ boards/pimoroni-pico-lipo-16mb/Cargo.toml | 20 ++++++++++++ boards/pimoroni-plasma-2040/Cargo.toml | 20 ++++++++++++ boards/pimoroni-servo2040/Cargo.toml | 20 ++++++++++++ boards/pimoroni-tiny2040/Cargo.toml | 20 ++++++++++++ boards/rp-pico/Cargo.toml | 19 ++++++++++++ boards/seeeduino-xiao-rp2040/Cargo.toml | 20 ++++++++++++ boards/solderparty-rp2040-stamp/Cargo.toml | 32 ++++++++++++++++---- boards/sparkfun-pro-micro-rp2040/Cargo.toml | 20 ++++++++++++ boards/sparkfun-thing-plus-rp2040/Cargo.toml | 20 ++++++++++++ boards/vcc-gnd-yd-rp2040/Cargo.toml | 20 ++++++++++++ 19 files changed, 390 insertions(+), 12 deletions(-) diff --git a/boards/adafruit-feather-rp2040/Cargo.toml b/boards/adafruit-feather-rp2040/Cargo.toml index a78347b..cb6ba29 100644 --- a/boards/adafruit-feather-rp2040/Cargo.toml +++ b/boards/adafruit-feather-rp2040/Cargo.toml @@ -25,7 +25,27 @@ smart-leds = "0.3.0" ws2812-pio = "0.4.0" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it doesn't hurt to enable it +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/adafruit-itsy-bitsy-rp2040/Cargo.toml b/boards/adafruit-itsy-bitsy-rp2040/Cargo.toml index f4e3044..ea5ec90 100644 --- a/boards/adafruit-itsy-bitsy-rp2040/Cargo.toml +++ b/boards/adafruit-itsy-bitsy-rp2040/Cargo.toml @@ -25,7 +25,27 @@ ws2812-pio = "0.4.0" fugit = "0.3.5" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it doesn't hurt to enable it +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/adafruit-kb2040/Cargo.toml b/boards/adafruit-kb2040/Cargo.toml index 2922fba..5f5746d 100644 --- a/boards/adafruit-kb2040/Cargo.toml +++ b/boards/adafruit-kb2040/Cargo.toml @@ -17,12 +17,6 @@ cortex-m-rt = { version = "0.7.0", optional = true } embedded-hal = { version = "0.2.4", features = ["unproven"] } rp2040-boot2 = { version = "0.2.0", optional = true } -[features] -default = ["boot2", "rt", "critical-section-impl"] -critical-section-impl = ["rp2040-hal/critical-section-impl"] -boot2 = ["rp2040-boot2"] -rt = ["cortex-m-rt","rp2040-hal/rt"] - [dev-dependencies] panic-halt = "0.2.0" rp2040-boot2 = "0.2" @@ -30,3 +24,29 @@ smart-leds = "0.3.0" fugit = "0.3.5" nb = "1.0.0" ws2812-pio = "0.4.0" + +[features] +# This is the set of features we enable by default +default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use +critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 +boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers +rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it doesn't hurt to enable it +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/adafruit-macropad/Cargo.toml b/boards/adafruit-macropad/Cargo.toml index 7ef090f..edce123 100644 --- a/boards/adafruit-macropad/Cargo.toml +++ b/boards/adafruit-macropad/Cargo.toml @@ -21,8 +21,27 @@ panic-halt= "0.2.0" embedded-hal ="0.2.5" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it doesn't hurt to enable it +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/adafruit-qt-py-rp2040/Cargo.toml b/boards/adafruit-qt-py-rp2040/Cargo.toml index 988332e..ba93d97 100644 --- a/boards/adafruit-qt-py-rp2040/Cargo.toml +++ b/boards/adafruit-qt-py-rp2040/Cargo.toml @@ -25,7 +25,27 @@ ws2812-pio = "0.4.0" fugit = "0.3.5" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/adafruit-trinkey-qt2040/Cargo.toml b/boards/adafruit-trinkey-qt2040/Cargo.toml index 87b5175..02fe8a3 100644 --- a/boards/adafruit-trinkey-qt2040/Cargo.toml +++ b/boards/adafruit-trinkey-qt2040/Cargo.toml @@ -24,7 +24,27 @@ ws2812-pio = "0.4.0" fugit = "0.3.5" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/arduino_nano_connect/Cargo.toml b/boards/arduino_nano_connect/Cargo.toml index d45152d..b55e375 100644 --- a/boards/arduino_nano_connect/Cargo.toml +++ b/boards/arduino_nano_connect/Cargo.toml @@ -24,7 +24,27 @@ nb = "1.0" fugit = "0.3.5" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/pimoroni-badger2040/Cargo.toml b/boards/pimoroni-badger2040/Cargo.toml index 83fce85..11c4bbe 100644 --- a/boards/pimoroni-badger2040/Cargo.toml +++ b/boards/pimoroni-badger2040/Cargo.toml @@ -23,7 +23,27 @@ panic-halt= "0.2.0" nb = "1.0" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/pimoroni-pico-explorer/Cargo.toml b/boards/pimoroni-pico-explorer/Cargo.toml index 61e6a4d..9f9b2d7 100644 --- a/boards/pimoroni-pico-explorer/Cargo.toml +++ b/boards/pimoroni-pico-explorer/Cargo.toml @@ -28,7 +28,27 @@ arrayvec = { version="0.7.1", default-features=false } nb = "1.0.0" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/pimoroni-pico-lipo-16mb/Cargo.toml b/boards/pimoroni-pico-lipo-16mb/Cargo.toml index 9c925e9..1aee502 100644 --- a/boards/pimoroni-pico-lipo-16mb/Cargo.toml +++ b/boards/pimoroni-pico-lipo-16mb/Cargo.toml @@ -22,7 +22,27 @@ embedded-hal ="0.2.5" nb = "1.0" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/pimoroni-plasma-2040/Cargo.toml b/boards/pimoroni-plasma-2040/Cargo.toml index c1764f5..c623491 100644 --- a/boards/pimoroni-plasma-2040/Cargo.toml +++ b/boards/pimoroni-plasma-2040/Cargo.toml @@ -28,7 +28,27 @@ defmt = "0.3.0" defmt-rtt = "0.3.0" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/pimoroni-servo2040/Cargo.toml b/boards/pimoroni-servo2040/Cargo.toml index 3373130..6d5becc 100644 --- a/boards/pimoroni-servo2040/Cargo.toml +++ b/boards/pimoroni-servo2040/Cargo.toml @@ -28,7 +28,27 @@ smart-leds = "0.3.0" ws2812-pio = "0.4.0" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/pimoroni-tiny2040/Cargo.toml b/boards/pimoroni-tiny2040/Cargo.toml index c82d8d1..15ae61d 100644 --- a/boards/pimoroni-tiny2040/Cargo.toml +++ b/boards/pimoroni-tiny2040/Cargo.toml @@ -26,7 +26,27 @@ defmt = "0.3.0" defmt-rtt = "0.3.0" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/rp-pico/Cargo.toml b/boards/rp-pico/Cargo.toml index 674febe..63f512d 100644 --- a/boards/rp-pico/Cargo.toml +++ b/boards/rp-pico/Cargo.toml @@ -43,8 +43,27 @@ defmt = "0.3.0" defmt-rtt = "0.3.0" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/seeeduino-xiao-rp2040/Cargo.toml b/boards/seeeduino-xiao-rp2040/Cargo.toml index e0fb62d..ea84429 100644 --- a/boards/seeeduino-xiao-rp2040/Cargo.toml +++ b/boards/seeeduino-xiao-rp2040/Cargo.toml @@ -23,7 +23,27 @@ embedded-hal ="0.2.5" nb = "1.0" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/solderparty-rp2040-stamp/Cargo.toml b/boards/solderparty-rp2040-stamp/Cargo.toml index aaff12e..975171f 100644 --- a/boards/solderparty-rp2040-stamp/Cargo.toml +++ b/boards/solderparty-rp2040-stamp/Cargo.toml @@ -16,12 +16,6 @@ rp2040-boot2 = { version = "0.2.0", optional = true } rp2040-hal = { path = "../../rp2040-hal", version = "0.6.0" } cortex-m-rt = { version = "0.7", optional = true } -[features] -default = ["boot2", "rt", "critical-section-impl"] -critical-section-impl = ["rp2040-hal/critical-section-impl"] -boot2 = ["rp2040-boot2"] -rt = ["cortex-m-rt","rp2040-hal/rt"] - [dev-dependencies] panic-halt= "0.2.0" embedded-hal ="0.2.5" @@ -30,3 +24,29 @@ smart-leds = "0.3.0" pio = "0.2.0" ws2812-pio = "0.4.0" fugit = "0.3.5" + +[features] +# This is the set of features we enable by default +default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use +critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 +boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers +rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/sparkfun-pro-micro-rp2040/Cargo.toml b/boards/sparkfun-pro-micro-rp2040/Cargo.toml index d4e646f..44afcdb 100644 --- a/boards/sparkfun-pro-micro-rp2040/Cargo.toml +++ b/boards/sparkfun-pro-micro-rp2040/Cargo.toml @@ -26,7 +26,27 @@ ws2812-pio = "0.4.0" fugit = "0.3.5" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/sparkfun-thing-plus-rp2040/Cargo.toml b/boards/sparkfun-thing-plus-rp2040/Cargo.toml index a63ed18..4a7f7b9 100644 --- a/boards/sparkfun-thing-plus-rp2040/Cargo.toml +++ b/boards/sparkfun-thing-plus-rp2040/Cargo.toml @@ -26,7 +26,27 @@ ws2812-pio = "0.4.0" fugit = "0.3.5" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"] diff --git a/boards/vcc-gnd-yd-rp2040/Cargo.toml b/boards/vcc-gnd-yd-rp2040/Cargo.toml index 0f274ec..795b3e9 100644 --- a/boards/vcc-gnd-yd-rp2040/Cargo.toml +++ b/boards/vcc-gnd-yd-rp2040/Cargo.toml @@ -28,7 +28,27 @@ ws2812-pio = "0.4.0" pio = "0.2.0" [features] +# This is the set of features we enable by default default = ["boot2", "rt", "critical-section-impl"] + +# critical section that is safe for multicore use critical-section-impl = ["rp2040-hal/critical-section-impl"] + +# 2nd stage bootloaders for rp2040 boot2 = ["rp2040-boot2"] + +# Minimal startup / runtime for Cortex-M microcontrollers rt = ["cortex-m-rt","rp2040-hal/rt"] + +# This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus. +# Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above +rp2040-e5 = ["rp2040-hal/rp2040-e5"] + +# Memoize(cache) ROM function pointers on first use to improve performance +rom-func-cache = ["rp2040-hal/rom-func-cache"] + +# Disable automatic mapping of language features (like floating point math) to ROM functions +disable-intrinsics = ["rp2040-hal/disable-intrinsics"] + +# This enables ROM functions for f64 math that were not present in the earliest RP2040s +rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]