mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-28 02:11:43 +00:00
The 2019 FPGA image switched the output of auto SPI from plain bytes to a sequence of 32-bit words (timestamp, then words with the byte values in the least significant byte of each word). In addition to changing the HAL and simulators to reflect this, add piecewise integration support to wpilibc/wpilibj SPI to take advantage of the timestamps and use it in the ADXRS450 gyro.
54 lines
2.2 KiB
C
54 lines
2.2 KiB
C
/*----------------------------------------------------------------------------*/
|
|
/* Copyright (c) 2017-2018 FIRST. 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
|
|
|
|
#ifndef __FRC_ROBORIO__
|
|
|
|
#include "NotifyListener.h"
|
|
#include "hal/Types.h"
|
|
|
|
typedef void (*HAL_SpiReadAutoReceiveBufferCallback)(const char* name,
|
|
void* param,
|
|
uint32_t* buffer,
|
|
int32_t numToRead,
|
|
int32_t* outputCount);
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
void HALSIM_ResetSPIData(int32_t index);
|
|
|
|
int32_t HALSIM_RegisterSPIInitializedCallback(int32_t index,
|
|
HAL_NotifyCallback callback,
|
|
void* param,
|
|
HAL_Bool initialNotify);
|
|
void HALSIM_CancelSPIInitializedCallback(int32_t index, int32_t uid);
|
|
HAL_Bool HALSIM_GetSPIInitialized(int32_t index);
|
|
void HALSIM_SetSPIInitialized(int32_t index, HAL_Bool initialized);
|
|
|
|
int32_t HALSIM_RegisterSPIReadCallback(int32_t index,
|
|
HAL_BufferCallback callback,
|
|
void* param);
|
|
void HALSIM_CancelSPIReadCallback(int32_t index, int32_t uid);
|
|
|
|
int32_t HALSIM_RegisterSPIWriteCallback(int32_t index,
|
|
HAL_ConstBufferCallback callback,
|
|
void* param);
|
|
void HALSIM_CancelSPIWriteCallback(int32_t index, int32_t uid);
|
|
|
|
int32_t HALSIM_RegisterSPIReadAutoReceivedDataCallback(
|
|
int32_t index, HAL_SpiReadAutoReceiveBufferCallback callback, void* param);
|
|
void HALSIM_CancelSPIReadAutoReceivedDataCallback(int32_t index, int32_t uid);
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif
|
|
|
|
#endif
|