WPILibC++ 2025.0.0-alpha-1-9-ga2beb75
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
51};
52
58};
59
60/* The maximum number of axes that will be stored in a single HALJoystickAxes
61 * struct. This is used for allocating buffers, not bounds checking, since
62 * there are usually less axes in practice.
63 */
64#define HAL_kMaxJoystickAxes 12
65#define HAL_kMaxJoystickPOVs 12
66#define HAL_kMaxJoysticks 6
67
69 int16_t count;
72};
74
76 int16_t count;
78};
80
82 uint32_t buttons;
83 uint8_t count;
84};
86
88 uint8_t isXbox;
89 uint8_t type;
90 char name[256];
91 uint8_t axisCount;
93 uint8_t buttonCount;
94 uint8_t povCount;
95};
97
99 char eventName[64];
101 uint16_t matchNumber;
105};
107/** @} */
@ HAL_ENUM
Definition: Value.h:14
#define HAL_kMaxJoystickPOVs
Definition: DriverStationTypes.h:65
HAL_MatchType
Definition: DriverStationTypes.h:53
#define HAL_kMaxJoystickAxes
Definition: DriverStationTypes.h:64
HAL_AllianceStationID
Definition: DriverStationTypes.h:43
@ HAL_kMatchType_none
Definition: DriverStationTypes.h:54
@ HAL_kMatchType_elimination
Definition: DriverStationTypes.h:57
@ HAL_kMatchType_practice
Definition: DriverStationTypes.h:55
@ HAL_kMatchType_qualification
Definition: DriverStationTypes.h:56
@ HAL_AllianceStationID_kBlue2
Definition: DriverStationTypes.h:49
@ HAL_AllianceStationID_kBlue1
Definition: DriverStationTypes.h:48
@ HAL_AllianceStationID_kRed2
Definition: DriverStationTypes.h:46
@ HAL_AllianceStationID_kBlue3
Definition: DriverStationTypes.h:50
@ HAL_AllianceStationID_kUnknown
Definition: DriverStationTypes.h:44
@ HAL_AllianceStationID_kRed3
Definition: DriverStationTypes.h:47
@ HAL_AllianceStationID_kRed1
Definition: DriverStationTypes.h:45
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:68
uint8_t raw[HAL_kMaxJoystickAxes]
Definition: DriverStationTypes.h:71
int16_t count
Definition: DriverStationTypes.h:69
float axes[HAL_kMaxJoystickAxes]
Definition: DriverStationTypes.h:70
Definition: DriverStationTypes.h:81
uint32_t buttons
Definition: DriverStationTypes.h:82
uint8_t count
Definition: DriverStationTypes.h:83
Definition: DriverStationTypes.h:87
uint8_t type
Definition: DriverStationTypes.h:89
uint8_t povCount
Definition: DriverStationTypes.h:94
uint8_t axisTypes[HAL_kMaxJoystickAxes]
Definition: DriverStationTypes.h:92
uint8_t axisCount
Definition: DriverStationTypes.h:91
char name[256]
Definition: DriverStationTypes.h:90
uint8_t buttonCount
Definition: DriverStationTypes.h:93
uint8_t isXbox
Definition: DriverStationTypes.h:88
Definition: DriverStationTypes.h:75
int16_t count
Definition: DriverStationTypes.h:76
int16_t povs[HAL_kMaxJoystickPOVs]
Definition: DriverStationTypes.h:77
Definition: DriverStationTypes.h:98
uint16_t gameSpecificMessageSize
Definition: DriverStationTypes.h:104
uint8_t gameSpecificMessage[64]
Definition: DriverStationTypes.h:103
char eventName[64]
Definition: DriverStationTypes.h:99
uint16_t matchNumber
Definition: DriverStationTypes.h:101
HAL_MatchType matchType
Definition: DriverStationTypes.h:100
uint8_t replayNumber
Definition: DriverStationTypes.h:102