Rp2040/Components/driver/include/driver/hw_timer.h File Reference
#include <esp_systemapi.h>
#include <hardware/structs/timer.h>
Include dependency graph for Rp2040/Components/driver/include/driver/hw_timer.h:

Go to the source code of this file.

Classes

struct  hw_timer_private_t
 

Macros

#define HW_TIMER_BASE_CLK   1000000U
 
#define MAX_HW_TIMER1_INTERVAL   0x7fffffffU
 Maximum timer interval in ticks. More...
 
#define MIN_HW_TIMER1_INTERVAL_US   50U
 Minimum hardware interval in microseconds. More...
 
#define HW_TIMER2_CLK   HW_TIMER_BASE_CLK
 

Typedefs

typedef void(* hw_timer_callback_t) (void *arg)
 

Enumerations

enum  hw_timer_clkdiv_t {
  TIMER_CLKDIV_1 = 0, TIMER_CLKDIV_16 = 4, TIMER_CLKDIV_256 = 8, TIMER_CLKDIV_1,
  TIMER_CLKDIV_16, TIMER_CLKDIV_256, TIMER_CLKDIV_1 = 0, TIMER_CLKDIV_16 = 4,
  TIMER_CLKDIV_256 = 8
}
 
enum  hw_timer_intr_type_t {
  TIMER_EDGE_INT = 0, TIMER_LEVEL_INT = 1, TIMER_EDGE_INT, TIMER_LEVEL_INT,
  TIMER_EDGE_INT = 0, TIMER_LEVEL_INT = 1
}
 
enum  hw_timer_source_type_t {
  TIMER_FRC1_SOURCE = 0, TIMER_NMI_SOURCE = 1, TIMER_FRC1_SOURCE, TIMER_NMI_SOURCE,
  TIMER_FRC1_SOURCE = 0, TIMER_NMI_SOURCE = 1
}
 

Functions

uint32_t hw_timer_ticks ()
 Fetch 32-bit microsecond count. More...
 
void hw_timer1_attach_interrupt (hw_timer_source_type_t source_type, hw_timer_callback_t callback, void *arg)
 Attach an interrupt for the timer. More...
 
void hw_timer1_detach_interrupt (void)
 Detach interrupt from the timer. More...
 
void hw_timer1_enable (hw_timer_clkdiv_t div, hw_timer_intr_type_t intr_type, bool auto_load)
 Enable the timer. More...
 
void hw_timer1_write (uint32_t ticks)
 Set the timer interval. More...
 
void hw_timer1_disable (void)
 Disable the timer. More...
 
uint32_t hw_timer1_read (void)
 Get timer1 count. More...
 
uint32_t hw_timer2_read (void)
 Read current timer2 value. More...
 

Variables

struct hw_timer_private_t hw_timer_private
 

Macro Definition Documentation

◆ HW_TIMER_BASE_CLK

#define HW_TIMER_BASE_CLK   1000000U