Usage Instructions
NXT.NET is written in C# 3.0 and compiled with Visual Studio 2008 to the .NET 3.5 platform.
The single source code of the library is compiled as a desktop library to .NET Framework 3.5 and also as a mobile library to .NET Compact Framework 3.5.
The sample desktop application is a Windows Forms application and the sample mobile application is a Smart Device Application optimized to Windows Mobile 5.0 Pocket PC.
The HTML help documentation (CHM) is compiled with NDoc 1.3 and the Microsoft HTML Help Workshop using the extensive XML documentation in the C# source code.
NXT.NET uses the .NET Framework's SerialPort class to communicate with the NXT brick via a Bluetooth connection that is simulated as a COM port on the PC or the Pocket PC. The remote control is implemented with the direct commands of the NXT.
NXT.NET contains the following components:
NxtNet.DesktopLib and NxtNet.MobileLib are two class libraries with the same feature set compiled as a desktop and as a mobile component. The library enables the host application to control a LEGO Mindstorms NXT robot via a Bluetooth connection.
NxtNet.DesktopApp is a .NET Windows Forms desktop application that is built using the NxtNet.DesktopLib component and enables the user to test the library features and remotely control a LEGO Mindstorms NXT robot from a PC.
NxtNet.MobileApp is a .NET Compact Framework mobile application that is built using the NxtNet.MobileLib component and enables the user to test the library features and remotely control a LEGO Mindstorms NXT robot from a Windows Mobile 5.0 Pocket PC.
The library currently enables the host to connect to the NXT, query general parameters (brick name, version, Bluetooth address, free flash memory, battery level, keep alive time), initialize sensors and query sensor values. These features are already available in the desktop application and partly in the mobile application. The library is fully documented in the C# source code with XML comments in English.
Major part of motor control is also implemented but not fully tested yet. Querying sensor states is not tested from the mobile client and not available in the mobile application. Direct Bluetooth communication is also implemented but not fully tested yet.