12 #include "hal/AnalogTrigger.h"
13 #include "hal/Types.h"
19 HAL_ENUM(HAL_DMAReadStatus ) {
27 uint32_t readBuffer[74];
28 int32_t channelOffsets[22];
31 uint8_t triggerChannels;
38 HAL_DMAHandle HAL_InitializeDMA(int32_t* status);
39 void HAL_FreeDMA(HAL_DMAHandle handle);
41 void HAL_SetDMAPause(HAL_DMAHandle handle, HAL_Bool pause, int32_t* status);
42 void HAL_SetDMARate(HAL_DMAHandle handle, int32_t cycles, int32_t* status);
44 void HAL_AddDMAEncoder(HAL_DMAHandle handle, HAL_EncoderHandle encoderHandle,
46 void HAL_AddDMAEncoderPeriod(HAL_DMAHandle handle,
47 HAL_EncoderHandle encoderHandle, int32_t* status);
48 void HAL_AddDMACounter(HAL_DMAHandle handle, HAL_CounterHandle counterHandle,
50 void HAL_AddDMACounterPeriod(HAL_DMAHandle handle,
51 HAL_CounterHandle counterHandle, int32_t* status);
52 void HAL_AddDMADigitalSource(HAL_DMAHandle handle,
53 HAL_Handle digitalSourceHandle, int32_t* status);
54 void HAL_AddDMAAnalogInput(HAL_DMAHandle handle,
55 HAL_AnalogInputHandle aInHandle, int32_t* status);
57 void HAL_AddDMAAveragedAnalogInput(HAL_DMAHandle handle,
58 HAL_AnalogInputHandle aInHandle,
61 void HAL_AddDMAAnalogAccumulator(HAL_DMAHandle handle,
62 HAL_AnalogInputHandle aInHandle,
65 void HAL_AddDMADutyCycle(HAL_DMAHandle handle,
66 HAL_DutyCycleHandle dutyCycleHandle, int32_t* status);
68 void HAL_SetDMAExternalTrigger(HAL_DMAHandle handle,
69 HAL_Handle digitalSourceHandle,
70 HAL_AnalogTriggerType analogTriggerType,
71 HAL_Bool rising, HAL_Bool falling,
74 void HAL_StartDMA(HAL_DMAHandle handle, int32_t queueDepth, int32_t* status);
75 void HAL_StopDMA(HAL_DMAHandle handle, int32_t* status);
77 void* HAL_GetDMADirectPointer(HAL_DMAHandle handle);
79 enum HAL_DMAReadStatus HAL_ReadDMADirect(
void* dmaPointer,
82 int32_t* remainingOut,
85 enum HAL_DMAReadStatus HAL_ReadDMA(HAL_DMAHandle handle,
87 int32_t* remainingOut, int32_t* status);
90 uint64_t HAL_GetDMASampleTime(
const HAL_DMASample* dmaSample, int32_t* status);
92 int32_t HAL_GetDMASampleEncoderRaw(
const HAL_DMASample* dmaSample,
93 HAL_EncoderHandle encoderHandle,
96 int32_t HAL_GetDMASampleCounter(
const HAL_DMASample* dmaSample,
97 HAL_CounterHandle counterHandle,
100 int32_t HAL_GetDMASampleEncoderPeriodRaw(
const HAL_DMASample* dmaSample,
101 HAL_EncoderHandle encoderHandle,
104 int32_t HAL_GetDMASampleCounterPeriod(
const HAL_DMASample* dmaSample,
105 HAL_CounterHandle counterHandle,
107 HAL_Bool HAL_GetDMASampleDigitalSource(
const HAL_DMASample* dmaSample,
108 HAL_Handle dSourceHandle,
110 int32_t HAL_GetDMASampleAnalogInputRaw(
const HAL_DMASample* dmaSample,
111 HAL_AnalogInputHandle aInHandle,
114 int32_t HAL_GetDMASampleAveragedAnalogInputRaw(
const HAL_DMASample* dmaSample,
115 HAL_AnalogInputHandle aInHandle,
118 void HAL_GetDMASampleAnalogAccumulator(
const HAL_DMASample* dmaSample,
119 HAL_AnalogInputHandle aInHandle,
120 int64_t* count, int64_t* value,
123 int32_t HAL_GetDMASampleDutyCycleOutputRaw(
const HAL_DMASample* dmaSample,
124 HAL_DutyCycleHandle dutyCycleHandle,