hc32f460_driver_sys 0.1.1

Provide driver function binding for HDSC's HC32F460 MCU.
Documentation
/* automatically generated by rust-bindgen 0.72.1 */

pub const VISR_OFFSET: u32 = 8;
pub const CMP_POSITIVE_NONE: u32 = 0;
pub const CMP1_POSITIVE_CMP1_INP1: u32 = 256;
pub const CMP1_POSITIVE_CMP1_INP2: u32 = 512;
pub const CMP1_POSITIVE_CMP1_INP3: u32 = 1024;
pub const CMP1_POSITIVE_PGAO: u32 = 6144;
pub const CMP1_POSITIVE_PGAO_BP: u32 = 10240;
pub const CMP1_POSITIVE_CMP1_INP4: u32 = 18432;
pub const CMP2_POSITIVE_CMP2_INP1: u32 = 256;
pub const CMP2_POSITIVE_CMP2_INP2: u32 = 512;
pub const CMP2_POSITIVE_CMP2_INP3: u32 = 1024;
pub const CMP2_POSITIVE_PGAO: u32 = 6144;
pub const CMP2_POSITIVE_PGAO_BP: u32 = 10240;
pub const CMP3_POSITIVE_CMP3_INP1: u32 = 256;
pub const CMP3_POSITIVE_CMP3_INP2: u32 = 512;
pub const CMP3_POSITIVE_CMP3_INP3: u32 = 1024;
pub const CMP3_POSITIVE_CMP3_INP4: u32 = 2048;
pub const CMP_SCAN_STAT_INP_NONE: u32 = 0;
pub const CMP_SCAN_STAT_INP1: u32 = 256;
pub const CMP_SCAN_STAT_INP2: u32 = 512;
pub const CMP_SCAN_STAT_INP3: u32 = 1024;
pub const CMP_SCAN_STAT_INP4: u32 = 2048;
pub const CMP_NEGATIVE_NONE: u32 = 0;
pub const CMP_NEGATIVE_INM1: u32 = 1;
pub const CMP_NEGATIVE_INM2: u32 = 2;
pub const CMP_NEGATIVE_INM3: u32 = 4;
pub const CMP_NEGATIVE_INM4: u32 = 8;
pub const CMP_OUT_INVT_OFF: u32 = 0;
pub const CMP_OUT_INVT_ON: u32 = 8192;
pub const CMP_DETECT_EDGS_NONE: u32 = 0;
pub const CMP_DETECT_EDGS_RISING: u32 = 32;
pub const CMP_DETECT_EDGS_FALLING: u32 = 64;
pub const CMP_DETECT_EDGS_BOTH: u32 = 96;
pub const CMP_OUT_FILTER_NONE: u32 = 0;
pub const CMP_OUT_FILTER_CLK: u32 = 1;
pub const CMP_OUT_FILTER_CLK_DIV2: u32 = 2;
pub const CMP_OUT_FILTER_CLK_DIV4: u32 = 3;
pub const CMP_OUT_FILTER_CLK_DIV8: u32 = 4;
pub const CMP_OUT_FILTER_CLK_DIV16: u32 = 5;
pub const CMP_OUT_FILTER_CLK_DIV32: u32 = 6;
pub const CMP_OUT_FILTER_CLK_DIV64: u32 = 7;
pub const CMP_ADC_REF_VREF: u32 = 16;
pub const CMP_ADC_REF_DA2: u32 = 2;
pub const CMP_ADC_REF_DA1: u32 = 1;
pub const CMP_8BITDAC_CH1: u32 = 1;
pub const CMP_8BITDAC_CH2: u32 = 2;
pub const en_functional_state_t_DISABLE: en_functional_state_t = 0;
pub const en_functional_state_t_ENABLE: en_functional_state_t = 1;
#[doc = " @brief Functional state"]
pub type en_functional_state_t = ::core::ffi::c_uint;
pub const en_flag_status_t_RESET: en_flag_status_t = 0;
pub const en_flag_status_t_SET: en_flag_status_t = 1;
#[doc = " @brief Flag status"]
pub type en_flag_status_t = ::core::ffi::c_uint;
#[doc = " @brief CMP"]
#[repr(C)]
#[derive(Debug, Copy, Clone, PartialEq)]
pub struct CM_CMP_TypeDef {
    pub CTRL: u16,
    pub VLTSEL: u16,
    pub OUTMON: u16,
    pub CVSSTB: u16,
    pub CVSPRD: u16,
}
#[doc = " @brief CMP normal mode configuration structure"]
#[repr(C)]
#[derive(Debug, Copy, Clone, PartialEq)]
pub struct stc_cmp_init_t {
    #[doc = "< Positive(compare voltage) input @ref CMP_Positive_Input_Select"]
    pub u16PositiveInput: u16,
    #[doc = "< Negative(Reference voltage) input @ref CMP_Negative_Input_Select"]
    pub u16NegativeInput: u16,
    #[doc = "< Output polarity select, @ref CMP_Out_Polarity_Select"]
    pub u16OutPolarity: u16,
    #[doc = "< Output detect edge, @ref CMP_Out_Detect_Edge_Select"]
    pub u16OutDetectEdge: u16,
    #[doc = "< Output Filter, @ref CMP_Out_Filter"]
    pub u16OutFilter: u16,
}
unsafe extern "C" {
    #[doc = "Global function prototypes (definition in C source)\n/\n/**\n @addtogroup CMP_Global_Functions\n @{"]
    pub fn CMP_StructInit(pstcCmpInit: *mut stc_cmp_init_t) -> i32;
    pub fn CMP_NormalModeInit(CMPx: *mut CM_CMP_TypeDef, pstcCmpInit: *const stc_cmp_init_t)
        -> i32;
    pub fn CMP_DeInit(CMPx: *mut CM_CMP_TypeDef);
    pub fn CMP_FuncCmd(CMPx: *mut CM_CMP_TypeDef, enNewState: en_functional_state_t);
    pub fn CMP_IntCmd(CMPx: *mut CM_CMP_TypeDef, enNewState: en_functional_state_t);
    pub fn CMP_CompareOutCmd(CMPx: *mut CM_CMP_TypeDef, enNewState: en_functional_state_t);
    pub fn CMP_PinVcoutCmd(CMPx: *mut CM_CMP_TypeDef, enNewState: en_functional_state_t);
    pub fn CMP_GetStatus(CMPx: *const CM_CMP_TypeDef) -> en_flag_status_t;
    pub fn CMP_SetOutDetectEdge(CMPx: *mut CM_CMP_TypeDef, u8CmpEdges: u8);
    pub fn CMP_SetOutFilter(CMPx: *mut CM_CMP_TypeDef, u8CmpFilter: u8);
    pub fn CMP_SetOutPolarity(CMPx: *mut CM_CMP_TypeDef, u16CmpPolarity: u16);
    pub fn CMP_SetPositiveInput(CMPx: *mut CM_CMP_TypeDef, u16PositiveInput: u16);
    pub fn CMP_SetNegativeInput(CMPx: *mut CM_CMP_TypeDef, u16NegativeInput: u16);
    pub fn CMP_GetScanInpSrc(CMPx: *mut CM_CMP_TypeDef) -> u32;
    pub fn CMP_ScanTimeConfig(CMPx: *mut CM_CMP_TypeDef, u16Stable: u16, u16Period: u16) -> i32;
    pub fn CMP_ScanCmd(CMPx: *mut CM_CMP_TypeDef, enNewState: en_functional_state_t);
    pub fn CMP_8BitDAC_Cmd(u8Ch: u8, enNewState: en_functional_state_t);
    pub fn CMP_8BitDAC_AdcRefCmd(u16AdcRefSw: u16, enNewState: en_functional_state_t);
    pub fn CMP_8BitDAC_WriteData(u8Ch: u8, u16DACData: u16);
}