2016-05-25 20:23:37 -07:00
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
/* 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. */
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
2016-05-24 00:58:10 -07:00
|
|
|
#pragma once
|
2016-05-25 22:38:11 -07:00
|
|
|
|
2016-05-24 00:58:10 -07:00
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
|
|
extern "C" {
|
|
|
|
|
void spiInitAccumulator(uint8_t port, uint32_t period, uint32_t cmd,
|
|
|
|
|
uint8_t xfer_size, uint32_t valid_mask,
|
|
|
|
|
uint32_t valid_value, uint8_t data_shift,
|
|
|
|
|
uint8_t data_size, bool is_signed, bool big_endian,
|
|
|
|
|
int32_t* status);
|
|
|
|
|
void spiFreeAccumulator(uint8_t port, int32_t* status);
|
|
|
|
|
void spiResetAccumulator(uint8_t port, int32_t* status);
|
|
|
|
|
void spiSetAccumulatorCenter(uint8_t port, int32_t center, int32_t* status);
|
|
|
|
|
void spiSetAccumulatorDeadband(uint8_t port, int32_t deadband, int32_t* status);
|
|
|
|
|
int32_t spiGetAccumulatorLastValue(uint8_t port, int32_t* status);
|
|
|
|
|
int64_t spiGetAccumulatorValue(uint8_t port, int32_t* status);
|
|
|
|
|
uint32_t spiGetAccumulatorCount(uint8_t port, int32_t* status);
|
|
|
|
|
double spiGetAccumulatorAverage(uint8_t port, int32_t* status);
|
|
|
|
|
void spiGetAccumulatorOutput(uint8_t port, int64_t* value, uint32_t* count,
|
|
|
|
|
int32_t* status);
|
|
|
|
|
}
|