|
1 | 1 | #pragma once
|
2 | 2 |
|
| 3 | +/* If you are linking Phoenix on a platform that is *not* the NI RoboRIO, |
| 4 | + * define Phoenix_No_WPI before the Phoenix.h include. |
| 5 | + * The Phoenix WPI extensions are only available on roboRIO. |
| 6 | + * This is necessary if compiling on RaspberryPi, Jetson, Linux-Desktop, etc. |
| 7 | + */ |
3 | 8 | #ifndef Phoenix_No_WPI
|
4 | 9 | #define Phoenix_WPI
|
5 | 10 | #endif
|
|
12 | 17 | #include "ctre/phoenix/motion/BufferedTrajectoryPointStream.h"
|
13 | 18 | #include "ctre/phoenix/motion/MotionProfileStatus.h"
|
14 | 19 | #include "ctre/phoenix/motion/TrajectoryPoint.h"
|
| 20 | +#include "ctre/phoenix/motorcontrol/can/TalonFX.h" |
15 | 21 | #include "ctre/phoenix/motorcontrol/can/TalonSRX.h"
|
16 | 22 | #include "ctre/phoenix/motorcontrol/can/VictorSPX.h"
|
17 | 23 | #include "ctre/phoenix/motorcontrol/DemandType.h"
|
|
21 | 27 | #include "ctre/phoenix/motorcontrol/IMotorControllerEnhanced.h"
|
22 | 28 | #include "ctre/phoenix/motorcontrol/InvertType.h"
|
23 | 29 | #include "ctre/phoenix/motorcontrol/SensorCollection.h"
|
| 30 | +#include "ctre/phoenix/music/Orchestra.h" |
| 31 | +#include "ctre/phoenix/sensors/CANCoder.h" |
24 | 32 | #include "ctre/phoenix/sensors/PigeonIMU.h"
|
25 | 33 | #include "ctre/phoenix/signals/MovingAverage.h"
|
26 |
| -#include "ctre/phoenix/tasking/schedulers/ConcurrentScheduler.h" |
| 34 | +#include "ctre/phoenix/tasking/Schedulers/ConcurrentScheduler.h" |
27 | 35 | #include "ctre/phoenix/tasking/ILoopable.h"
|
28 | 36 | #include "ctre/phoenix/tasking/IProcessable.h"
|
29 | 37 | #include "ctre/phoenix/Utilities.h"
|
30 | 38 |
|
31 | 39 | #ifdef Phoenix_WPI
|
| 40 | +#include "ctre/phoenix/motorcontrol/can/WPI_TalonFX.h" |
32 | 41 | #include "ctre/phoenix/motorcontrol/can/WPI_TalonSRX.h"
|
33 | 42 | #include "ctre/phoenix/motorcontrol/can/WPI_VictorSPX.h"
|
34 | 43 | #include "ctre/phoenix/tasking/ButtonMonitor.h"
|
35 | 44 | #endif
|
36 | 45 |
|
| 46 | +/* |
| 47 | + * In general it is bad-practice to include namespaces in a C++ header, as this |
| 48 | + * can cause a name conflict with other types in other modules. |
| 49 | + * |
| 50 | + * However doing so allows users to quickly start developing with the Phoenix class library |
| 51 | + * with a single include "Phoenix.h", without having to learn the various namespaces. |
| 52 | + * This is particularly useful for aspiring student-programmers who may not understand all of the language features yet. |
| 53 | + * |
| 54 | + * Those who understand the benefits of namespaces can instead include the core headers (above) |
| 55 | + * or modify this header if proper namespace-scoping is required. |
| 56 | + */ |
37 | 57 | using namespace ctre;
|
38 | 58 | using namespace ctre::phoenix;
|
39 | 59 | using namespace ctre::phoenix::motion;
|
40 | 60 | using namespace ctre::phoenix::motorcontrol;
|
41 | 61 | using namespace ctre::phoenix::motorcontrol::can;
|
| 62 | +using namespace ctre::phoenix::music; |
42 | 63 | using namespace ctre::phoenix::sensors;
|
43 | 64 | using namespace ctre::phoenix::signals;
|
44 | 65 | using namespace ctre::phoenix::tasking;
|
|
0 commit comments