add some struct doxygen #3022
No reviewers
Labels
No labels
bazel
bluetooth
board settings
boot_stage2
bug
build
c++
can't reproduce
clang
clib-interface
cmsis
code cleanliness
code size
compiler version issues
cyw43_driver
debug
discussion
documentation
duplicate
dynamic_clock
elf2uf2
enhancement
errata
filesystem
flash layout
floating point
FreeRTOS
hardware_adc
hardware_claim
hardware_clocks
hardware_dma
hardware_exception
hardware_flash
hardware_gpio
hardware_i2c
hardware_irq
hardware_pio
hardware_pwm
hardware_rcp
hardware_rtc
hardware_spi
hardware_sync
hardware_uart
hardware_vreg
hardware_watchdog
hardware_xosc
help wanted
host
IAR
installation
invalid
linker scripts
lto
lwip
mbedtls
missing API
needs reporter detail
networking
newlib
newlib-multicore
non-c
non-cmake
non-gcc
openocd
orphan PR
OS integration
pico_async_context
pico_base
pico_binary_info
pico_flash
picolibc
pico_lwip
pico_malloc
pico_multicore
pico_printf
pico_runtime
pico_stdio
pico_stdio_usb
pico_sync
pico_time
pico_util
pioasm
port
question
review
review2
rtos interop
runtime init
static library
svd
test
tinyusb
vscode
wifi integration
wontfix
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-raspberrypi/pico-sdk!3022
Loading…
Reference in a new issue
No description provided.
Delete branch "struct-doxygen"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
thanks claude!
I have a few comments - generally, I think the picobin/picoboot docs should use similar wording to the datasheet for consistency, either changing the datasheet to match these descriptions, or changing these descriptions to align with the datasheet
@ -147,16 +147,26 @@#include <stdbool.h>This should also include descriptions for absolute load maps - also, should probably use the wording more similar to the datasheet, for consistency (eg
relative to the address of this LOAD_MAP itemrather thanrelative to the load map base)Also encodes the item type and the size of the item
@ -82,30 +82,48 @@ enum picoboot_status {PICOBOOT_UNSUPPORTED_MODIFICATION = 17,This should note that
dPCcan only be 0 or a RAM address, and thatdSPis ignored unless booting into a RAM address - maybe using similar wording to the datasheet?This should be RP2040 only
This information probably isn't very helpful - the fields for
REBOOT2seem unrelated to the fields forREBOOT?Might be better documented as
(not available on RP2040)?I think this is RP2040 only, as
EXECandVECTORIZE_FLASHaren't supported on RP2350This probably shouldn't appear in the docs - it's only here to preserve backwards compatibility with bootrom builds
Same for other
(RP2350 only)commandsThese aren't documented in the datasheet, and don't seem to be used by
picotool- are these dummy parameters?@ -124,2 +150,4 @@};/*! \brief Parameters for an OTP read or write command (not available on RP2040)* \ingroup boot_picoboot_headersThis enum shouldn't be deleted - it should be documented as it's referenced below
@ -45,18 +45,24 @@// 04 e3 57 99Should this be documented like the other fields? Presumbaly this should always be the family ID for RP2 UF2 blocks
Does this need documenting? I'm pretty sure the doxygen build won't pick it up anyway, as
PICO_OPAQUE_ABSOLUTE_TIME_Twon't be setIs this PR supposed to update
btstack(which is causing theother-bazel-checksfailures), or should that be in a separate PR? I think the deletedpicoboot_exclusive_typeenum is causing the other CI failures.@ -147,16 +147,26 @@#include <stdbool.h>can you please update/suggest
@ -147,16 +147,26 @@#include <stdbool.h>@ -147,16 +147,26 @@#include <stdbool.h>Have pushed an update which addresses most of my comments - also written using claude, but I gave it the datasheets so it had a source of truth to write the comments from
@ -82,30 +82,48 @@ enum picoboot_status {PICOBOOT_UNSUPPORTED_MODIFICATION = 17,@kilograham this question still needs answering - are these unused parameters (and should therefore be documented as such), or are these used by some versions of
get_info? As far as I can tell,picotoolonly uses thedParamsbelow, and thesebParamandwParamare unused.@ -82,30 +82,48 @@ enum picoboot_status {PICOBOOT_UNSUPPORTED_MODIFICATION = 17,@ -134,3 +171,3 @@typedef struct __packed _binary_info_pins64_with_func {struct _binary_info_core core;struct _binary_info_core core; ///< Common binary info header// p6_8 : p5_8 : p4_8 : p3_8 : p2_8 : p1_8 : p0_8 : func_5 : 010_3 //individual pins p0,p1,p2 ... if fewer than 7 then duplicate pShould the existing
//style comment here have been converted into a///<style comment? (same also on line 151)@ -155,13 +198,19 @@ typedef struct __packed _binary_info_pins64_with_name {#define BI_NAMED_GROUP_SORT_ALPHA 0x0004 // default is no sortUnlike
_binary_info_pins64_with_name(which has auint64_t pin_mask) I don't think that this is limited to just "up to 64" pins? The comments on lines 173 and 174 implies that the pin numbers are encoded with 8 bits, so it seems like this could actually encode up to 256 pins?@ -16,0 +18,4 @@** Holds the deadline and an optional per-iteration parameter used by* the check_timeout_fn callbacks returned by the init functions.*/Would have been nice to add doxygen for
init_single_timeout_untilandinit_per_iteration_timeout_ustoo 😉@ -32,0 +32,4 @@/*! \brief A multi-core and IRQ safe queue instance* \ingroup queue** Stores a fixed number of elements of a fixed size. All operations areThe "Stores a fixed number of elements" seems to be in contrast with the
queue_try_addandqueue_try_removefunctions? 😉Perhaps this was supposed to say "Stores a maximum number of elements"?
This "for lanes 0, 1 and 2" comment implies that there are 3 lanes, which isn't the case? (From a quick look at the RP2040 Datasheet, it looks like BASE2 is just a "mix" of both lanes?)
Please ignore my post-merge comments here - I've now created #3038 instead.