|
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