1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.
#pragma once
#include "hal/Types.h"
/**
* @defgroup hal_accelerometer Accelerometer Functions
* @ingroup hal_capi
* @{
*/
/**
* The acceptable accelerometer ranges.
*/
HAL_ENUM(HAL_AccelerometerRange) {
HAL_AccelerometerRange_k2G = 0,
HAL_AccelerometerRange_k4G = 1,
HAL_AccelerometerRange_k8G = 2,
};
#ifdef __cplusplus
extern "C" {
#endif
/**
* Sets the accelerometer to active or standby mode.
*
* It must be in standby mode to change any configuration.
*
* @param active true to set to active, false for standby
*/
void HAL_SetAccelerometerActive(HAL_Bool active);
/**
* Sets the range of values that can be measured (either 2, 4, or 8 g-forces).
*
* The accelerometer should be in standby mode when this is called.
*
* @param range the accelerometer range
*/
void HAL_SetAccelerometerRange(HAL_AccelerometerRange range);
/**
* Gets the x-axis acceleration.
*
* This is a floating point value in units of 1 g-force.
*
* @return the X acceleration
*/
double HAL_GetAccelerometerX(void);
/**
* Gets the y-axis acceleration.
*
* This is a floating point value in units of 1 g-force.
*
* @return the Y acceleration
*/
double HAL_GetAccelerometerY(void);
/**
* Gets the z-axis acceleration.
*
* This is a floating point value in units of 1 g-force.
*
* @return the Z acceleration
*/
double HAL_GetAccelerometerZ(void);
#ifdef __cplusplus
} // extern "C"
/** @} */
#endif