Updates from upstream (firstforge): NetworkTable handles deleted values, CAN has a new minimum version, ...

git-svn-id: https://robotics.mvla.net/svn/frc971/2013/trunk/src@4155 f308d9b7-e957-4cde-b6ac-9a88185e7312
diff --git a/azaleasource/WPILibCProgramming/trunk/WPILib/Commands/Command.cpp b/azaleasource/WPILibCProgramming/trunk/WPILib/Commands/Command.cpp
index aea6fdf..957dda4 100644
--- a/azaleasource/WPILibCProgramming/trunk/WPILib/Commands/Command.cpp
+++ b/azaleasource/WPILibCProgramming/trunk/WPILib/Commands/Command.cpp
@@ -15,8 +15,11 @@
 static const char *kRunning = "running";

 static const char *kIsParented = "isParented";

 

+int Command::m_commandCounter = 0;

+

 void Command::InitCommand(const char *name, double timeout)

 {

+	m_commandID = m_commandCounter++;

 	m_timeout = timeout;

 	m_locked = false;

 	m_startTime = -1;

@@ -95,6 +98,15 @@
 }

 

 /**

+ * Get the ID (sequence number) for this command

+ * The ID is a unique sequence number that is incremented for each command.

+ * @return the ID of this command

+ */

+int Command::GetID() {

+	return m_commandID;

+}

+

+/**

  * Sets the timeout of this command.

  * @param timeout the timeout (in seconds)

  * @see Command#isTimedOut() isTimedOut()