Timeout while waiting for Wixel to reconnect

Suddenly one of my Wixels starts showing a weard serial number. Something like 5&14200368&0&2. Starts to connect to a higher serial port, like COM20. From that moment on starts to present the following message after entering on Bootloader mode: "Timeout while waiting for Wixel to reconnect."
No matter wich command I try to execute, the answer is always these timeout message.
I already tried that circuit wich shows how to put on reset and bootloader mode using two switches, but it doesn’t matter, the Wixel won’t receive any HEX file anymore.

Does anybody know a way to fix that problem? Is it possible flashing directly from pinouts, throught serial port or something similar, for instance?

At the Wixelconfig is possible to see the icon wich shows that the app is running (the blue one), but dispite of that, it isn’t possible to even stop the app without receiving a timeout message.

Hope anyone can help me.

Thanks.

Hello.

I am sorry you are having trouble programming your Wixel. Please try this:

  1. Disconnect all of your Wixels from USB.
  2. Let’s call the Wixel that isn’t working Wixel 1. Please disconnect everything from Wixel 1.
  3. Reboot your computer.
  4. With P2_2 connected to 3.3 V, connect the Wixel 1 to USB.
  5. Look in the Wixel Configuration Utility and see if things look OK. The serial number should be back to normal, and the status should be something like “No App” or “App Stopped”. If that is not the case, please tell us exactly what you see.

Let me know if you continue to have trouble after trying this.

–David

David,

Thank you for the reply. I’ve already done that, but even so, tried it again. When I connect the Wixel 1 to the USB, having put a wire from P2_2 to 3.3V, WixelConfig shows no Wixel at all and at the "Action Output box “No Wixel selected” is shown. Hope I’ve made the things clear for you.

After following those steps, do you see any entry for the Wixel in the Device Manager? Be sure to check in the “Ports (COM & LPT)” list, the “Pololu USB Devices” list, and the “Other devices” list. It would also be a good idea to select “View -> Devices by Connection” and find your USB conntrollers and see what USB devices you can see under them. Also, what are the three LEDs on the Wixel doing?

–David

David,

As I said, no entry at all. Even at another machine wich there’s no drive for Wixel installed yet, I see no entry at the device manager.

David,
Some others information that might me usefull. The good one Wixel, the Wixel 2, appears at the Device Manager, regularly and at Wixelconfig (with a yellow icon) when I put a wire from P2_2 to 3.3v.

Thanks for the information. What do the green, yellow, and red LEDs of Wixel 1 do when you try to force it into bootloader mode?

Do you remember what you were doing right before Wixel 1 started malfunctioning?

–David

David,
Only the green one is lighted, the other ones stay off. I’ve just wrote a HEX that I’ve compiled. That program is a modification from wireless_serial.c. Just after I´ve wrote it to wixel, I´ve tried to read it from Wixelconfig and realized that the serial number was wrong. No more communication between two wixels was stablished since then.

David,
Is there a way we cand chat, course if you can? That way would be faster. Thanks.

I’ve been waiting for a while for an answer, without success. I replied the answers I’ve asked for, yet, till now no procedure the actually help me. As far as I can realize, we are dealing with a wixel with hardware problems. I think anyone from Pololu should help me with a litle bit more of urgency, don´t you?

Hello. I am sorry we have not been able to get your Wixel working. We do not do business on the weekend, but please call us on Monday some time after 10 AM Pacific Time and ask for me, or email us directly with your order information, and we should be able to get your problem resolved.

–David

David,

I sent you my order information to you by email as I was told. Please let me know if you need some other information.

Thanks

Yikes! I had this exact thing happen to me. Symptoms are exactly the same… New COM port, The Wixels ID changed, The 3.3V to reset pin does not work… Based on the outcome of this thread I would say I’ve messed up my Wixel… :frowning:

Hello. I am sorry you are having trouble with your Wixel. Connecting 3.3V to the RST pin isn’t expected to help, but connecting it to P2_2 might. Have you tried the instructions from my earlier post, shown below?

–David

Hi David,

Yes… I followed all the instructions in the post. I have the same results as the OP.

To be more exact…

