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>