Atom Pro IDE 8.0.1.11 bug list

Wow lots of updates from Nathan lately, I will try to figure out what has changed. I invite any clarifications, omissions, or any additional info to keep this accurate. Thanks!

Fixed…
IICINT invalid label: Fixed an invalid label in the enable command when used with the IICINT. Was referencing ICCR which is now called ICCR_OLD. The 3664 I2C registers all had the _OLD added to their names so they won’t conflict with the 3694 I2C registers.

New: Added new interrupt handlers for I2C hardware on 3694. used just like any of the other basic interrupts with ONINTERRUPT.
IICINT_TDRE
IICINT_TEND
IICINT_RDRF
IICINT_NACKF
IICINT_STOP

Note that if using a 3664 based module only ONINTERRUPT IICINT is available because it’s i2c hardware does not support the extended interrupts for I2C. Also if using ONASMINTERRUPT use IICINT for both 3664 and 3694 and as usual with ASM interrupts you have to handle all the flag processing.

New:
Fixed so global interrupts are NOT enabled by default(this is the I flag of the CCR register for those that care). To enable/disable global interrupts you MUST use enable/disable without arguments.

New:
Added checks for the specific interrupt being enabled on all multi flag interrupts in Basic. For example when using the WKP interrupts all 6 WKP pins interrupt through the same single interrupt so if WKP0 was not currently enabled but was defined(eg had an ONINTERRUPT handler) but WKP1 was enabled and both WKP0 and WKP1 had been flagged because of their pin states changed then when the interrupt triggered instead of WKP1s handler being called WKP0s handler would be called even though it was currently disabled. No a check is made to make sure the interrupt is in fact enabled before processing the handler.

Hservo: Prior to 8.0.1.8 interrupts were always being enabled even though most people weren’t using interrupts. That change required hservo and hserial to enable them. The required code was added for hserial, but it wasn’t done for hservo. That has been fixed.

Debug: Nathan had added the ability to disable the debugger on the fly so sections of user code could run at nearly full speed while still being able to debug other sections. Seems he had the flag backwards so it was disabled by default.

FCON: Undefined issue, just read that it was fixed.

IDE program property color Highlighting: Some were not defined. It’s on going, Nathan is asking for input from users on this. It will also have the ability to get information from multiple files in the same project. Should be available in 8.0.1.11.

ASM{}: Undefined error, just read that it was fixed.

_I2COUTFUNCCMD: A character was deleted from the file.

Unresolved
Digitally signed EXE’s so Vista will not complain that an undefined program wants access to your computer.

Build number in About Box. To help ensure the version that is being run.

Many ideas were discussed with Kurt for useful features in in-line assembly and other things. Here is a link to the old bug list page.
lynxmotion.net/viewtopic.php?t=4508

Basic IDE problems…

  1. If you double click on a basic atom program (with the IDE closed), the IDE will open ONLY the program you double clicked on. Any previous programs open will no longer be in the IDE window. The new program does NOT appear in the workspace. The old program will still appear, in that the build button will still say “Build temp.bas” (which is the last file I had open) it is however, still greyed out so you can’t really do anything with it.

  2. With the IDE already open, double clicking on a basic atom program will bring the IDE to the front, but no file will be opened. This happens both when you have a file open and when you do not.

  3. The IDE will not open multiple files with the same name, but are in different locations.

  4. You CAN drag-and-drop a file into the IDE. It will open and appear in the workspace.

  5. A little unrelated to the rest, but you cannot use ctrl-backspace to erase a word. Unlike other times when this doesn’t work, it doesn’t input an invisible character, it just does nothing. Any chance of making it able to erase the whole word? Is the IDE VI editor command capable?

Thanks Jim!

Sure would be great if there was something like this that was some how accessable from the IDE. Either as a file that is downloaded, or a web link as part of the help menu to some common place, like this or maybe to the WIKI.

Kurt

P.S. - Hopefully their document writers will also update the atompro.pdf to reflect what is actually in the IDE.

What about the bug with the debuger button, When pressed to go to debug mode in version after 8.0.1.7 all sorts of errors come up
see lynxmotion.net/phpbb/viewtopic.php?t=4871

I tried all the latest version (8.0.1.8, 8.0.1.9, 8.0.1.10). All of them seem to have the same problem. Only 8.0.17 works. Will this be fixed in the newer 8.0.1.11 ?

  1. 8.0.1.7 debugger worked fine for many other people. What you have is a program specific bug not a debugger bug. I just checked your code to confirm this.

  2. 8.0.1.8 debugger did work but was disabled by default. I add a flag variable to allow the debugger to be enabled/disabled on the fly in user code but I made a mistake and it was off by default.

  3. 8.0.1.10 fixed the flag issue so the debugger worked(I just ran this simple test app to prove it).

main pause 100 pause 100 goto main

You bug has not been fixed. I’m looking into it now.

8.0.1.11 is now available.

basicmicro.com/downloads/sof … _80111.exe

Fixed the .stabs error that happend in some user code when compiling for debug.

Added project wide color highliting
Fixed some other color highliting issues.

Added DEBUG_DISABLE variable. Default to 0. Set to 1 to run code at near full speed until DEBUG_DISABLE is set back to 0

[code]main:

high p1
high p2
high p3

debug_disable = 1

pause 50

low p1
low p2
low p3

pause 50

debug_disable = 0

gosub tt1
goto main

tt1:
'do nothing
return [/code]

AN# are renesas pinouts and those are physically hardwired. However the pin number(eg P#) that is used with ADIN is controlled via the library. I’ll double check that each P# matches to the physical pin used by the ADIN command this weekend and fix any discrepencies.

I am trying to debug some issues with the arm on my rover, so I extracted some of the code and ran it under the debugger. There appears to be a minor issue, where the Step-over command appears to do the same thing as the Step-into in that it calls into the function instead of steping over it.

Kurt

I know this probably is not the right place to post this, but I seem to be having an issue with the Basic Atom IDE (not the Atom Pro IDE). Whenever I’m in debug mode and I hit disconnect, sometimes I forget to click “pause” first. And when I forget the IDE crashes and I have to end the process in the task manager. It also crashes when I turn the robot off and then hit disconnect.

Acidtech, is there maybe something you can do about this? can you make it so that when you click disconnect the IDE will automatically “pause” the program if it’s not already paused?

You could at least mention which of the two Atom IDE’s you are using. If it’s the old one you are out of luck. There will never be any updates to it. Not sure about the newer one.

it’s 5.3.1.0.

For installs there isn’t a fix right now. Basic Micro needs to get the thing signed. However for the use of the program James suggests turning off the UAC user account control to stop the annoying “are you sure you want to do this” messages.

Thought I would summarize a few other issues that have come up in other threads.

Using shiftin and/or shiftout can cause HSERVO to not work properly, which shows up with some of the servos twitching. It appears like the twitch will only happen to those servos which are on the same H8 IO port as the shiftin/shiftout. More details on this thread:
lynxmotion.net/viewtopic.php?t=5224&postdays=0&postorder=asc&start=15
Note: Nathan(acidtech) is working on this one.

The compiler does not allow the /#min on the IO modifiers to compile in the HSERIN command. I believe this has shown up in a couple of threads, including: lynxmotion.net/viewtopic.php?t=5258

I remember in another thread, the example in the manual does not compile: ant var word bat var word cat var word sethserial h2400,h8databits,hnoparity,h1stopbits hserin [dec4 ant\4, bat, hex3 cat\3]

Kurt

Thanks for the post Kurt! This is exactly what the thread is for! 8) Thanks again!