Errata

Programming Microsoft® Robotics Studio

Errata for Programming Microsoft® Robotics Studio

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
Printed
Page xxv & xxvi

Visual Studio should be installed before Microsoft Robotics Studio 1.5 On page xxv & xxvi, the installation order of Microsoft Robotics Studio 1.5 and Visual Studio C# 2005 Express Edition should be reversed. The installation instructions for Visual Studio C# 2005 Express Edition should start on page xxv under the System Requirements paragraph and then the instructions for Microsoft Robotics Studio 1.5 should start after on page xxvi. This insures the correct installation of the Robotics Studio templates.

Microsoft Press  May 06, 2010 
Printed
Page 10

Incorrect description of wireframe mode
On page 10, the third sentence of the last paragraph incorrectly describes wireframe mode.



Change:

"Wireframe mode is a pixilated version that shows just an outline of the objects."



To:

"Wireframe mode is a line drawing with no hidden line removal."

Microsoft Press  Jul 13, 2010 
Printed
Page 12

First paragraph should be disregarded On page 12, the first paragraph is an exact copy of the last paragraph on page 11 and should be disregarded.

Microsoft Press  May 06, 2010 
Printed
Page 15

"Figure 1-7" should be "Figure 1-6"
On page 15, the "iRobot Create or Roomba" description in Table 1-1 includes an incorrect reference to Figure 1-7.



Change:

"Several different Roomba models are available, but you might prefer to work with the Create robot (see Figure 1-7 earlier)

because it was designed specifically for programmers interested in robotics."



To:

"Several different Roomba models are available, but you might prefer to work with the Create robot (see Figure 1-6 earlier)

because it was designed specifically for programmers interested in robotics."

Microsoft Press  Jul 13, 2010 
Printed
Page 22

"DssNode" should be "DssHost" On page 22, the Note box and the last paragraph on the page incorrectly reference DssNode. In the Note box change: "It may take a few minutes for the DssNode executable to run on your development machine. Depending on your operating system and what antivirus tools you are running, the first time you run DssNode on your computer, you may be asked to grant access to MSRS." To: "It may take a few minutes for the DssHost executable to run on your development machine. Depending on your operating system and what antivirus tools you are running, the first time you run DssHost on your computer, you may be asked to grant access to MSRS." In the last paragraph change: "After executing DssNode, you will see a command window appear, and then your Internet browser will open and point to the following URL: http://localhost:50000." To: "After executing DssHost, you will see a command window appear, and then your Internet browser will open and point to the following URL: http://localhost:50000."

Microsoft Press  May 06, 2010 
Printed
Page 29

"messages" should be "services"
On page 29, in Table 2-3 the second sentence of the description for the "Lookup" operation is incorrect.



Change:

"This operation is required for all messages."



To:

"This operation is required for all services."

Microsoft Press  Jul 13, 2010 
Printed
Page 76

"DssNode" should be "DssHost" On page 76, the first sentence of the last paragraph incorrectly references DssNode. Change: "You can run a simulation and initiate VSE by executing DssNode and loading a manifest file that includes the simulation engine service." To: "You can run a simulation and initiate VSE by executing DssHost and loading a manifest file that includes the simulation engine service."

Microsoft Press  May 06, 2010 
Printed
Page 87

"Table 4-2" should be "Table 4-3"
On page 87, the second sentence in the EntityState description incorrectly references Table 4-2.



Change:

"Refer to Table 4-2 for a listing of the properties associated with entity state."



To:

"Refer to Table 4-3 for a listing of the properties associated with entity state."

Microsoft Press  Jul 13, 2010 
Printed
Page 92

".0914" should be "0.914" On page 92, the third and fourth sentence of the 2nd paragraph uses an incorrect value to compute yards to meters. Change: "Alternatively, 1 yard equals .0914 meters or 36 inches. If you want to compute the distance of an entity in meters, you could multiply the number of yards by .0914." To: "Alternatively, 1 yard equals 0.914 meters or 36 inches. If you want to compute the distance of an entity in meters, you could multiply the number of yards by 0.914."

Microsoft Press  May 06, 2010 
Printed
Page 104

"DssNode" should be "DssHost"
On page 104, the third line in the Tip box contains an incorrect program name.



Change:

"To run the BasicDrive service, you execute the DssNode program as an external program and load two manifest files."



To:

"To run the BasicDrive service, you execute the DssHost program as an external program and load two manifest files."

Microsoft Press  Jul 13, 2010 
Printed
Page 105

"btnForward" should be "btnForwards" On page 105, in the third bullet point down the name of Button 3 is incorrect. Change: "Button 3 Name=btnForward" To: "Button 3 Name=btnForwards"

