In order for the returned value to accurately reflect a single moment in time,
ensure the registers are read just once and in the datasheet order.
Before this change, the RTC registers would each be read multiple times,
leading (infrequently) to the returned fields not all reflecting the same
moment in time.
The rp2040 datasheet has what I believe is an incorrect example (embedding
the source of this function); will the datasheet be updated if this function is
fixed?
This problem is only a speculative one; I did not actually observe it in the
wild.
* pico_stdio_usb: be more explicit about includes, fix warning (#257)
* pico_base: NDEBUG backwards for absolute_time_t (#255)
* pico_util: missing extern C in queue.h (#249)
* build: remove -march which was masking -mcpu, now SVC available (#253)
* Add documentation for gpio_irq_callback_t and rtc_callback_t (fixes#175)
* Hook up pico_binary_info and pico_bootsel_via_double_reset to the Doxygen index
* Add link to new Raspberry Pi Pico FAQ
* Consistently add parentheses for \sa or \see links to function-names
* Use consistent capitalisation for 'GitHub'
* Small typos and markup errors
* Board definition header files for the iniital set of SparkFun rp2040 boards
* Add default PICO_DEFAULT_I2C*, allow no PICO_DEFAULT_LED_PIN, no PICO_DEFAULT_UART* (instead of -1)
Fixup SparkFun headers
* Pimoroni board headers
* Add LED related board defines PICO_CONFIGs (to pico_stdlib for now)
* more board config changes
* add Adafruit feather, itsybitsy, qtpy board headers
* add PICO_DEFAULT_WS2812_POWER_PIN define
* MOSI/MISO -> TX/RX, some UART cleanup.. make vgaboard.h defines take preference over pico.h ones
* local change to tinyusb to cope with no default LED or UART
* fix review issues
Co-authored-by: Kirk Benell <github-stuff@accvec.com>
Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
Co-authored-by: hathach <thach@tinyusb.org>
- setting baud rate to magic value (default=1200) will cause a reset to BOOTSEL mode
- a VENDOR interface along side the CDC interface can be used to reset via refular flash boot, or into
BOOTSEL mode with control for the reset_usb_boot parameters for the latter
either method can be configured/enabled/disabled via #define
* remove broken and fairly pointless deep sleep API, use multicore_reset_core1 instead
* strict-prototype for multicore_fifo_drain() in host header
* Also for multicore_lockout_victim_init()
Co-authored-by: Luke Wren <wren6991@gmail.com>
* Move PICO_FLASH_SIZE_BYTES out of platform_defs.h since it precedes board config; also default to -1 for unknown
* make default for PICO_FLASH_SIZE_BYTES undefined - i.e. no value
* use valid_params_if macro for lock assertion
* fixup param checking in pwm.h
* Fix range of fractional divider parameter check in pwm.h
Co-authored-by: Luke Wren <wren6991@gmail.com>
* Add pico_bootsel_via_double_reset library, fix#87
* pico_bootsel_via_double_reset: remove unnecessary library guard, fix subdirectory ordering
* Fix C type used as PICO_CONFIG type
In C, func() is a function taking an unspecified number of arguments,
vs func(void) a function taking no arguments. In C++ both forms indicate
"no arguments."
Update these headers to use the (void) form, which is correct in both
languages and avoids complaints when -Wstrict-prototypes is specified.
* Move vector table to beginning of flash image. Modify a boot2 to use the table.
* Move binary info header up between ELF entry and reset handler
* Extract common routines from boot2_w25q080 into helper files
* Non-default boot2s: use common routines, make callable as void(*)(void)
* BSD3 headers on boot2 files (people might want to use them elsewhere)
* Promote binary info header to its own section, + comment/readability changes
* Fix scope of asminclude path (fixes user custom boot2 definitions)
* Rename symbol, clarify comment
* fix #if in hardware/structs/dma.h
* move dma driver code from register definitions to dma drivers
Co-authored-by: Peter Lawrence <12226419+majbthrd@users.noreply.github.com>