WPILibC++  unspecified
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
Interrupts.hpp
1 #pragma once
2 
3 #include <stdint.h>
4 
5 #include <iostream>
6 #include "errno.h"
7 
8 extern "C"
9 {
10  typedef void (*InterruptHandlerFunction)(uint32_t interruptAssertedMask, void *param);
11 
12  void* initializeInterrupts(uint32_t interruptIndex, bool watcher, int32_t *status);
13  void cleanInterrupts(void* interrupt_pointer, int32_t *status);
14 
15  uint32_t waitForInterrupt(void* interrupt_pointer, double timeout, bool ignorePrevious, int32_t *status);
16  void enableInterrupts(void* interrupt_pointer, int32_t *status);
17  void disableInterrupts(void* interrupt_pointer, int32_t *status);
18  double readRisingTimestamp(void* interrupt_pointer, int32_t *status);
19  double readFallingTimestamp(void* interrupt_pointer, int32_t *status);
20  void requestInterrupts(void* interrupt_pointer, uint8_t routing_module, uint32_t routing_pin,
21  bool routing_analog_trigger, int32_t *status);
22  void attachInterruptHandler(void* interrupt_pointer, InterruptHandlerFunction handler,
23  void* param, int32_t *status);
24  void setInterruptUpSourceEdge(void* interrupt_pointer, bool risingEdge, bool fallingEdge,
25  int32_t *status);
26 }