WPILibC++ 2025.2.1
Loading...
Searching...
No Matches
DriverStationTypes.h
Go to the documentation of this file.
1// Copyright (c) FIRST and other WPILib contributors.
2// Open Source Software; you can modify and/or share it under the terms of
3// the WPILib BSD license file in the root directory of this project.
4
5#pragma once
6
7#include <stdint.h>
8
9#include "hal/Types.h"
10
11/**
12 * @defgroup hal_driverstation Driver Station Functions
13 * @ingroup hal_capi
14 * @{
15 */
16
17#define HAL_IO_CONFIG_DATA_SIZE 32
18#define HAL_SYS_STATUS_DATA_SIZE 44
19#define HAL_USER_STATUS_DATA_SIZE \
20 (984 - HAL_IO_CONFIG_DATA_SIZE - HAL_SYS_STATUS_DATA_SIZE)
21
22#define HALFRC_NetworkCommunication_DynamicType_DSEnhancedIO_Input 17
23#define HALFRC_NetworkCommunication_DynamicType_DSEnhancedIO_Output 18
24#define HALFRC_NetworkCommunication_DynamicType_Kinect_Header 19
25#define HALFRC_NetworkCommunication_DynamicType_Kinect_Extra1 20
26#define HALFRC_NetworkCommunication_DynamicType_Kinect_Vertices1 21
27#define HALFRC_NetworkCommunication_DynamicType_Kinect_Extra2 22
28#define HALFRC_NetworkCommunication_DynamicType_Kinect_Vertices2 23
29#define HALFRC_NetworkCommunication_DynamicType_Kinect_Joystick 24
30#define HALFRC_NetworkCommunication_DynamicType_Kinect_Custom 25
31
33 uint32_t enabled : 1;
34 uint32_t autonomous : 1;
35 uint32_t test : 1;
36 uint32_t eStop : 1;
37 uint32_t fmsAttached : 1;
38 uint32_t dsAttached : 1;
39 uint32_t control_reserved : 26;
40};
42
44 /** Unknown Alliance Station */
46 /** Red Alliance Station 1 */
48 /** Red Alliance Station 2 */
50 /** Red Alliance Station 3 */
52 /** Blue Alliance Station 1 */
54 /** Blue Alliance Station 2 */
56 /** Blue Alliance Station 3 */
58};
59
66
67/**
68 * The maximum number of axes that will be stored in a single HAL_JoystickAxes
69 * struct. This is used for allocating buffers, not bounds checking, since there
70 * are usually less axes in practice.
71 */
72#define HAL_kMaxJoystickAxes 12
73/**
74 * The maximum number of POVs that will be stored in a single HAL_JoystickPOVs
75 * struct. This is used for allocating buffers, not bounds checking, since there
76 * are usually less POVs in practice.
77 */
78#define HAL_kMaxJoystickPOVs 12
79/**
80 * The maximum number of joysticks.
81 */
82#define HAL_kMaxJoysticks 6
83
90
92 int16_t count;
94};
96
98 uint32_t buttons;
99 uint8_t count;
100};
102
104 uint8_t isXbox;
105 uint8_t type;
106 char name[256];
107 uint8_t axisCount;
109 uint8_t buttonCount;
110 uint8_t povCount;
111};
113
123/** @} */
#define HAL_kMaxJoystickPOVs
The maximum number of POVs that will be stored in a single HAL_JoystickPOVs struct.
Definition DriverStationTypes.h:78
HAL_MatchType
Definition DriverStationTypes.h:60
#define HAL_kMaxJoystickAxes
The maximum number of axes that will be stored in a single HAL_JoystickAxes struct.
Definition DriverStationTypes.h:72
HAL_AllianceStationID
Definition DriverStationTypes.h:43
@ HAL_kMatchType_none
Definition DriverStationTypes.h:61
@ HAL_kMatchType_elimination
Definition DriverStationTypes.h:64
@ HAL_kMatchType_practice
Definition DriverStationTypes.h:62
@ HAL_kMatchType_qualification
Definition DriverStationTypes.h:63
@ HAL_AllianceStationID_kBlue2
Blue Alliance Station 2.
Definition DriverStationTypes.h:55
@ HAL_AllianceStationID_kBlue1
Blue Alliance Station 1.
Definition DriverStationTypes.h:53
@ HAL_AllianceStationID_kRed2
Red Alliance Station 2.
Definition DriverStationTypes.h:49
@ HAL_AllianceStationID_kBlue3
Blue Alliance Station 3.
Definition DriverStationTypes.h:57
@ HAL_AllianceStationID_kUnknown
Unknown Alliance Station.
Definition DriverStationTypes.h:45
@ HAL_AllianceStationID_kRed3
Red Alliance Station 3.
Definition DriverStationTypes.h:51
@ HAL_AllianceStationID_kRed1
Red Alliance Station 1.
Definition DriverStationTypes.h:47
#define HAL_ENUM(name)
Definition Types.h:76
Definition DriverStationTypes.h:32
uint32_t enabled
Definition DriverStationTypes.h:33
uint32_t dsAttached
Definition DriverStationTypes.h:38
uint32_t eStop
Definition DriverStationTypes.h:36
uint32_t autonomous
Definition DriverStationTypes.h:34
uint32_t test
Definition DriverStationTypes.h:35
uint32_t control_reserved
Definition DriverStationTypes.h:39
uint32_t fmsAttached
Definition DriverStationTypes.h:37
Definition DriverStationTypes.h:84
uint8_t raw[HAL_kMaxJoystickAxes]
Definition DriverStationTypes.h:87
int16_t count
Definition DriverStationTypes.h:85
float axes[HAL_kMaxJoystickAxes]
Definition DriverStationTypes.h:86
Definition DriverStationTypes.h:97
uint32_t buttons
Definition DriverStationTypes.h:98
uint8_t count
Definition DriverStationTypes.h:99
Definition DriverStationTypes.h:103
uint8_t type
Definition DriverStationTypes.h:105
uint8_t povCount
Definition DriverStationTypes.h:110
uint8_t axisTypes[HAL_kMaxJoystickAxes]
Definition DriverStationTypes.h:108
uint8_t axisCount
Definition DriverStationTypes.h:107
uint8_t buttonCount
Definition DriverStationTypes.h:109
uint8_t isXbox
Definition DriverStationTypes.h:104
Definition DriverStationTypes.h:91
int16_t count
Definition DriverStationTypes.h:92
int16_t povs[HAL_kMaxJoystickPOVs]
Definition DriverStationTypes.h:93
Definition DriverStationTypes.h:114
uint16_t gameSpecificMessageSize
Definition DriverStationTypes.h:120
uint8_t gameSpecificMessage[64]
Definition DriverStationTypes.h:119
char eventName[64]
Definition DriverStationTypes.h:115
uint16_t matchNumber
Definition DriverStationTypes.h:117
HAL_MatchType matchType
Definition DriverStationTypes.h:116
uint8_t replayNumber
Definition DriverStationTypes.h:118