mbed-os/hal
Russ Butler 17892cbbb9 Add handling for synchronized low power tickers
Some low power tickers take multiple cycles of the low power clock
to set a compare value. Because of this if the compare value is set
twice back-to-back these implementations will block until that time
has passed. This can cause system stability issues since interrupts
are disabling for this time.

To gracefully support this kind of hardware this patch adds code
to prevent back-to-back writes to the hardware. It does this by
recording the low power clock cycle of the initial write. If any
writes come in too soon after this initial write the microsecond
ticker is used to schedule the new write in the future when the
hardware is ready to accept a new value.

To enable this feature on a target the macro LOWPOWERTIMER_DELAY_TICKS
must be set to the number of low power clock cycles that must elapse
between writes to the low power timer.
2018-04-16 17:36:07 -05:00
..
TARGET_FLASH_CMSIS_ALGO flash: add docs for user defined data 2018-03-20 12:25:22 +00:00
storage_abstraction Removed bad \ref tag, but left in the tag name. Updated old param names in gpio_api.h and added new params in ticker_api.h 2017-06-08 15:52:31 -05:00
analogin_api.h Add tags to our code 2016-10-04 15:02:44 -05:00
analogout_api.h Add tags to our code 2016-10-04 15:02:44 -05:00
buffer.h Add tags to our code 2016-10-04 15:02:44 -05:00
can_api.h Add an mbed API that allows the initialization of the CAN at the correct 2017-05-15 14:14:26 +02:00
can_helper.h Fix doxygen warnings in 'drivers' 2017-06-08 15:53:53 -05:00
critical_section_api.h Move in_critical_section implementation into the HAL 2018-01-09 10:41:29 +00:00
dma_api.h Add tags to our code 2016-10-04 15:02:44 -05:00
emac_api.h Moved emac_api.h to the appropriate folder 2016-11-17 13:52:42 -06:00
ethernet_api.h typos 2018-02-20 20:11:19 -05:00
flash_api.h flash: add note about program size 2017-09-06 07:54:18 +01:00
gpio_api.h Removed bad \ref tag, but left in the tag name. Updated old param names in gpio_api.h and added new params in ticker_api.h 2017-06-08 15:52:31 -05:00
gpio_irq_api.h Add tags to our code 2016-10-04 15:02:44 -05:00
i2c_api.h Turn on doxygen for DEVICE_* features 2017-08-11 15:47:44 -05:00
itm_api.h Fix doxygen for ITM HAL 2018-03-15 10:43:48 +00:00
lp_ticker_api.h Add API to set ticker IRQ handler. 2017-10-30 10:38:38 +01:00
mbed_critical_section_api.c Move in_critical_section implementation into the HAL 2018-01-09 10:41:29 +00:00
mbed_flash_api.c FlashIAP: Add explicit read function to flash_api.h 2017-07-06 18:53:32 +01:00
mbed_gpio.c For drivers, events, hal, platform, rtos and mbed.h add one level of path to make sure specific and unique includes files are found. 2016-10-01 02:11:36 -05:00
mbed_itm_api.c Instrumented Trace Macrocell (ITM) HAL API 2018-02-16 08:24:31 -08:00
mbed_lp_ticker_api.c Add handling for synchronized low power tickers 2018-04-16 17:36:07 -05:00
mbed_lp_ticker_wrapper.cpp Add handling for synchronized low power tickers 2018-04-16 17:36:07 -05:00
mbed_pinmap_common.c For drivers, events, hal, platform, rtos and mbed.h add one level of path to make sure specific and unique includes files are found. 2016-10-01 02:11:36 -05:00
mbed_sleep_manager.c Refactor sleep tracing driver identifier to be pointer to the driver filepath. 2018-03-15 17:23:36 +00:00
mbed_ticker_api.c Fix for issue #6054 - interrupts scheduled in the past. 2018-02-15 12:30:24 +00:00
mbed_us_ticker_api.c Add API to set ticker IRQ handler. 2017-10-30 10:38:38 +01:00
pinmap.h Add tags to our code 2016-10-04 15:02:44 -05:00
port_api.h Add tags to our code 2016-10-04 15:02:44 -05:00
pwmout_api.h Add tags to our code 2016-10-04 15:02:44 -05:00
rtc_api.h Add tags to our code 2016-10-04 15:02:44 -05:00
serial_api.h Add tags to our code 2016-10-04 15:02:44 -05:00
sleep_api.h Platform: Add sleep/deepsleep user facing functions 2017-01-19 09:39:29 +00:00
spi_api.h typos 2018-02-20 20:11:19 -05:00
ticker_api.h Merge pull request #5028 from c1728p9/ticker_api_changes 2017-10-13 09:18:02 -05:00
trng_api.h Add tags to our code 2016-10-04 15:02:44 -05:00
us_ticker_api.h Add API to set ticker IRQ handler. 2017-10-30 10:38:38 +01:00