FuelLevel::FuelLevel(Input& dataPin, InterruptManager& interruptManager) : dataPin(dataPin), interruptManager(interruptManager) { decilitres = 0; interruptManager.attach(IRQ_EINT3, this, &FuelLevel::interruptHandler); GPIO_IntEnable(dataPin.getPort(), (1<<dataPin.getPin()), 0); GPIO_IntEnable(dataPin.getPort(), (1<<dataPin.getPin()), 1); NVIC_EnableIRQ(EINT3_IRQn); }
void GPIO_RegisterInterruptHandler(uint32_t port, uint32_t bit, uint32_t sense, uint32_t single, uint32_t event, GPIO_InterruptHandler handler) { if (port < NUM_PORTS /* we only have 4 ports available */ && bit < MAX_NUM_HANDLERS /* there are a max of 12 bits on the ports */) { interrupt_handlers[port][bit] = handler; GPIO_SetInterrupt(port, bit, sense, single, event); GPIO_IntEnable(port, bit); } }
SpeedInput::SpeedInput(Input& input, InterruptManager& interruptManager) : input(input), interruptManager(interruptManager) { currentSpeed = 0.0f; periodTimer = new Timer(interruptManager); interruptManager.attach(IRQ_EINT3, this, &SpeedInput::interruptHandler); GPIO_IntEnable(input.getPort(), (1<<input.getPin()), 1); NVIC_EnableIRQ(EINT3_IRQn); }
void gpio_irq_enable(gpio_t pin) { GPIO_IntEnable(_pin_mask(pin)); }
/** * Enable the host microcontroller's pin interrupts that are connected to the * ethernet controller's INT pins. */ void enc28j60_InterruptPin_Enable(void) { GPIO_IntEnable(1 << 7); }
void qk_gpio_enable_interrupt() { GPIO_IntEnable(0xFFFF); }