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…
-
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.
-
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.
-
The IDE will not open multiple files with the same name, but are in different locations.
-
You CAN drag-and-drop a file into the IDE. It will open and appear in the workspace.
-
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?