Usage Reporting¶
Format¶
Not quite sure what happens if the “feature” has a parentheses in it.
BNF¶
(..ish. Too lazy to make it actually proper)
<extended> ::= ">" | ""
<type> ::= <letter>
<instance> ::= <integer>
<context> ::= <integer>
<feature> ::= <text>
<opt-context> ::= "" | ":" <integer>
<opt-feature> :: "" | "(" <feature> ")"
<entry> ::= <extended> <type> <instance> <opt-context> <opt-feature>
<entry-list> ::= <entry> | <entry> <entry-list>
<report> ::= "V1" <entry-list>
PCRE¶
(?'extended'>)?(?'type'[A-Za-z])(?'instance'\d+)(?::(?'context'\d+))?(?:\((?'feature'.*?)\))
Entries¶
Entries with blank instances are either unused, or reported by an external library
Letter | Resource | Instance | Context | Feature | Comments |
---|---|---|---|---|---|
A |
Controller | ||||
B |
Module | ||||
C |
Language | Language Type | |||
D |
CANPlugin | ||||
E |
Accelerometer | Channel | Built-in accelerometer if using the built-in one |
||
F |
ADXL345 | 1: SPI, 2: I2C | |||
G |
AnalogChannel | Channel | |||
H |
AnalogTrigger | Channel | |||
I |
AnalogTriggerOutput | Trigger Index | Trigger Type | ||
J |
CANJaguar | ||||
K |
Compressor | PCM ID | |||
L |
Counter | Index | Counter Mode | ||
M |
Dashboard | ||||
N |
DigitalInput | Channel | |||
O |
DigitalOutput | Channel | |||
P |
DriverStationCIO | ||||
Q |
DriverStationEIO | ||||
R |
DriverStationLCD | ||||
S |
Encoder | FPGA Index | 0: 1X, 1: 2X, 2: 4X | ||
T |
GearTooth | Channel | D if direction sensitive. Not used in C++, is just a counter |
||
U |
Gyro | Channel | |||
V |
I2C | Device Address | |||
W |
Framework | Framework Type | |||
X |
Jaguar | Channel | |||
Y |
Joystick | Port | |||
Z |
Kinect | ||||
a |
KinectStick | ||||
b |
PIDController | Instance num (starting at 1) | |||
c |
Preferences | 0 |
|||
d |
PWM | Channel | |||
e |
Relay | Channel, (+128 if reversable) | |||
f |
RobotDrive | Num Motors | Drive Type | ||
g |
SerialPort | 0 | |||
h |
Servo | Channel | |||
i |
Solenoid | Channel | |||
j |
SPI | Instance num (starting at 1) | |||
k |
Task | ||||
l |
Ultrasonic | Channel | |||
m |
Victor | Channel | |||
n |
Button | ||||
o |
Command | 1 (kCommandScheduler) | |||
p |
AxisCamera | Handle | |||
q |
PCVideoServer | Handle | |||
r |
SmartDashboard | 0 | |||
s |
Talon | Channel | |||
t |
HiTechnicColorSensor | ||||
u |
HiTechnicAccel | ||||
v |
HiTechnicCompass | ||||
w
x |
SRF08 AnalogOutput | Channel | |||
y
z |
VictorSP PWMTalonSRX | Channel Channel | |||
>A |
CANTalonSRX | Device ID + 1 | |||
>B |
ADXL362 | SPI Port | |||
>C |
ADXRS450 | SPI Port | |||
>D |
RevSPARK | Channel | |||
>E |
MindsensorsSD540 | Channel | |||
>F |
DigitalFilter | Channel | |||
>G |
ADIS16448 | ||||
>H |
PDP | ||||
>I |
PCM | ||||
>J |
PigeonIMU | Device ID + 1 | |||
>K |
NidecBrushless | Channel | |||
>L |
CANifier | Device ID + 1 | |||
>M |
CTRE_future0 | Talon device ID + 1 | Pigeon IMU via Talon SRX | ||
>N |
CTRE_future1 | Device ID + 1 | Victor SPX | ||
>O |
CTRE_future2 | Device ID + 1 | WPI_TalonSRX | ||
>P |
CTRE_future3 | Device ID + 1 | WPI_VictorSPX | ||
>Q |
CTRE_future4 | ||||
>R |
CTRE_future5 | ||||
>S |
CTRE_future6 |
Language¶
ID | Language |
---|---|
1 | LabVIEW |
2 | CPlusPlus |
3 | Java |
4 | Python |
5 | DotNet |
Trigger Type¶
ID | Type |
---|---|
0 | InWindow |
1 | State |
2 | RisingPulse |
3 | FallingPulse |
Counter Mode¶
ID | Mode |
---|---|
0 | TwoPulse |
1 | Semiperiod |
2 | PulseLength |
3 | ExternalDirection |
Framework¶
ID | Framework |
---|---|
1 | Iterative |
2 | Simple |
3 | CommandControl |
Robot Drive Type¶
ID | Type |
---|---|
1 | ArcadeStandard |
2 | ArcadeButtonSpin |
3 | ArcadeRatioCurve |
4 | Tank |
5 | MecanumPolar |
6 | MecanumCartesian |
SPI Port¶
ID | Port |
---|---|
0 | OnboardCS0 |
1 | OnboardCS1 |
2 | OnboardCS2 |
3 | OnboardCS3 |
4 | MXP |
Example¶
V1K0N0Y0c0i0q0r0N1W1Y1b1i1j1o1q1C2i2i3A4>A31>O31>A32>O32>A33>O33>A34>O34>A35>O35>A36>O36f2:1S0:2
Entry | Description |
---|---|
V1 |
Magic String? (Not an I2C at least) |
K0 |
Compressor (PCM 0) |
N0 |
Digital Input (Channel 0) |
Y0 |
Joystick (Port 0) |
c0 |
Preferences |
i0 |
Solenoid (Channel 0) |
q0 |
PCVideoServer (Handle 0) |
r0 |
SmartDashboard |
N1 |
Digital Input (Channel 1) |
W1 |
Framework (Iterative) |
Y1 |
Joystick (Port 1) |
b1 |
PID Controller (#1) |
i1 |
Solenoid (Channel 1) |
j1 |
SPI (#1) |
o1 |
Command |
q1 |
PCVideoServer (Handle 1) |
C2 |
Language (C++) |
i2 |
Solenoid (Channel 2) |
i3 |
Solenoid (Channel 3) |
A4 |
Controller (RoboRIO probably) |
>A31 |
CANTalonSRX (ID 31) |
>O31 |
CTRE_future2 (ID 31) |
>A32 |
CANTalonSRX (ID 32) |
>O32 |
CTRE_future2 (ID 32) |
>A33 |
CANTalonSRX (ID 33) |
>O33 |
CTRE_future2 (ID 33) |
>A34 |
CANTalonSRX (ID 34) |
>O34 |
CTRE_future2 (ID 34) |
>A35 |
CANTalonSRX (ID 35) |
>O35 |
CTRE_future2 (ID 35) |
>A36 |
CANTalonSRX (ID 36) |
>O36 |
CTRE_future2 (ID 36) |
f2:1 |
Robot Drive (2 motors, ArcadeStandard) |
S0:2 |
Encoder (FPGA Index 0, 4X) |