libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
f0/comparator.h File Reference

Go to the source code of this file.

Macros

#define COMP1   0
 
#define COMP2   1
 
#define COMP_CSR(i)   MMIO16(SYSCFG_COMP_BASE + 0x1c + (i)*2)
 
#define COMP_CSR1   COMP_CSR(COMP1)
 
#define COMP_CSR2   COMP_CSR(COMP2)
 
#define COMP_CSR_LOCK   (1 << 15)
 
#define COMP_CSR_OUT   (1 << 14)
 
#define COMP_CSR_HYST_SHIFT   12
 
#define COMP_CSR_HYST   (3 << COMP_CSR_HYST_SHIFT)
 
#define COMP_CSR_HYST_NO   (0 << COMP_CSR_HYST_SHIFT)
 
#define COMP_CSR_HYST_LOW   (1 << COMP_CSR_HYST_SHIFT)
 
#define COMP_CSR_HYST_MED   (2 << COMP_CSR_HYST_SHIFT)
 
#define COMP_CSR_HYST_HIGH   (3 << COMP_CSR_HYST_SHIFT)
 
#define COMP_CSR_POL   (1 << 11)
 
#define COMP_CSR_OUTSEL_SHIFT   8
 
#define COMP_CSR_OUTSEL   (7 << COMP_CSR_OUTSEL_SHIFT)
 
#define COMP_CSR_OUTSEL_NONE   (0 << COMP_CSR_OUTSEL_SHIFT)
 
#define COMP_CSR_OUTSEL_TIM1_BRK   (1 << COMP_CSR_OUTSEL_SHIFT)
 
#define COMP_CSR_OUTSEL_TIM1_IC1   (2 << COMP_CSR_OUTSEL_SHIFT)
 
#define COMP_CSR_OUTSEL_TIM1_OCRCLR   (3 << COMP_CSR_OUTSEL_SHIFT)
 
#define COMP_CSR_OUTSEL_TIM2_IC4   (4 << COMP_CSR_OUTSEL_SHIFT)
 
#define COMP_CSR_OUTSEL_TIM2_OCRCLR   (5 << COMP_CSR_OUTSEL_SHIFT)
 
#define COMP_CSR_OUTSEL_TIM3_IC1   (6 << COMP_CSR_OUTSEL_SHIFT)
 
#define COMP_CSR_OUTSEL_TIM3_OCRCLR   (7 << COMP_CSR_OUTSEL_SHIFT)
 
#define COMP_CSR_WINDWEN   (1 << 23)
 
#define COMP_CSR_INSEL_SHIFT   4
 
#define COMP_CSR_INSEL   (7 << COMP_CSR_INSEL_SHIFT)
 
#define COMP_CSR_INSEL_1_4_VREFINT   (0 << COMP_CSR_INSEL_SHIFT)
 
#define COMP_CSR_INSEL_2_4_VREFINT   (1 << COMP_CSR_INSEL_SHIFT)
 
#define COMP_CSR_INSEL_3_4_VREFINT   (2 << COMP_CSR_INSEL_SHIFT)
 
#define COMP_CSR_INSEL_4_4_VREFINT   (3 << COMP_CSR_INSEL_SHIFT)
 
#define COMP_CSR_INSEL_VREFINT   (3 << COMP_CSR_INSEL_SHIFT)
 
#define COMP_CSR_INSEL_INM4   (4 << COMP_CSR_INSEL_SHIFT)
 
#define COMP_CSR_INSEL_INM5   (5 << COMP_CSR_INSEL_SHIFT)
 
#define COMP_CSR_INSEL_INM6   (6 << COMP_CSR_INSEL_SHIFT)
 
#define COMP_CSR_SPEED_SHIFT   2
 
#define COMP_CSR_SPEED   (3 << COMP_CSR_SPEED_SHIFT)
 
#define COMP_CSR_SPEED_HIGH   (0 << COMP_CSR_SPEED_SHIFT)
 
#define COMP_CSR_SPEED_MED   (1 << COMP_CSR_SPEED_SHIFT)
 
#define COMP_CSR_SPEED_LOW   (2 << COMP_CSR_SPEED_SHIFT)
 
#define COMP_CSR_SPEED_VERYLOW   (3 << COMP_CSR_SPEED_SHIFT)
 
#define COMP_CSR_SW1   (1 << 1)
 
#define COMP_CSR_EN   (1 << 0)
 

Functions

void comp_enable (uint8_t id)
 
void comp_disable (uint8_t id)
 
void comp_select_input (uint8_t id, uint32_t input)
 
void comp_select_output (uint8_t id, uint32_t output)
 
void comp_select_hyst (uint8_t id, uint32_t hyst)
 
void comp_select_speed (uint8_t id, uint32_t speed)