diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/resources/templates/examples/CANTalon/src/Robot.cpp b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/resources/templates/examples/CANTalon/src/Robot.cpp
new file mode 100644
index 0000000000..fe8c51f036
--- /dev/null
+++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/resources/templates/examples/CANTalon/src/Robot.cpp
@@ -0,0 +1,36 @@
+#include "WPILib.h"
+
+/**
+ * This is a quick sample program to show how to use the new Talon SRX over CAN.
+ * As of the time of this writing (11/20/14), the only mode supported on the SRX is the
+ * straight-up throttle (status info, such as current and temperature should work).
+ *
+ */
+class Robot : public SampleRobot {
+ CANTalon m_motor;
+
+ // update every 0.005 seconds/5 milliseconds.
+ double kUpdatePeriod = 0.005;
+
+public:
+ Robot()
+ : m_motor(1) // Initialize the Talon as device 1. Use the roboRIO web
+ // interface to change the device number on the talons.
+ {}
+
+ /**
+ * Runs the motor from the output of a Joystick.
+ */
+ void OperatorControl() {
+ talon.EnableControl();
+ while (IsOperatorControl() && IsEnabled()) {
+ // Takes a number from -1.0 (full reverse) to +1.0 (full forwards).
+ m_motor.Set(0.5);
+
+ Wait(kUpdatePeriod); // Wait 5ms for the next update.
+ }
+ m_motor.Set(0.0);
+ }
+};
+
+START_ROBOT_CLASS(Robot);
diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/resources/templates/examples/examples.xml b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/resources/templates/examples/examples.xml
index 84261e94df..4a47e68a18 100644
--- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/resources/templates/examples/examples.xml
+++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/resources/templates/examples/examples.xml
@@ -128,6 +128,23 @@
+
+ CAN Talon SRX
+ Quick demo of running the SRX at a given throttle value.
+
+ Robot and Motor
+ Digital
+ Actuators
+ Complete List
+
+
+ src
+
+
+
+
+
+
Relay
Demonstrate controlling a Relay from Joystick buttons.
diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/resources/templates/examples/CANTalon/src/org/usfirst/frc/team190/robot/Robot.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/resources/templates/examples/CANTalon/src/org/usfirst/frc/team190/robot/Robot.java
new file mode 100755
index 0000000000..55ae01955b
--- /dev/null
+++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/resources/templates/examples/CANTalon/src/org/usfirst/frc/team190/robot/Robot.java
@@ -0,0 +1,39 @@
+package $package;
+
+
+import edu.wpi.first.wpilibj.SpeedController;
+import edu.wpi.first.wpilibj.hal.CanTalonSRX;
+import edu.wpi.first.wpilibj.SampleRobot;
+import edu.wpi.first.wpilibj.Timer;
+
+/**
+ * This is a short sample program demonstrating how to use the basic throttle
+ * mode of the new CAN Talon. As of when this was made, the basic throttle mode
+ * is all that is supported.
+ */
+public class Robot extends SampleRobot {
+
+ CanTalonSRX motor;
+
+ private final double k_updatePeriod = 0.005; // update every 0.005 seconds/5 milliseconds (200Hz)
+
+ public Robot() {
+ motor = new CanTalonSRX(1); // Initialize the CanTalonSRX on device 1.
+ }
+
+ /**
+ * Runs the motor from a joystick.
+ */
+ public void operatorControl() {
+ motor.SetModeSelect(0);
+ while (isOperatorControl() && isEnabled()) {
+ // Set the motor's output.
+ // This takes a number from -1 (100% speed in reverse) to +1 (100% speed
+ // going forward)
+ motor.Set(0.5);
+
+ Timer.delay(k_updatePeriod); // wait 5ms to the next update
+ }
+ motor.Set(0.0);
+ }
+}
diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/resources/templates/examples/examples.xml b/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/resources/templates/examples/examples.xml
index 4b6f55e7f5..b0bd47120b 100755
--- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/resources/templates/examples/examples.xml
+++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/resources/templates/examples/examples.xml
@@ -154,6 +154,23 @@
+
+ CAN Talon SRX
+ Demonstrate running a Talon SRX with the basic throttle mode.
+
+ Actuators
+ Complete List
+ Robot and Motor
+
+
+ src/$package-dir
+
+
+
+
+
+
CommandBased Robot
diff --git a/hal/include/HAL/HAL.hpp b/hal/include/HAL/HAL.hpp
index 96c410bf32..39faf8d4ea 100644
--- a/hal/include/HAL/HAL.hpp
+++ b/hal/include/HAL/HAL.hpp
@@ -14,7 +14,6 @@
#include "Accelerometer.hpp"
#include "Analog.hpp"
-#include "CAN.hpp"
#include "Compressor.hpp"
#include "Digital.hpp"
#include "Solenoid.hpp"
diff --git a/hal/lib/Athena/CAN.cpp b/hal/lib/Athena/CAN.cpp
deleted file mode 100644
index c524996b7b..0000000000
--- a/hal/lib/Athena/CAN.cpp
+++ /dev/null
@@ -1,232 +0,0 @@
-#include "HAL/CAN.hpp"
-#include