Files
allwpilib/hal/include/HAL/Interrupts.h
Tyler Veness 5a82f73d9b Replaced .h C headers with c-prefixed version and added std:: prefix to C standard library usage (#90)
This was not done to stdint.h for brevity in type names. Also removed "using namespace std;".
2016-06-05 07:33:37 -07:00

35 lines
1.7 KiB
C

/*----------------------------------------------------------------------------*/
/* Copyright (c) FIRST 2016. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
#pragma once
#include <stdint.h>
extern "C" {
typedef void (*InterruptHandlerFunction)(uint32_t interruptAssertedMask,
void* param);
void* initializeInterrupts(uint32_t interruptIndex, bool watcher,
int32_t* status);
void cleanInterrupts(void* interrupt_pointer, int32_t* status);
uint32_t waitForInterrupt(void* interrupt_pointer, double timeout,
bool ignorePrevious, int32_t* status);
void enableInterrupts(void* interrupt_pointer, int32_t* status);
void disableInterrupts(void* interrupt_pointer, int32_t* status);
double readRisingTimestamp(void* interrupt_pointer, int32_t* status);
double readFallingTimestamp(void* interrupt_pointer, int32_t* status);
void requestInterrupts(void* interrupt_pointer, uint8_t routing_module,
uint32_t routing_pin, bool routing_analog_trigger,
int32_t* status);
void attachInterruptHandler(void* interrupt_pointer,
InterruptHandlerFunction handler, void* param,
int32_t* status);
void setInterruptUpSourceEdge(void* interrupt_pointer, bool risingEdge,
bool fallingEdge, int32_t* status);
}