|
|
-
Now that we have finished writing the book, we finally have an official title and chapter listing. Someday we may even have a cover. The title has morphed into Coding4Fun: 10 .NET Programming Projects for Wiimote, YouTube, World of Warcraft, and More and the final chapter listing (not necessarily in this order) is: - Alien Attack: Create a 2D clone of Space Invaders with XNA for the PC, Xbox 360, and Zune
- LEGO Soldier: Create an action game using Popfly with a custom-built virtual LEGO character
- World of Warcraft RSS Feed Reader: Use WoW's customizable interface to have feeds pop up while you're gaming
- InnerTube: Download YouTube videos automatically and convert them to a file format for off-line viewing
- PeerCast: Stream video files from any PC
- TwitterVote: Create custom online polls on Twitter
- WHSMail: Build a website with ASP.NET for Windows Home Server that lets you view the messages stored on a computer with Outlook
- "Wiimote" Controlled Car: Steer your remote-controlled car by tilting the Wii Remote controller left and right
- Wiimote Whiteboard: Create an interactive whiteboard using a Wii Remote
- Holiday Lights: Synchronize your holiday light display with music to create your own light show
We also have an official web site for the book located at http://www.c4fbook.com/. This will be the “go to” place for source code downloads, forum discussions, updates to all projects as we continue to work on them, and everything else you will need to fully enjoy the book. Get your pre-order in now and save 34% off the list price at Amazon! Or, buy from O’Reilly with another book and get a 3rd free!
-
I ran into a bit of weirdness yesterday when trying to install SQL Server 2008. I have Visual Studio 2008 installed as well as a couple of the Visual Studio 2008 Express products (for testing solutions for the Coding4Fun site and the upcoming book). I installed Visual Studio 2008 SP1 and all went as planned. After looking at the Help –> About screens, Visual Studio and all of the Express products showed the proper version tag: 9.030729.1 SP1. So I figured all the products were updated and good to go. Next I tried to install SQL Server 2008 and got an error stating Rule “Previous releases of Microsoft Visual Studio 2008” failed. I re-installed SP1 figuring something had gone wrong, but no dice. After digging through the SQL Server 2008 install logs I realized what was happening. The installer was using the HKLM\SOFTWARE\Microsoft\DevDiv\XXX\Servicing\9.0\SP keys to determine if SP1 had been installed and the registry settings were set that it hadn’t been installed for the Express products. So, I then installed the SP1 versions of all of the Express products (there apparently isn’t an SP1 update for these, you just install the new versions and they are upgraded), tried installing SQL Server 2008 once again, and it worked without a hitch. In summary, the tip here is that if you have any of the Visual Studio Express products installed, you must install the SP1 versions of those products separately from Visual Studio 2008 SP1 in order to have them properly updated. The SP1 package for Visual Studio 2008 does not actually update these applications and will block the client-side installation of SQL Server 2008.
-
BlueSoleil has released a new version of their software which supposedly fixes the BSOD problem many people were having. If you were one of them, download and give it a try!
-
I was contacted by Boon Jin Goh recently about his super awesome Wiimote Smoothboard application. Boon Jin took Johnny Lee’s original Wiimote Whiteboard app and added a ton of functionality. What was a proof of concept or tech demo is now a fully functional electronic whiteboard capable of being used in a real environment. Here’s a video showing functionality from the 0.1 version of his app, which has had several updates since. Definitely give it a try if you’re looking for a very capable electronic whiteboard. Great job! Also note that both Johnny Lee and Boon Jin have contributed to our upcoming “Coding4Fun: 10 .NET Programming Projects for Wiimote, YouTube, World of Warcraft, and More” book (yes, the name changed again) with a chapter dedicated to the Wiimote Whiteboard. This chapter will teach you how to build Johnny’s original whiteboard with the Smoothboard’s spiffy smoothing algorithm added in.
-
Well, after a few survey responses and posts to my forum, it appears that everyone experiencing the BSOD issue with WiimoteLib is running the BlueSoleil stack. I was also pointed to the following links on www.wiimoteproject.org with others having the problem and apparently BlueSoleil is aware of the issue. So, I guess the only solution now is to wait for BlueSoleil to issue a patch and fix the problem on their end. If/when I get any news on this (or if someone notifies me if I miss it), I’ll be sure to post the resolution here and update the WiimoteLib docs.
-
I’ve gotten a few emails of late with people getting BSODs when using WiimoteLib. It appears most, if not everyone, experiencing this problem is using BlueSoleil. That said, I’m still unsure what is happening, when it started happening, or what the resolution is. Therefore, I have put together a short survey that I’m hoping anyone experiencing the issue will take the time to fill out that might help me determine what the root cause is. I’m looking for answers from people who are specifically having an issue where using WiimoteLib or an application using WiimoteLib is causing their computer to spontaneously BSOD and/or restart. If that’s not you, please do not fill out the survey. To take the survey, please click here. Thanks!
-
I’ve been doing some Windows Mobile development with the .NET Compact Framework recently and ran into a scenario where I needed the device to be in “full power” mode at all times with the back-light on. The device is constantly powered, so battery life is not a concern. The obvious choice is to go into the Brightness and Power control panels and turn off the appropriate settings, but I learned that there is a way to handle this at an application level so the behavior only occurs while the application is running. Power State An application can force a specific power state using the SetPowerRequirement method, and release that state using the ReleasePowerRequirement method. Using P/Invoke, these methods look like the following: 1: public enum CEDevicePowerState
2: {
3: D0 = 0, // Full On
4: D1, // Low On
5: D2, // Standby
6: D3, // Sleep
7: D4, // Off
8: }
9:
10: [DllImport("coredll.dll", SetLastError=true)]
11: static extern IntPtr SetPowerRequirement(string device, CEDevicePowerState ceDevicePowerState, uint deviceFlags, IntPtr systemState, ulong stateFlags);
12:
13: [DllImport("coredll.dll", SetLastError=true)]
14: static extern int ReleasePowerRequirement(IntPtr handle);
SetPowerRequirement will allow you to set a specific power state on a specific device. In my scenario, I wanted to set the back-light to full power. The name of the back-light on most (not all) Windows Mobile devices appears to be “BKL1:”. So, to set the back-light to full power (the D0 state), you would call the method as follows:
IntPtr handle = SetPowerRequirement("BKL1:", CEDevicePowerState.D0, 1, IntPtr.Zero, 0);
The power state will be returned to its default settings when the application exits, or you may call ReleasePowerRequirement, passing in the handle returned from the call to SetPowerRequirement to reset it yourself.
Suspend
The above will leave the back-light on at all times, but it will not stop the device from going into a suspended state as configured in the control panel. To stop this from happening, simply call the SystemIdleTimerReset method at a short, regular interval:
1: [DllImport("coredll.dll", SetLastError=true)]
2: static extern void SystemIdleTimerReset();
3:
4: // reset the system's idle time every 10 seconds so it doesn't suspend
5: Timer timer = new Timer(IdleReset, null, 0, 10000);
6:
7: private static void IdleReset(object state)
8: {
9: // no suspend
10: SystemIdleTimerReset();
11: }
Lines 1-2 contain the P/Invoke signature. Line 5 sets up a timer that will be called every 10 seconds (10000ms) to reset the idle timer, and lines 7-11 are the timer callback method which actually calls the SystemIdleTimerReset method.
And that’s that. With both of these methods in place, my application remains running with the device at full power, never suspending, and with the back-light always on.
-
I have been selected to present two sessions at VSLive! New York this September. Here are the abstracts: Title: Creating a Simple 2D Game Using XNA Game Studio to Run on a PC, Xbox 360 or Microsoft Zune Date/Time: Wednesday, September 10th at 3:15pm Description: This session will demonstrate how to build a very simple 2D game engine and game using the latest version of XNA Game Studio. Attendees will learn how to effectively use the content pipeline, import 2D sprites into XNA, manage input from the keyboard, mouse, Xbox 360 controller and Zune, manage game state, and debug the resulting game. The sample code will be built on a PC and run on the PC, Xbox 360, and Zune platforms when complete. Title: Interfacing External Hardware Using Managed Code Date/Time: Wednesday, September 10th at 4:45pm Description: While developers write code to build software every day, not often are they exposed to code that drives and interfaces hardware. This session will attempt to bridge that gap and show how .NET can be used to effectively interface several hardware devices, including an RFID reader and tags, Phidget control boards with a variety of sensors, and a servo controller. Finally, the Nintendo Wiimote will be introduced along with my .NET Wiimote Library, demonstrating how to connect to a USB or Bluetooth HID device and use it from .NET, with examples showing what the Wiimote itself is capable of.  Check out the full agenda and see what piques your interest. Also check out the video above with some information on what to expect from the conference. It’s a couple months off, but registrations are in full swing. Register by August 6th and save some dough!
-
Sorry for all of the previous confusion. Version 1.5.2 is now up at CodePlex. This release now has the Wii Fit Balance Board working for everyone who has tried it. Please let me know if you have any issues with it. The changes: v1.5.2.0 - Ok, Balance Board support is really fixed this time (thanks to Manuel Schroeder, Eduard Kujit and Alex Wilkinson for testing)
- LED checkboxes are properly set on the WiimoteTest tabs
Enjoy!
-
UPDATE 2: Sorry, but I've removed this release from CodePlex. It's just too buggy (though it continues to work just fine for me). Look for version 1.5.2 very soon... UPDATE: It appears some people are still having issues with this build as well due to some Balance Boards being a bit finicky in their response times. Stay tuned for build 1.5.2 soon… Oops. Apparently the one new thing in version 1.5, Balance Board support, was actually broken. I have just put version 1.5.1 up at CodePlex which fixes the Balance Board operation. Sorry about that…
More Posts Next page »
|
|
|