Here's some code and expected versus actual results. I'm confident that WPILib would benefit from an update.
The Test Code
Code:
MyRobot::RobotInit()
{
//
// The class called "MySubsystem" derives from Subsystem and calls the
// parent class constructor, with a Subsystem name of "MySusbsystem"
//
Subsystem* p_subsystem = new MySubsystem();
//
// This code prints the name of the newly-created subsystem to the
// DriverStationLCD.
//
DriverStationLCD* p_driver_station_lcd = DriverStationLCD::GetInstance();
p_driver_station_lcd->PrintfLine(DriverStationLCD::kUser_Line1, "%s", p_subsystem->GetName().c_str() );
p_driver_station_lcd->UpdateLCD();
}
The Expected Result
After I compile this code and download it to the cRIO, I expect the DriverStationLCD to have a single line of text showing "MySubsystem".
The Actual Result
Instead, I see "Subsystem". If I change the name of the passed-in subsystem name to anything else, I always see "Subsystem" as the returned string.
My Suspicion
Subsystem::GetName() is returning a hard-coded value and not the user-provided name.
Please provide an update to the WPILib that solves this problem
