When you get a callback to tell you a character is available, you should
be able to call getchar_timeout_us, but it's not working for USB
Fixes#1603
Co-authored-by: Andrew Gordon <arg@gordondesign.ltd.uk>
* fix feature request #1442
* Do not require -I before each addtional path
* Fix pico_btstack_make_gatt_header warning
gatt header files are always made into the "generated" folder so you get
a warning if you have more than one target generating a gatt header with
the same name.
Also, simplify the expansion of ARGN
* Improve pico_btstack_make_gatt_header description
---------
Co-authored-by: Peter Harper <peter.harper@raspberrypi.com>
It would be helpful to be able to use the lwip httpd server, but it
generates the content using a tool written in C. This is problematic as
it requires a native compiler to build the tools.
Add a python tool to generate the httpd content and a cmake function to
make use of it.
* USB descriptor string length.
Implement a mechanism to set the maximum string length used in
tud_descriptor_string_cb() by defining USBD_DESC_STR_MAX. If
USBD_DESC_STR_MAX is not defined, the behavior remains unchanged and the
previous default value of 20 is used. A compile time error is produced
if USBD_DESC_STR_MAX is higher than 127 since the length of the string
plus header is returned in a single byte as (2 * len + 2). Similarly, a
compile time error is generated if the length is defined as less than 17
in order to ensure that there is enough room for the 16-character serial
number plus header.
* Fix spelling mistake.
Renamed irq_hander_chain_free_slot_head to irq_handler_chain_free_slot_head
(added missing l).
* Add documentation for gpio_add_raw_irq_handler functions.
Added a note that irq_add_shared_handler() is used internally and that
the function will assert if the maximum number of shared handlers would
be exceeded.
The resulting elf binaries contained an unusual section that leads to an error
when objcopy attempts to update a section (e.g. when using the picowota
combined build mechanism).
This seemed to be due to the order of sections, where two RAM-only sections
were split by a RAM/FLASH section. By moving the RAM-only sections together,
this issue disappeared.
* Fixes shadowing of a global declaration
Required for GCC 12.2.1
* Change other function pointers to be _func to be consistent
---------
Co-authored-by: Andre Zeps <andre.zeps@googlemail.com>
Co-authored-by: Graham Sanderson <graham.sanderson@gmail.com>
The fix for the following issue adds some macros to configure default
ip addresses. These are expressed in hex which is a bit non-obvious to
set. So add a macro to convert from a string to the hex representation.
https://github.com/georgerobotics/cyw43-driver/issues/41
If LWIP_IPV6=1 a request to update the multicast list occurs in a
callback in the low priority interrupt.
This makes an ioctl call into the driver, at the end of which is a call
to cyw43_await_background_or_timeout_us (see CYW43_DO_IOCTL_WAIT).
It is attempting to delay until there's "some work to do".
For Freertos this fails an assertion as an attempt is made to acquire a
semaphore in interrupt context.
Fixes#1590
* Add ...3.27 to the cmake_minimum_required, and make minimum 3.13 everywhere
Signed-off-by: Ghorban M. Tavakoly <gmt3141@gmail.com>
Co-authored-by: Graham Sanderson <graham.sanderson@raspberrypi.com>
Some RP2040-Zero boards from WaveShare can only be recognized via USB
after flashing UF2 into it, and if you unplug and replug it, nothing
happens on both USB host and device, RP2040-Zero seems just not booting.
According to @ArkBrj, it seems that setting `PICO_FLASH_SPI_CLKDIV` to
`2` makes the clock chip exceed the spec, setting it to `4` fixes this
bug.
I tested it with the blink program in pico-examples, this does fix the
bug for me.
Fixes <https://github.com/raspberrypi/pico-sdk/issues/1304>.
Running a build with a newer CMake version results in a deprecation
warning from the tools subdirectory
[13/108] Performing configure step for 'PioasmBuild'
loading initial cache file /.../build/pico-sdk/src/rp2_common/pico_cyw43_driver/pioasm/tmp/PioasmBuild-cache-Release.cmake
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Raise the minimum version requirement for the tools to the same version
that is required in the top-level CMakeLists.txt anyway.
When the BOOT2.S files were updated, the section name in the IS25LP080 code was set to "text" and not ".text".
The missing "." causes the actual boot code to be thrown out since the rest of the infrastructure expects "section .text" and not "section text"
Re-add the missing period.
* Move multicore_lockout victim initialzied tracking to pico_multicore via new multicore_lockout_victim_is_initialzied method, so user initialization of the multicore_lockout independent of pico_flash will work