Commit Graph

710 Commits

Author SHA1 Message Date
James Hughes
ab4f23c7ee
Update mainpage.md (#1320) 2023-05-25 15:18:32 -05:00
djazz
7070d230c0
GCC 13 update. Move #include <cstdint> to header. Fixes #1363 (#1367) 2023-05-24 07:51:59 -05:00
Peter Harper
257959bc07
Add user_data to async_when_pending_worker_t. (#1384)
Fixes #1382
2023-05-22 09:14:11 -05:00
Andrew Scheller
62201a83e2
MarkDown syntax typo (#1366) 2023-05-07 10:34:33 -05:00
Peter Harper
e87f11bd2b
Add some configuration for VBUS / VSYS (#1252)
The process for reading VBUS and VSYS on Pico and Pico W is different.
It's hard to write code that compiles for both devices.
Add some configuration to the board files.

Fixes #1222
2023-03-27 09:43:26 -05:00
andygpz11
a42564b4b4
Allow support of crystals other than 12MHz (#1024) (#1272)
* Allow pre-processor overrides for Clock/PLL setup
* Use `_KHZ` rather than `_MHZ` for `XOSC_` `SYS_CLOCK_` etc definitions (`_MHZ` versions are provided for compatibility when `_KHZ` is a multiple of 1000)

Co-authored-by: graham sanderson <graham.sanderson@raspberrypi.com>
2023-03-21 12:49:20 -05:00
Liam Fraser
cb0ac5bd1a
CI: Improve multi-gcc workflow (#1316) 2023-03-20 16:51:13 -05:00
arjunak234
be4c80d355
include cstdint (#1318)
This fixes build on newer versions of GCC(13.0.1)
2023-03-20 16:48:48 -05:00
Peter Harper
4000c9f414
Allow malloc and free to be changed. (#1309)
Bluetooth needs a tempoarary buffer to load firmware. Micropython won't
work safely with malloc and free so allow these calls to be changed by
using cyw43_malloc / cyw43_free macros.
2023-03-20 11:52:35 -05:00
Peter Harper
2bfa90ccbb
Set PICO_STDIO_USB_CONNECT_WAIT_TIMEOUT_MS (#1253)
If PICO_STDIO_USB_CONNECT_WAIT_TIMEOUT_MS is passed to cmake, use it to
set the build macro of the same name.

Fixes #1210
2023-03-19 16:44:08 -05:00
agento2
cd54c3297d
Add Default for the thingplus ws2812 (#1312) 2023-03-19 16:35:00 -05:00
Graham Sanderson
7f7232541a
switch all .S files to unified asm, and use a macro to setup compiler and some other misc changes (#1295)
* switch all .S files to unified asm, and use a new macro `pico_default_asm_setup` to setup compiler to help porting to other compilers. Also some minor tweaks:
* switch some code to use more recent helper methods (e.g. busy_wait_at_least_n_cycles)
* add documentation to host divider header (I had this ages ago and never promoted)
* fixup erroneous docs about 32p32 values in all divider headers
* fix some compiler warnings
* rename recently added `unified_asm` macro to `pico_default_asm`
2023-03-09 17:40:20 -06:00
Paul Grayson
dca773f36b
Add board definition for upcoming Pololu 3pi+ 2040 Robot (#1259)
Co-authored-by: Paul Grayson <paul@pololu.com>
2023-03-04 18:28:21 -06:00
Peter Harper
0b285af452
Revert change to cyw43_hal_generate_laa_mac (#1291)
This was changed to use the same algorithm as MP.

This function is used to set the wifi mac if OTP is unset (which
shouldn't ever be the case). But if it does occur, changing the mac
might cause issues, so lets play safe and revert the change.
2023-03-01 15:10:49 -06:00
Graham Sanderson
1ac90374e3
Various small fixes towards building with other compilers (#1285)
* Fix various non-GCC warnings (no effect on GCC)
* Reduce use of typeof since non GCC compilers may not support it
* Introduce PICO_C_COMPILER_IS_GNU, PICO_C_COMPILER_IS_CLANG, PICO_C_COMPILER_IS_IAR to CMake as if (CMAKE_C_COMPILER_ID STREQUAL "xxx") is a bit verbose
* Use "unified_asm" macro for all inline asm (it is "volatile __asm" on GNU with a .syntex unified)
* Use NOLOAD instead of COPY in linker scripts (arguably more correct anyway)
* Use the same style for setting _etext in all 4 linker scripts (to the beginning of .data). Clang aligns .data on a 16 byte boundary. Note ideally we'd
  add a new symbol __data_source, however that would break backwards compatibility with existing user linker scripts
* Use "a" for .stack, .heap sections because clang complains otherwise, and they are explicitly NOLOAD anyway
* Avoid duplicating __sev, __wfe, __wfi which Clang sometimes seems to provide as built-ins
* Add missing kitchen_sink_blocked_ram binary
* Allow build with LLVM Embedded Toolchain Form ARM v 14.0.0 (unsupported atm)
2023-03-01 15:10:18 -06:00
Peter Harper
bc7d9ce95a
Fix some header dependencies in bluetooth (#1294)
If you just want to link to pico_btstack_flash_bank_headers to include
the header file you also have to link to pico_btstack_base_headers.

ENABLE_CLASSIC and ENABLE_BLE are used in header files so should be
added by the headers library

Fixes #1271
2023-03-01 13:12:55 -06:00
Graham Sanderson
18479e0300
filter pull request source for pull_request to avoid IAR (#1289) 2023-02-27 19:18:03 -06:00
Graham Sanderson
67b0a11d3e
remove iar/ branches from default workflow (#1288) 2023-02-27 18:59:41 -06:00
Peter Harper
d9c88c6306
Make sure BT device address is set. (#1284)
* Make sure BT device address is set.
* Change cyw43_hal_generate_laa_mac to match MicroPython
2023-02-27 11:12:20 -06:00
Andrew Scheller
b1d4ba570e
Doxygen formatting fixes (#1283) 2023-02-26 17:05:39 -06:00
Andrew Scheller
777cd52e21
Git rid of some errant apostrophes in Doxygen / code comments (#1275) 2023-02-23 07:37:56 -06:00
Graham Sanderson
d172067f47
Add Raspberry Pi BTstack license (#1273) 2023-02-22 10:43:54 -06:00
Mr. Green's Workshop
37c8e9f0b2
typo fix (#1264) 2023-02-17 09:07:39 -06:00
Graham Sanderson
1331c47c9e
Add missing busy_wait_ms functino to host platform (#1254) 2023-02-13 15:22:03 -06:00
Andrew Scheller
c2af4e8bf4
Fix various Doxygen errors (#1251)
Co-authored-by: Peter Harper <peter.harper@raspberrypi.com>
2023-02-13 11:45:54 -06:00
Graham Sanderson
d30b97ab79
remove unnecessary headers - particular pico_stdlib.h which should not be included by libraries (#1250) 2023-02-13 10:40:46 -06:00
Andrew Scheller
226374a364
Documentation typos (#1249) 2023-02-13 09:40:26 -06:00
Graham Sanderson
e763cb8e99
Fix typo in pico_rand breaking randomness when PICO_RAND_ENTROPY_SRC_BUS_PERF_COUNTER=1 (#1246) 2023-02-12 10:51:08 -06:00
graham sanderson
79d0eb472d Merge branch 'master' into develop 2023-02-11 19:11:59 -06:00
Graham Sanderson
f396d05f82 Actually target correct USB1.5.0 version - same code (#1245) 2023-02-11 19:10:42 -06:00
Graham Sanderson
4ba5ad34cb
Actually target correct USB1.5.0 version - same code (#1245) 2023-02-11 16:54:33 -06:00
Andrew Scheller
5abb4eb911
Fix typos in the PICO_CONFIG settings (#1242) 2023-02-11 09:42:21 -06:00
Graham Sanderson
0121007c85
Improve SPI set-up: Don't change the config whilst it is enabled (#1227)
Co-authored-by: David Thacher <davidethacher@gmail.com>
2023-02-10 19:02:46 -06:00
graham sanderson
6d336e04be start 1.5.1 development 2023-02-10 18:51:01 -06:00
graham sanderson
2ccab115de release SDK 1.5.0 2023-02-10 18:27:36 -06:00
graham sanderson
c8ccefb972 Add Bluetooth support
Co-authored-by: Peter Harper <77111776+peterharperuk@users.noreply.github.com>
2023-02-10 18:27:23 -06:00
graham sanderson
0d207f4878 Add new github workflows 2023-02-10 18:27:13 -06:00
Peter Harper
d07abf3ac0
Setup clock pin when starting SPI comms. (#1236)
Because the clock pin (29) also has to be used to read vsys,
its properties might be changed.
So reset when starting a spi transaction.

Fixes #1141
2023-02-10 10:18:34 -06:00
andygpz11
756c4f24a4
Remove duplicated comment line in header (#1237) 2023-02-09 12:06:16 -06:00
andygpz11
f54ca1a42e
Add/tidy API doxygen for the new pico_i2c_slave library (#1233) 2023-02-08 10:48:02 -06:00
Graham Sanderson
8c8006d457
Fix build backwards-incompatibilities with LIB_XXX defines, and add fix pico_time in host mode (#1232)
* restore original setters of LIB_PICO_ as some external code depends on it

* add __get_current_exception to host
2023-02-07 16:39:37 -06:00
Graham Sanderson
18b97fcba0
add new pcio_I2c_slave library (#1205)
* add (slightly modified) pico_i2c_slave library from https://github.com/vmilea/pico_i2c_slave
* introduce VTABLE_FIRST_IRQ constant
2023-02-07 07:47:01 -06:00
Andrew Scheller
66bd4d8aab
Comment typos (#1231) 2023-02-06 18:48:44 -06:00
Graham Sanderson
5eff1726c2
revert use of pico_add_library in pico_usb_reset_interface which is used by picotool and included directly as _headers library by SDK anyway (#1230) 2023-02-06 18:07:16 -06:00
Graham Sanderson
cc169ddd68
stdio hardening + new mutex API (#1224)
* * Harden stdio_usb and stdio in general against deadlocks which could otherwise result from doing printfs from within IRQs
* Add a test for the above
* Add mutex_try_enter_block_until API.
* Make best_effort_wfe_or_timeout not use alarms if called from within IRQ
2023-02-06 16:27:39 -06:00
Graham Sanderson
5b467997b2
Update TinyUSB to c0d79457f (post 0.14.0) (#1229) 2023-02-06 16:27:19 -06:00
Peter Harper
7ef7ec8491
Fix Windows build warning (#1228) 2023-02-06 16:13:26 -06:00
Graham Sanderson
ab18927533
Various Documentation Updates + bump version to SDK1.5.0-develop (#1220)
* minor cleanup of lwip+tinyusb docs, and bump sdk verison number to 1.5.0-develop
* Update cyw43_arch docs for async_context_use
* remove accidental copy of some comments
2023-02-06 15:07:37 -06:00
Brad S
a916761e7d
issue 1219, minor improvements to doxygen comments (#1223) 2023-02-05 19:00:26 -06:00
Nikhil Dabas
795d021ca6
Allow external pico-sdk-tools package (#1221)
This will enable builds to use pre-compiled copies of pioasm and elf2uf2, instead of requiring a native compiler.
2023-02-05 18:05:54 -06:00