Microsoft Press  May 06, 2010 
Printed
Page 107

identifier address incorrect
On page 107, the first line of code on the page includes an incorrect address in the identifier.



Change:

public const String Identifier = "http://schemas.tempuri.org/2007/09/basicdrive.html";To:

public const String Identifier = "http://www.custsolutions.net/2007/09/basicdrive.html";

Microsoft Press  Jul 13, 2010 
Printed
Page 116

incorrect instructions for variable On page 116, the second sentence of the last paragraph on the page suggests that a boolean variable can have many different values. Change: "If it is set with any other value, this means the motor is disabled, and it needs to be enabled before continuing." To: "If it is set to False, this means the motor is disabled, and it needs to be enabled before continuing."

Microsoft Press  May 06, 2010 
Printed
Page 118

state.MotorEnabled should be state.MotorRunning
On page 118, the 4th line in the first code sample on the page uses an incorrect variable.



Change:

state.MotorEnabled = update.Body.IsEnabled;To:

state.MotorRunning = update.Body.IsEnabled;

Microsoft Press  Jul 13, 2010 
Printed
Page 128

"DssNode" should be "DssHost" On page 128, the second sentence in the tip box includes an incorrect name for a program. Change: "To run the Wander service, you need to execute the DssNode program as an external program and load two manifest files." To: "To run the Wander service, you need to execute the DssHost program as an external program and load two manifest files."

Microsoft Press  May 06, 2010 
Printed
Page 132

code sample missing underscore
On page 132, the 20th and 21st line in the code sample is missing an underscore before each line.



Change:

nxtTouchSensorPort.Subscribe(_nxtTouchSensorNotify);

legoPort.Subscribe(_legoNotifyPort);To:

_nxtTouchSensorPort.Subscribe(_nxtTouchSensorNotify);

_legoPort.Subscribe(_legoNotifyPort);

Microsoft Press  Jul 13, 2010 
Printed
Page 132

notifications are not received from the generic drive On page 132, the second sentence in the second to the last paragraph on the page includes an incorrect port. Change: "For the Wander service, we will receive notifications from ports associated with the generic drive, generic contact sensors, and LEGO services." To: "For the Wander service, we will receive notifications from ports associated with the generic contact sensors and LEGO services."

Microsoft Press  May 06, 2010 
Printed
Page 134

"True" should be "true"
On page 134, the 5th and 6th sentence in the first paragraph uses incorrect capitalization for a C# value.



Change:

"If it is set with a value of True, then we know the left button on the brick has been pressed, and we can instruct the robot to start moving forward. If the PressedRight property is set with a value of True, then we know the right button was pressed, and we want to tell the robot to stop."



To:

"If it is set with a value of true, then we know the left button on the brick has been pressed, and we can instruct the robot to start moving forward. If the PressedRight property is set with a value of true, then we know the right button was pressed, and we want to tell the robot to stop."

Microsoft Press  Jul 13, 2010 
Printed
Page 146

code sample missing underscore On page 146, the third line in the first code sample on the page is missing an underscore. Change: state.MostRecentNotification = notification.Body.TimeStamp;To: _state.MostRecentNotification = notification.Body.TimeStamp;

Microsoft Press  May 06, 2010 
Printed
Page 162

"store directory" should be "root directory"
On page 162, the first sentence in the Note box contains an incorrect reference to the store directory.



Change:

"By default, MSRS searches for the Initial State partner in the store directory beneath the MSRS installation folder."



To:

"By default, MSRS searches for the Initial State partner in the root directory."

Microsoft Press  Jul 13, 2010 
Printed
Page 168

add "Specific Version" to Tip box On page 168, the first sentence in the tip box is missing the Specific Version property. Change: "When adding references to services, set the Copy Local property to False."To: "When adding references to services, set the Copy Local and Specific Version properties to False."

Microsoft Press  May 06, 2010 
Printed
Page 186

"contract class" should be "contract class file"
On page 186, the second sentence of the last paragraph is misleading.



Change:

"You define these variables in the contract class, which you should name SecurityMonitorTypes.cs."



To:

"You define these variables in the contract class file, which you should name SecurityMonitorTypes.cs."

Microsoft Press  Jul 13, 2010 
Printed
Page 232

Definition of "LEGO brick" incomplete On page 232, the second sentence of the "LEGO brick" definition is incomplete. Change: "It includes physical ports for each of the sensors included with the NXT." To: "It includes physical ports for each of the sensors and motors included with the NXT." Microsoft Press is committed to providing informative and accurate books. All comments and corrections listed above are ready for inclusion in future printings of this book. If you have a later printing of this book, it may already contain most or all of the above corrections.

Microsoft Press  May 06, 2010