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 |
|---|---|---|---|---|---|
|
Controller |
||||
|
Module |
||||
|
Language |
||||
|
CANPlugin |
||||
|
Accelerometer |
Channel |
|
||
|
ADXL345 |
1: SPI, 2: I2C |
|||
|
AnalogChannel |
Channel |
|||
|
AnalogTrigger |
Channel |
|||
|
AnalogTriggerOutput |
Trigger Index |
|||
|
CANJaguar |
||||
|
Compressor |
PCM ID |
|||
|
Counter |
Index |
|||
|
Dashboard |
||||
|
DigitalInput |
Channel |
|||
|
DigitalOutput |
Channel |
|||
|
DriverStationCIO |
||||
|
DriverStationEIO |
||||
|
DriverStationLCD |
||||
|
Encoder |
FPGA Index |
0: 1X, 1: 2X, 2: 4X |
||
|
GearTooth |
Channel |
|
||
|
Gyro |
Channel |
|||
|
I2C |
Device Address |
|||
|
Framework |
||||
|
Jaguar |
Channel |
|||
|
Joystick |
Port |
|||
|
Kinect |
||||
|
KinectStick |
||||
|
PIDController |
Instance num (starting at 1) |
|||
|
Preferences |
|
|||
|
PWM |
Channel |
|||
|
Relay |
Channel, (+128 if reversable) |
|||
|
RobotDrive |
Num Motors |
|||
|
SerialPort |
0 |
|||
|
Servo |
Channel |
|||
|
Solenoid |
Channel |
|||
|
SPI |
Instance num (starting at 1) |
|||
|
Task |
||||
|
Ultrasonic |
Channel |
|||
|
Victor |
Channel |
|||
|
Button |
||||
|
Command |
1 (kCommandScheduler) |
|||
|
AxisCamera |
Handle |
|||
|
PCVideoServer |
Handle |
|||
|
SmartDashboard |
0 |
|||
|
Talon |
Channel |
|||
|
HiTechnicColorSensor |
||||
|
HiTechnicAccel |
||||
|
HiTechnicCompass |
||||
|
SRF08 AnalogOutput |
Channel |
|||
|
VictorSP PWMTalonSRX |
Channel Channel |
|||
|
CANTalonSRX |
Device ID + 1 |
|||
|
ADXL362 |
||||
|
ADXRS450 |
||||
|
RevSPARK |
Channel |
|||
|
MindsensorsSD540 |
Channel |
|||
|
DigitalFilter |
Channel |
|||
|
ADIS16448 |
||||
|
PDP |
||||
|
PCM |
||||
|
PigeonIMU |
Device ID + 1 |
|||
|
NidecBrushless |
Channel |
|||
|
CANifier |
Device ID + 1 |
|||
|
CTRE_future0 |
Talon device ID + 1 |
Pigeon IMU via Talon SRX |
||
|
CTRE_future1 |
Device ID + 1 |
Victor SPX |
||
|
CTRE_future2 |
Device ID + 1 |
WPI_TalonSRX |
||
|
CTRE_future3 |
Device ID + 1 |
WPI_VictorSPX |
||
|
CTRE_future4 |
||||
|
CTRE_future5 |
||||
|
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 |
|---|---|
|
Magic String? (Not an I2C at least) |
|
Compressor (PCM 0) |
|
Digital Input (Channel 0) |
|
Joystick (Port 0) |
|
Preferences |
|
Solenoid (Channel 0) |
|
PCVideoServer (Handle 0) |
|
SmartDashboard |
|
Digital Input (Channel 1) |
|
Framework (Iterative) |
|
Joystick (Port 1) |
|
PID Controller (#1) |
|
Solenoid (Channel 1) |
|
SPI (#1) |
|
Command |
|
PCVideoServer (Handle 1) |
|
Language (C++) |
|
Solenoid (Channel 2) |
|
Solenoid (Channel 3) |
|
Controller (RoboRIO probably) |
|
CANTalonSRX (ID 31) |
|
CTRE_future2 (ID 31) |
|
CANTalonSRX (ID 32) |
|
CTRE_future2 (ID 32) |
|
CANTalonSRX (ID 33) |
|
CTRE_future2 (ID 33) |
|
CANTalonSRX (ID 34) |
|
CTRE_future2 (ID 34) |
|
CANTalonSRX (ID 35) |
|
CTRE_future2 (ID 35) |
|
CANTalonSRX (ID 36) |
|
CTRE_future2 (ID 36) |
|
Robot Drive (2 motors, ArcadeStandard) |
|
Encoder (FPGA Index 0, 4X) |