I was working away on my FEZ Panda II and I think it Just Bricked itself?
I tried uploading a file to the Board, it stopped responding and would not go any further. I tried re-uploading the firmware after a while and I get this message:
Connecting to device…
USBizi found at Port#: COM10
Cannot connect to the device! Follow steps 1 to 3
Connecting to device…
Device will be updated automatically! DO NOT disconnect or turn off the device!
Erasing…
Error while connecting to the device. Try again!
Disconnecting COM10
Rebooting…
Firmware updated sucessfully. Version number: Unknow
Updating Firmware is done!
Is the FEZ Panda Bricked? Is there anyway to save my FEZ Board?
Terra Term VT will connect but nothing happens, its sits there and does nothing. Its Unresponsive.
I tried uninstalling the Windows Driver and forcing the driver recommended in the above link but it does not work. I was working with the usb virtual CDC Driver for PC Coms through the Serial Cable. I am a bit cut up, I hope we can save it…
Here’s where we need another “standard diagnostics” Wiki page…
First, when you first connect it, does your LED light up initially?
Then, tell us what type of device, if any, shows up in Device Manager when you connect the Panda.
By default, a working device will appear in the group of “Debuggable .Net Micro Framework Device” as a “GHI .Net Micro Framework USB DEbugging Interface”.
By default, a device in bootloader mode will appear in the “Ports (COM & LPT)” group as “GHI Boot Loader Interface (COMx)” where COMx is the specific COM port it appears on. If the device has an operating NETMF firmware, but no application, then it will also appear as this device type.
If nothing appears, turn up the volume and tell us if you get any kind of “device connected” noises?
Pictures tell a thousand words; take a screen shot or two of Device Manager.
In LDR Mode all appears to work fine. I have removed and reinstalled the SDK Drivers. I have tried on my laptop with the same result. The atached pictures are on my desktop. My Laptop has the same issue.
I am 99.9% sure its the card and not a Driver issue. If it were a driver issue it would have had issues before now. Its only a month old and has worked fine till now. I have another FEZ Panda but am hesitant to plug in untill I find out what happened to this one.
I was uploading a Sketch to the card when this happened. Before that it worked fine.
FEZ Panda rocks and I have been working on this for a while now and thus a bit cut I am having trouble. I am trying to do a Pulse Generator with USB Serial Coms back to the PC.
– Log –
Connecting to device…
USBizi found at Port#: COM6
GHI Bootloader Version: 1.07
Device will be updated automatically! DO NOT disconnect or turn off the device!
Erasing…
Erase successful!
Updating Firmware. Please wait…
Rebooting…
Disconnecting COM6
Rebooting…
Firmware updated sucessfully. Version number: 4.1.8.0
Updating Firmware is done!
I have lost a FEZ Panda II by the looks of it. Man I am cut up. Its only $35 odd dollars but its the time to wait for stock that is the pain in the …
FYI for others, Pictures are atached of the working drivers:
Gus / Brett - is there a way to wipe the Sketch I have uploaded previously, I know there is a way to push the NETMF through the JTAG but I dont have the gear to do that here.
The Code I was using is here, its imcomplete and I was just testing this code on my FEZ Panda.
using System;
using System.Text;
using System.IO.Ports;
using System.Threading;
using System.Diagnostics;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using GHIElectronics.NETMF.Hardware.LowLevel;
using GHIElectronics.NETMF.USBClient;
using GHIElectronics.NETMF.Hardware;
using GHIElectronics.NETMF.FEZ;
namespace Project_Fez_Panda_II_Sketch
{
public class Program
{
/// <summary>
/// Timer 3 Timer Control Register...
/// </summary>
private static Register T3CR;
/// <summary>
/// tIMER 3 Interrupt Register...
/// </summary>
private static Register T3IR;
/// <summary>
/// Declare a PWM Reference....
/// </summary>
private static PWM indicatorLedPWM = new PWM((PWM.Pin)FEZ_Pin.PWM.Di10);
/// <summary>
/// The Number of the byte's recieved from the Virtual Com Port...
/// </summary>
private static int RXDByteCount = 0;
/// <summary>
/// String Data. I am going to convert the ByteData to a String to Read and work with...
/// </summary>
private static string RXDString = "";
/// <summary>
/// Virtual Serial Port (TXD) Byte Array. Transmit Data to the PC from the FEZ Card...
/// </summary>
private static byte[] TXD;
/// <summary>
/// Virtual Serial Port (RXD) Byte Array. Recieve Data from the PC to the FEZ Card...
/// </summary>
private static byte[] RXD;
/// <summary>
/// LDR Button Interrupt. Do "Something" when the LDR Button is Pressed/De-Pressed...
/// </summary>
/// <param name="port"></param>
/// <param name="state"></param>
/// <param name="time"></param>
static void LDRButtonInterrupt(uint port, uint state, DateTime time)
{
//reset
//T3CR.SetBits((1 << 1));
//T3CR.ClearBits((1 << 1));
//T3IR.Write(1 << 0);
}
/// <summary>
/// External Match Register Interrupt. Do "Something" when the External Match is fired...
/// </summary>
/// <param name="port"></param>
/// <param name="state"></param>
/// <param name="time"></param>
static void ExMatchInterrupt(uint port, uint state, DateTime time)
{
//The external match register caused an interrupt
Debug.Print("Interrupted");
}
/// <summary>
/// Main - Our part of the Application Start's here...
/// </summary>
public static void Main()
{
/////////////////////////////////////////////////////////////////////////////////////////////////////////
// Set the PWM on the Indicator LED...
indicatorLedPWM.Set(2, 20);
/////////////////////////////////////////////////////////////////////////////////////////////////////////
// Set up Communications on the FEZ Card with the Computer... //
// Reference: http://wiki.tinyclr.com/index.php?title=UART_-_PC_Communication //
/////////////////////////////////////////////////////////////////////////////////////////////////////////
// Setup the Recieve(RXD) and Transmit(TXD) Byte Buffers...
RXD = new byte[10];
TXD = Encoding.UTF8.GetBytes("FEZ");
/////////////////////////////////////////////////////////////////////////////////////////////////////////
// Setup the USB Interface in Virtual Com Port with Debug Mode... //
// Reference: http://wiki.tinyclr.com/index.php?title=USB_Client //
/////////////////////////////////////////////////////////////////////////////////////////////////////////
// Check debug interface...
if (Configuration.DebugInterface.GetCurrent() != Configuration.DebugInterface.Port.USB1)
{
throw new InvalidOperationException("Interface must be USB.");
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////
// Start the Virtual Com Port Over USB...
USBC_CDC VirtualComXUSB = USBClientController.StandardDevices.StartCDC_WithDebugging();
#region The Main While Loop...
while (true)
{
/////////////////////////////////////////////////////////////////////////////////////////////////////
// Check if a Connection to the PC is Open, Listen for Coms...
if (USBClientController.GetState() == USBClientController.State.Running)
{
RXDByteCount = VirtualComXUSB.Read(RXD, 0, RXD.Length);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
// If we have recieved information, Process it...
if (RXDByteCount >= RXD.Length)
{
RXDString = new String(Encoding.UTF8.GetChars(RXD), 0, RXD.Length);
TXD = Encoding.UTF8.GetBytes("Increment : " + RXDString + ". ");
VirtualComXUSB.Write(TXD, 0, TXD.Length);
RXDByteCount = 0;
RXDString = string.Empty;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
// Print Debug Information...
//Debug.Print("Total count: " + T3TC.Read());
//Debug.Print("IR: " + T3IR.Read());
//Debug.Print("External Match Register: " + EM0.Read().ToString());
/////////////////////////////////////////////////////////////////////////////////////////////////////
// Thread Sleep...
Thread.Sleep(100);
}
#endregion
}
} // END of Class....
} // END of Namespace....
Jareds has done an excellent job on this code, its well explained and has some good ideas in it. The only thing is its not clear on the hookup. I had the AN0 pin connected to Di5 as the trigger.
Well if someone can point out where the issue is I would be very greatfull.
If you boot into BOOTLOADER mode, you should be able to do an E then hit Y. That should erase your application and the firmware. Then hit X and upload the firmware. Make sure you use the 1K option.
Hi Brett - this is my problem - I cant, the terminal does not work on the Bricked FEZ card - It works perfect on the other card but this card is not responding at all in Terminal.
[quote=“Garlin”] @ ChrisO - Maybe the other board is not starting up in bootloader mode ? What do you see in the device manager before you try to update the firmware ?
.[/quote]
Hi Garlin - Yeah, I tried that. It is in LDR Mode, it only goes into LDR Mode, I get a driver error “Device Cant Start” in “USB Debug Interface” Mode.
I really appreaciate everyone helping to get to the bottom of this strange problem. The other “Good FEZ Panda Card” works exactly as it should. The problem card did also untill I uploaded the above sketch. Since I uploaded this sketch it is if you like stuck… Its like the Serial/USB Interface is jammed open and cant send/recieve.
I have tried everything I can think of.
Thanks everyone! FEZ Still Rocks and the Community is even better.
You don’t have MODE pin connected to anything do you ? I know you mentioned CDC before so perhaps you are…
In general, it sounds like you have a driver issue. You need to remove the GHI .Net debuggable driver and the GHI bootloader driver, but I don’t know how you might go through that if normal “uninstall” doesn’t work. Are you on Win7? I’d try removing it and then re-connecting the device and let it install it itself.