WPILibC++  2020.3.2
AnalogTrigger.h
1 /*----------------------------------------------------------------------------*/
2 /* Copyright (c) 2016-2019 FIRST. All Rights Reserved. */
3 /* Open Source Software - may be modified and shared by FRC teams. The code */
4 /* must be accompanied by the FIRST BSD license file in the root directory of */
5 /* the project. */
6 /*----------------------------------------------------------------------------*/
7 
8 #pragma once
9 
10 #include <stdint.h>
11 
12 #include "hal/Types.h"
13 
20 // clang-format off
24 HAL_ENUM(HAL_AnalogTriggerType) {
25  HAL_Trigger_kInWindow = 0,
26  HAL_Trigger_kState = 1,
27  HAL_Trigger_kRisingPulse = 2,
28  HAL_Trigger_kFallingPulse = 3
29 };
30 // clang-format on
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
42 HAL_AnalogTriggerHandle HAL_InitializeAnalogTrigger(
43  HAL_AnalogInputHandle portHandle, int32_t* status);
44 
49 HAL_AnalogTriggerHandle HAL_InitializeAnalogTriggerDutyCycle(
50  HAL_DutyCycleHandle dutyCycleHandle, int32_t* status);
51 
57 void HAL_CleanAnalogTrigger(HAL_AnalogTriggerHandle analogTriggerHandle,
58  int32_t* status);
59 
70 void HAL_SetAnalogTriggerLimitsRaw(HAL_AnalogTriggerHandle analogTriggerHandle,
71  int32_t lower, int32_t upper,
72  int32_t* status);
73 
84  HAL_AnalogTriggerHandle analogTriggerHandle, double lower, double upper,
85  int32_t* status);
86 
87 void HAL_SetAnalogTriggerLimitsDutyCycle(
88  HAL_AnalogTriggerHandle analogTriggerHandle, double lower, double upper,
89  int32_t* status);
90 
103 void HAL_SetAnalogTriggerAveraged(HAL_AnalogTriggerHandle analogTriggerHandle,
104  HAL_Bool useAveragedValue, int32_t* status);
105 
119 void HAL_SetAnalogTriggerFiltered(HAL_AnalogTriggerHandle analogTriggerHandle,
120  HAL_Bool useFilteredValue, int32_t* status);
121 
131  HAL_AnalogTriggerHandle analogTriggerHandle, int32_t* status);
132 
144  HAL_AnalogTriggerHandle analogTriggerHandle, int32_t* status);
145 
153 HAL_Bool HAL_GetAnalogTriggerOutput(HAL_AnalogTriggerHandle analogTriggerHandle,
154  HAL_AnalogTriggerType type,
155  int32_t* status);
156 
164  HAL_AnalogTriggerHandle analogTriggerHandle, int32_t* status);
165 #ifdef __cplusplus
166 } // extern "C"
167 #endif
168 
HAL_SetAnalogTriggerLimitsVoltage
void HAL_SetAnalogTriggerLimitsVoltage(HAL_AnalogTriggerHandle analogTriggerHandle, double lower, double upper, int32_t *status)
Sets the upper and lower limits of the analog trigger.
HAL_CleanAnalogTrigger
void HAL_CleanAnalogTrigger(HAL_AnalogTriggerHandle analogTriggerHandle, int32_t *status)
Frees an analog trigger.
HAL_GetAnalogTriggerInWindow
HAL_Bool HAL_GetAnalogTriggerInWindow(HAL_AnalogTriggerHandle analogTriggerHandle, int32_t *status)
Returns the InWindow output of the analog trigger.
HAL_ENUM
HAL_ENUM(HAL_AnalogTriggerType)
The type of analog trigger to trigger on.
Definition: AnalogTrigger.h:24
HAL_GetAnalogTriggerFPGAIndex
int32_t HAL_GetAnalogTriggerFPGAIndex(HAL_AnalogTriggerHandle analogTriggerHandle, int32_t *status)
Get the FPGA index for the AnlogTrigger.
HAL_SetAnalogTriggerLimitsRaw
void HAL_SetAnalogTriggerLimitsRaw(HAL_AnalogTriggerHandle analogTriggerHandle, int32_t lower, int32_t upper, int32_t *status)
Sets the raw ADC upper and lower limits of the analog trigger.
HAL_InitializeAnalogTriggerDutyCycle
HAL_AnalogTriggerHandle HAL_InitializeAnalogTriggerDutyCycle(HAL_DutyCycleHandle dutyCycleHandle, int32_t *status)
Initializes an analog trigger with a Duty Cycle input.
HAL_SetAnalogTriggerFiltered
void HAL_SetAnalogTriggerFiltered(HAL_AnalogTriggerHandle analogTriggerHandle, HAL_Bool useFilteredValue, int32_t *status)
Configures the analog trigger to use a filtered value.
HAL_SetAnalogTriggerAveraged
void HAL_SetAnalogTriggerAveraged(HAL_AnalogTriggerHandle analogTriggerHandle, HAL_Bool useAveragedValue, int32_t *status)
Configures the analog trigger to use the averaged vs.
HAL_GetAnalogTriggerOutput
HAL_Bool HAL_GetAnalogTriggerOutput(HAL_AnalogTriggerHandle analogTriggerHandle, HAL_AnalogTriggerType type, int32_t *status)
Gets the state of the analog trigger output.
HAL_InitializeAnalogTrigger
HAL_AnalogTriggerHandle HAL_InitializeAnalogTrigger(HAL_AnalogInputHandle portHandle, int32_t *status)
Initializes an analog trigger.
HAL_GetAnalogTriggerTriggerState
HAL_Bool HAL_GetAnalogTriggerTriggerState(HAL_AnalogTriggerHandle analogTriggerHandle, int32_t *status)
Returns the TriggerState output of the analog trigger.