* Update pico_configure_ip4_address comments
Update pico_configure_ip4_address CMakeLists.txt function comments to correct compile definition names
* Swap compile definitions in comments
Swap compile definitions order in pico_configure_ip4_address to group more naturally.
* Export linker scripts in the bazel build.
Make the rp2040 and rp2350 linker scripts available in downstream
projects bazel builds.
* Move exports_files below the package declaration.
The comments for the values of `enum gpio_irq_level` mix up zero and
one. This commit replaces "0" with "1" and vice versa where appropriate
in those comments.
* Add board file for pico2_w
This is a copy of pico2 with the definitions from pico_w added.
Set PICO_BOARD=pico2_w
* Simplify CYW43 PIO config
cyw43_spi_init contains code to find a free PIO and state machine. This
can all be replaced with pio_claim_free_sm_and_add_program_for_gpio_range
* Make CYW43 gpio pins configurable at build time
The CYW43 gpio pins are currently hardcoded. Give the defines better
names and make them overrideable at build time.
Note: CYW43_PIN_WL_REG_ON and CYW43_PIN_WL_HOST_WAKE are already used by
the driver via cyw43_hal_* functions
* Fix pio initialisation
Need to make sure the pio can work with all the gpios
* Add missing doxygen for cyw43_set_pio_clock_divisor
* Support dynamic configuration of cyw43 gpio pins
Add CYW43_PIN_WL_DYNAMIC that means cyw43 gpio pins can be changed at
runtime.
Then CYW43_PIN_WL_* calls cyw43_get_pin_wl to get the gpio out of
the array.
cyw43_set_pins_wl can be used to change the cyw43 gpio pins although
care is needed when calling this?
* Some fixes for cyw32 gpio > 32
* Allow CYW43 to be configured with cmake
* Add default config of CYW43_WL_GPIO_COUNT to cyw43_configport.h
* Fix some review comments
Add some PICO_CMAKE_CONFIG
Stop using gpio_*_mask64 functions
Specifying the final boot2 source file as a link library here causes the
final `.elf` to be linked directly with that `.S`, which causes it to be
compiled into an object file with a name like `/tmp/<random chars>.o`.
This temporary object name is embedded in the final `.elf`, so the
`.elf`'s contents change after each link even if none of the input files
change, breaking reproducibility.
Fix the issue by specifying the source file as the source for an
object-only library, then specifying the library's object files as the
target link libraries, so the source is compiled in a separate step and
only the object is passed to the linker.
Changed the constraint from "l" (specific to ARM) to the general "r" in inline assembly used for RISC-V architecture.
This ensures most compilers are able to compile this header file.
* add PANIC and AUTO_INIT_MUTEX to pico_minimize_runtime; fix build with PICO_PANIC_FUNCTION=
* add pico_minimize_runtime for host builds - does nothing
* Add ALL option to pico_minimize_runtime
* Fix Bazel build breakages
* Adds support for new PICO_DEFAULT_UART_BAUD_RATE option.
* Fixes issues related to Picotool and boot_picoboot_headers.
* Adds pico_float RISC-V pieces to the Bazel build (not yet fully
tested).
* Adds the missing adafruit board header to the Bazel build.
* Exclude hazard3 float test in Bazel validation script
* Restore missing dependency in hardware_boot_lock
* Adding I2C Burst Reading/Writing feature
* Add functions to header file.
Fixing: https://github.com/raspberrypi/pico-sdk/pull/1495
* Some missing changes
Rename the functions. Lose the "mode" and "blocking" needs to be at the
end.
Just set restart_on_next in the caller rather than adding a parameter.
---------
Co-authored-by: anhnhancao <nhan@earable.ai>
Co-authored-by: Peter Harper <peter.harper@raspberrypi.com>
The refactoring of these functions removed the (void) in the function
declarations - thus compiling with -Wstrict-prototypes will yell at us
at compile time.
Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
* Add fast single-precision add/sub/mul for Hazard3
* Make test output less noisy. Map -nan to -inf in vector gen. Move random vectors to separate files.
* Re-disable USB stdout for pico_float_test by default...
* Disable pico/float.h exports on RISC-V as these functions aren't implemented
* Add hazard3 instructions to asm_helper. Split hazard3.h to support this.
You can still include hazard3.h to get everything. This just allows you
to pull in less.
* Update config-extraction scripts to work with multiple chips
* Standardise wording between common options
* Various config-related fixes
* Update pico_rand to use correct busctrl_hw struct-name
* Don't start config descriptions with "The ..."
* Add @pico-sdk prefix to bazel/config in lwip.BUILD
Without this, we're trying to refer to a subpackage of
the lwip directory called bazel/config, which doesn't
exist. See similar references in this file.
* bazelbuild: Fix compilation errors with pico_lwip and freertos
This fixes two general problems.
* pico_lwip_contrib_freertos misspelled several things
(omitted contrib/ dir prefix, didn't have @pico-sdk in front of
out references to pico-sdk targets)
This is fixed simply by fixing the spellings.
* Circular dependency between pico_lwip_core and pico_lwip_contrib_freertos.
In NO_SYS=0 mode, lwip wants to include sys_arch.h. But sys_arch.h
is defined in pico_lwip_contrib_freertos. sys_arch.c in turn wants
to include lwip's opt.h and arch.h, among other things. So it needs
to depend on pico_lwip_core.
This is fixed by extracting all the headers into a common rule which
can be depended on by both targets, then depending on it in the
relevant targets.
Additionally, for the LWIP+FreeRTOS build to work correctly, we need
to actually depend on the pico_lwip_contrib_freertos rule from
pico_lwip_core. This the purpose of the select in the deps of
pico_lwip_core.
* bazel+cyw43: Fix compilation errors.
This fixes issues with the cyw43 driver
build rules in Bazel:
* Before this, the btstack would always be included
even if it could not be used. If the user did not
specify a btstack config, this would cause a
compilation error. Now, we condition the linking
and building of the btstack on whether there is
a config for it.
* Before, the btbus was not properly linked.
* Implements code review feedback