Hi Jay,
Happy to help. Libfreespace supports Visual Studio 2010 Express so you should be able to use this without any problems. Here are some tips to get you started. Also please remember to see the note at the bottom about the workaround for the FSM-6.
VS2010 Express does not support Setup projects, so unfortunately you won't be able to use this specific project. It is simply an installer for the example files so you are not missing anything important. You will just have to build the example projects individually.
Regarding the libfreespace.vcxproj error you saw, this is the Libfreespace library project. You have the option of either building the Libfreespace library from source (the default configuration for the Libfreespace Examples), or simply downloading a prebuilt binary. I've listed instructions below about how to get things set up with the prebuilt binary.
Follow These Steps
1. Download the Libfreespace library from the link below:
b. Extract the zip file and notice what is inside -- header files and lib files for Libfreespace
2. Put the Header Files into the proper location:
a. The Libfreespace Examples are configured to look in a specific location for the header files and Libfreespace libraries
- $(ProjectDir)/../../../libfreespace/include
- Note that $(ProjectDir) refers to the directory location of the VS2010 Solution file you are working with
(In this case, $(ProjectDir) refers to the directory where examples.sln lives)
b. For example, here is how my directories are configured for this:
C:\libfreespace_work\
libfreespace\
include\
freespace\
[The header files]
libfreespace-examples-06\
[All of the libfreespace-example files as is from the zip file]
3. Put the libfreespace prebuilt libraries in the proper location
a. You can put them in the following location:
$(ProjectDir)\Release\ (you may have to create the Release directory)
4. Open examples.sln in VS2010 Express
5. Change the configuration to Release (dropdown menu in the top part of the VS2010 window that is probably defaulted to Debug)
6. Right click on a project you want to build and click build
a. The build should succeed and the generated exe file should be outputted at $(ProjectDir)\Release
7. Repeat Step 6 for all the projects you want to build
8. Run the application files from that directory with your Freespace module connected to your PC
** Important Note About The FSM-6 And the Example Files **
There is an issue with the current libfreespace-examples and their support for the FSM-6. We use a function called freespace_isNewDevice() to determine which data control message to use. The problem is that this freespace_isNewDevice() does not recognize the FSM-6 as a new device and the FSM-6 does not support the older messages. To fix your code:
Remove the conditionals in the example files so that you do not check for freespace_isNewDevice() and instead just send the DataModeControlV2Request message
For example, in motion_example.c, remove the IF statement at line 104 and simply send the DataModeControlV2Request message (do not send the DataModeRequest message).
Let me know if you have any questions about this.
Thanks,
-Merrill
libfreespace moderator