1.) The bad Wixel ID has changed to 6&188E923&0&1
2.) If I plug the Wixel in it appears to be running the last app I loaded. I say this due to the flashing routine I see on the red and yellow LEDs…
2.) If I try anf load a new app I see the green light blink… Then the config utility times out…

18:12:44.288 : 6&188E923&0&1 : Write to Wixel
Sending command to get Wixel into bootloader mode…
Waiting for Wixel to reconnect…
Timeout while waiting for Wixel to reconnect.
Operation timed out.

3.) (Note: I rebooted the computer before doing this next test…)

I added a jumper from 3.3V pin to P2_2 and then plugged in the usb cable. The yellow led lights up solid but the computer does not acknowledge that the wixel was plugged in. I verified this in the device manager also…

If I disconnect the jumper (while still plugged into the usb), the wixel comes to life, runs the last app loaded on to it, and the computer again sees the wixel. But the ID is still that odd ID I first posed… (6&188E923&0&1)


This all started after I loaded a modified version of the I/O app. I’m afraid to load it on the other wixel as I do not want to mess that one up too…


The last lines of code I altered in the I/O app was attempting to make it so that two outputs could not be high at the same time… I also tied my Yellow LED to the routine, but that seems to be ok as it is just flashing like it should…


Since the Yellow led is tied to P2_2, and P2_2 is part of the bootloader recovery, should we not ever use the Yellow Led in our code? Does using the yellow LED cause problems?

Sorry for the long post…

Tim

Hello, Tim.

Thank you for the details about what you did.

It is OK to use the yellow LED in your code. You can drive P2_2 high or let it be an input, but you should avoid driving it low, because that could cause a short circuit if the user tries to get the Wixel into bootloader mode but doesn’t do the steps perfectly. Maybe that was the problem? For more details about how the P2_2 line is used by the bootloader, you can read the “The Wixel USB Bootloader” section of the Wixel User’s Guide.

You probably still have the offending app in your wixel-sdk folder, or a version very similar to it. If you post the .wxl file here, I could try loading it onto some Wixels to see if it causes the same problem.

–David

Hi Dave,

Thanks for the prompt reponse.

This was the last bit of code I was toying around with before it hapened…

Pin 10 & 11 are my dedicated output pins. But I wanted to be sure both could not be on at once if both Pin 0 & Pin 1 were pulled low at the same time…


// set the states of output pins on this Wixel based on values from a buffer
void setPins(uint8 XDATA * buf, uint8 byteCount)
{
    uint8 byte, pin;

    // loop over all bytes in packet
    for (byte = 0; byte < byteCount; byte++)
    {
        for (pin = 0; pin < outPinCount; pin++)
        {
            // check if this output pin's link matches the link in this packet
            if ((uint8)pinLink(outPins[pin]) == ((buf[byte] >> PIN_LINK_OFFSET) & PIN_LINK_MASK))
            {
                // if so, set the pin state based on the val bit
                //setDigitalOutput(outPins[pin], (buf[byte] >> PIN_VAL_OFFSET) & 1);

            	static BIT bVal = ((buf[byte] >> PIN_VAL_OFFSET) ^ 1);
            	//if((buf[byte] >> PIN_VAL_OFFSET) ^ 1){bVal = 1;};
            	// Only allow one pin to be powered at a time
            	if(outPins[pin]==10 && isPinHigh(11)){bVal = 0;}

            	if(outPins[pin]==11 && isPinHigh(10)){bVal = 0;}

            	setDigitalOutput(outPins[pin], bVal);

                //setDigitalOutput(outPins[pin], (buf[byte] >> PIN_VAL_OFFSET) ^ 1);

            }
        }
    }
}

_PaddleShiftController.wxl (21.9 KB)

Looks like I’ll have to buy another Wixel without understanding what happened to my last one. This stinks. I cannot recall anything that would have caused this… If it happens again I’ll no longer trust the product.

Hello. Sorry for not getting back to you in time! Please email us with your order information and I’ll see if I can at least get you a discount on a replacement. I also want to try loading your wxl file on a Wixel to see if I can reproduce the problem, and intend to do that tommorrow.

–David

I tried loading your wxl file onto a Wixel a couple times and running it, and it didn’t cause any damage to my Wixel.

The way you configured your app, is it possible that the P2_2 line would ever be driven low by the software? (See my comments about P2_2 above for why this might be important.)

–David