Problem with failure to deploy

I recently purchased a Cobra III board, wifi board with antenna, and a GXP (adapter which has a SU socket). I want to initialize the wifi board connected to the SU socket of the GXP adapter.

Prior to doing this, I did the first project (NETMFBook) and that went well. I am very experienced with .NET, Visual Studio 2010, and C#; however, I am using Visual Studio 2013 Community Edition for this project.

I then modified the NETMFBook project, adding a class library to handle the WiFiRS9110 initialization and use. The class library has my namespace of Cobra3Utils and a single static class called Cobra3Utils.WiFi9110.

Compilation has no problems. However, when I try to debug the simplest of things–the initialization of the WiFiRS9110–I got a dialog with the following error message:

“There were deployment errors. Continue?”

The compiler’s output window shows:

1>------ Deploy started: Project: Cobra3Utils, Configuration: Debug Any CPU ------
1>------ Deploy started: Project: Cobra3Utils, Configuration: Debug Any CPU ------
2>------ Deploy started: Project: NETMFBook, Configuration: Debug Any CPU ------
2>------ Deploy started: Project: NETMFBook, Configuration: Debug Any CPU ------
2>An error has occurred: please check your hardware.
2> DebugPort.GetDeviceProcess() called with no argument
2>Source: Microsoft.SPOT.Debugger.CorDebug.12
2>Stack : 
2>   at Microsoft.SPOT.Debugger.DebugPort.GetDeviceProcess(String deviceName)
2>   at Microsoft.SPOT.Debugger.VsProjectFlavorCfg.GetDeviceProcess()
2>   at Microsoft.SPOT.Debugger.VsProjectFlavorCfg.Deploy(DebugPort port)
2>   at Microsoft.SPOT.Debugger.VsProjectFlavorCfg.<>c__DisplayClass2.<Microsoft.VisualStudio.Shell.Interop.IVsDeployableProjectCfg.StartDeploy>b__0()
========== Deploy: 1 succeeded, 1 failed, 0 skipped ==========

The compiler’s error window shows:
Error 1 An error has occurred: please check your hardware.

After this problem occurred, I went to FEZ Config. I found that both the TinyBooter and the TinyCLS needed to be updated. I went through the process (which was a little odd at the TinyBooter stage when you need do the Chinese fire drill with the LDR0 and LDR1 buttons and the Reset button). My Cobra III was not fitted with the mini push button in the Reset position on the mainboard (go figure). I used a jumper between Ground and the Reset signal line on the board’s sockets instead.

I have added an image to show that my TinyBooter and TinyCLS software now matches what FEZConfig thinks it should be. By the way, the TinyBooter option on FEZConfig does not have an option to update the TinyBooter on Cobra III, only Cobra II, which I assume gets my Cobra III board flashed correctly for the TinyBooter.

I do not know what to change to make in my code (with its class library) or project to deploy on my Cobra III board. Any suggestions will be greatly appreciated.

I can post my code, if necessary, but I don’t think my code is the problem if the problem consists of an inability to deploy the code. I should also point out that I use a powered hub to connect to my Cobra III. I don’t use a power supply, but I could switch to a power supply if necessary.

My first suggestion is simply to create a brand new project, select the correct board in the deployment setup, and deploy that. Don’t add complexities like wifi, just go with the basics, flash a LED.

@ Brett - Thank you for being the only person to respond to my post.

I think you may have missed the point of the post. I explained in the post that I’d already done the required starting program (blinking the LED, and such). I wanted to make the WiFi board and GXP connector I bought to work. I didn’t want to go back and blink LEDs.

However; I took your advice, with the exact same code that I had for the other program, to create a new project. That process succeeded in getting the WiFi board to join my WiFi network.

But, what went wrong with my old project? As I progress with the hardware that I have, I will be adding two I2C temperature, pressure and humidity sensors and an Emic 2 text-to-speech module to the project. I will also try to use code modules:
[ul]to read the current date and time from an NTP server via the WiFi connection and set the time on the main board
to persist data to the Cobra III board’s memory before power down of the board
to restore time and persisted data at power up[/ul]
I will place all these code functions and the support code for the hardware modules into a class library I can use with other Cobra 3 projects. I want to get to a point that when a particular module does not deploy to the hardware for some reason, I can troubleshoot the problem, itself, rather than to painfully replicate the code in another project.

If you have any insights on what the original problem might have been (as complicated as it may have become with the addition of the class library), I’d like to hear your insights.

Problems with existing projects after SDK and firmware updates can come from many places. Typically it’s because if you jump to different SDK version, that has new DLLs, but your project still has the old ones loaded. There are many ways to overcome that, including removing all references and then re-adding them, but I often find it’s simplest if you just start a fresh project and move over the code as you need. That way you start from a project point you know is set up correctly (because it has no history, it’s brand new) and then you can add back in your existing classes and code and should be a much simpler and quicker way to get moving. Depending on how you’re configuring your classes in your main app, you may just have needed to recompile those (or do the full rip/replace/recompile).

I think your process is otherwise sound, so this shouldn’t be a significant issue again.

1 Like