|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools |
Rating:
|
Display Modes |
|
|
|
#1
|
|||
|
|||
|
New version of the WPILib Cookbook posted
There is a new version of the Robot Programming Cookbook posted on the WPILib project under the documents section. The example is (hopefully) substantially cleaned up. And it has a new section on writing command-based programs in C++ with a fairly extensive tutorial. I would highly encourage teams using Java to check it out. It makes writing complex robot programs much simpler and provides a "cookbook" method of organizing your code.
http://firstforge.wpi.edu/sf/docman/..._documentation In addition there is a sample program called GearsBot provided with Netbeans that illustrates the features as a sample. It is a much more complex robot with PID Subsystems and a fairly complex autonomous program. The version posted has a typo in it, so after you create the sample, just delete the line with the error in it that says: Subsystem.registerDefaultCommands(); then it will be identical to the code we used in the Kickoff Workshop talk. Brad |
|
#2
|
||||
|
||||
|
Re: New version of the WPILib Cookbook posted
Thanks for this cookbook... it has helped us tremendously.
One question... in the example Command described, you get various subsystems using [Subsystem].getInstance(). In the Subsystem class there is not a static instance member, rather it is in the CommandBase. Do you recommend putting the static instance in the CommandBase or putting it in the Subsystem and writing a GetInstance() method on the Subsystem? Sample below. public class DriveWithJoystick extends CommandBase { Chassis m_chassis; public DriveWithJoystick() { m_chassis = Chassis.getInstance(); // not available... requires(m_chassis); // reserve the chassis subsystem } |
|
#3
|
|||
|
|||
|
Re: New version of the WPILib Cookbook posted
Quote:
Brad |
|
#4
|
|||
|
|||
|
Re: New version of the WPILib Cookbook posted
Quote:
- Oliver |
|
#5
|
|||
|
|||
|
Re: New version of the WPILib Cookbook posted
Does the command based coding style work with c++? We got to the requires() part, and it says that Error: requires() undeclared. It is not recognizing it as a function. Do you know why? It works in the ExampleCommand.cpp, but not when I make my own DriveCommand.cpp.
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|