Did I fry my Basic ATOM?

I was programming a new version of my software into my Basic ATOM using the v5.3.0.1 IDE, and all of a sudden I can’t get any response from the ATOM at all. It does not run any code when I power Walter up, and the ABB shows the power LED on.

Did I somehow fry my Basic ATOM? If so, what did I do to fry it? It is not totally unresponsive even though the IDE shows that I can successfully program it.

8-Dale

I did have an Atom go bad on me, I could not get it to reprogram at all!. I sent it back to Lynxmotion and they sent me a new one.

But did I understand correctly that the programmer still recognizes it? If so it does not sound like it is totally dead.

I assume you checked the obvious. I had one time when I thought something went wrong on my Hex as it was not doing anything. What I found was that one of my battery leads going into VS came loose :blush: . The Atom Pro was still working as it was running off of the 9 volt battery.

Good Luck!

Yes, the IDE still recognizes the Basic ATOM and everything to program it happens as it should. The robot just no longer responds and does not seem to run the program anymore. This just happened while I was programming the robot with a new version of my software.

There is power to the Atom Bot Board.

8-Dale

Did you go back to trying just a basic “hello world” type of program, maybe just blink an LED or something, to see if it’s really not doing anything?

I had a head-scratching moment a while ago when I thought I had a fried Stamp, but it was really just a numbskull programming error that had it running an endless loop within the initialization routine. Heh.

Another time I thought my Atom Pro was not working properly, was when I was going back and forth between IDEs (acutully I was taking code from the new atom IDE) to the pro. The problem was that the sound commands changed and the times were multipled by 1000. So it wasn’t getting past some of the sound commands before I gave up…

Just a thought as I remember you were converting some of your code to the new IDE…

I have an introductory sound it should play and it should also home the Pan/Tilt Turret at the very start of the program. It does not do any of these now.

8-Dale

Yes, I know. :slight_smile: I had already converted my sound code and got it working before everything just stopped working. No motor activity or anything else now. I double checked to make sure I had commented out ALL of my testing code too (because there is an ‘end’ statement there) and it’s all commented out. That is the first thing I check when things stop working suddenly now.

Everything was working fine, except for one of my Pan/Tilt routines, before everything just stopped working totally after the last time I tried downloading software to it.

8-Dale

Well, the chip is alive!

I created a very small program that does not have anything fancy in it, and loaded it into the chip. It runs just fine, so I must have something that went haywire in the bot software that has it in an infiniate loop now.

8-Dale

That’s what I was getting at earlier - if it stops doing advanced stuff and you’re in doubt of whether it’s alive or not, have it go back and recite its ABCs, just to make sure it’s still got a pulse.

(…or have it sing “Daisy, Daisy”. That works, too.)

That is what I did. I went back to something real basic without loops, etc. I found what was causing it not to work, and it does not make sense. However, when I uncomment this code, everything stops working and the robot goes totally comatose.

I have these variable declarations:

' ' IR Rangers ' IR_Distance var word(2) ' Distance object was detected at IR_Detected var nib(2) ' Was object detected? 0 = No, 1 = Yes IR_Status var byte ' IR Detection status - 1 = Left Front, 2 = Right Front, 3 = BOTH Front, 4 = Turret IR ' Expansion: 8 = Left Side (across wheel), 16 = Right Side (across wheel), 24 = BOTH ' Sides (across wheels). index var nib ' Index into the IR Arrays

And this code:

for index = 0 to 2 IR_Distance(index) = 0 IR_Detected(index) = 0 next

All the for loop does is initialize those two small arrays, but as soon as I uncomment that for-next loop, everything stops working. When I comment that out, everything starts working again!

8-Dale

That is your problem. You for next loop is going from 0 to 2(3 loops,0 1 and 2). But you’ve only defined the variable arrays as 2. You need to define them as 3 or change your loop to 0 to 1.

P.S. There is no bounds checking in MBasic so when using arrays you can go over their boundaries without any error message. Basically you’ll start trashing other memory locations if you go outside the array boundaries.

Oh, crap, that’s right! Dang, no wonder some other things are not working. It’s back to the debugging stage now… I feel so silly that I missed that error in my coding.

8-Dale