Ejemplo n.º 1
0
BT_ERROR BT_RegisterInterruptController(BT_u32 ulBaseIRQ, BT_u32 ulTotalIRQs, BT_HANDLE hIRQ) {

    BT_ERROR Error = BT_ERR_NONE;

    if(!BT_IF_DEVICE(hIRQ) || BT_IF_DEVICE_TYPE(hIRQ) != BT_DEV_IF_T_INTC) {
        return BT_ERR_GENERIC;
    }

    if(g_ulRegistered >= BT_CONFIG_MAX_INTERRUPT_CONTROLLERS) {
        return -1;	/// Maximum controllers already registered.
    }

    g_oControllers[g_ulRegistered].hIRQ       	= hIRQ;

    // Ensure there is no conflict.
    g_oControllers[g_ulRegistered].ulBaseIRQ 	= ulBaseIRQ;
    g_oControllers[g_ulRegistered].ulTotalIRQs 	= ulTotalIRQs;

    g_ulRegistered++;

    return Error;
}
Ejemplo n.º 2
0
static BT_BOOL isI2CHandle(BT_HANDLE hI2C) {
	if(!hI2C || !BT_IF_DEVICE(hI2C) || (BT_IF_DEVICE_TYPE(hI2C) != BT_DEV_IF_T_I2C)) {
		return BT_FALSE;
	}
	return BT_TRUE;
}
Ejemplo n.º 3
0
static BT_BOOL isSpiHandle(BT_HANDLE hSpi) {
	if(!hSpi || !BT_IF_DEVICE(hSpi) || (BT_IF_DEVICE_TYPE(hSpi) != BT_DEV_IF_T_SPI)) {
		return BT_FALSE;
	}
	return BT_TRUE;
}
Ejemplo n.º 4
0
static BT_BOOL isUartHandle(BT_HANDLE hUart) {
	if(!hUart || !BT_IF_DEVICE(hUart) || (BT_IF_DEVICE_TYPE(hUart) != BT_DEV_IF_T_UART)) {
		return BT_FALSE;
	}
	return BT_TRUE;
}
Ejemplo n.º 5
0
static BT_BOOL isPwmHandle(BT_HANDLE hPwm) {
	if(!hPwm || !BT_IF_DEVICE(hPwm) || (BT_IF_DEVICE_TYPE(hPwm) != BT_DEV_IF_T_PWM)) {
		return BT_FALSE;
	}
	return BT_TRUE;
}