hippy
Ex-Staff (retired)
My wishlist for future PICAXE developments. I know that some of these would not have backwards compatibility with existing PICAXE
firmware, but thought I'd get the whole lot off my chest in one go, as we've now been given that opportunity.
I also realise that some of these features are possibly specific only to advanced users, who should perhaps be looking at alternative devices such as native PICmicro devices. I also know that some of the things I'd like are not simple to implement and especially on a constrained device as a PICAXE. But here I go anyway ...
<b>Increasing the number of Variables </b>
More directly accessible variables would be nice, just adding 'b14', 'b15' and 'w7' would be a nice and logical start.
<b>Extend PEEK and POKE addessing </b>
PEEK and POKE are limited to accessing only $00 to $FF of SFR. It would be nice to have access to the full SFR space which some PICAXE's have.
<b>An INFRAOUT command </b>
There's no easy way to create an IR transmitter at the present.
<b>Interrupt changes </b>
Being able to interrupt a SERIN and INFRAIN while waiting to receive data or having some means of 'timing out' would be nice. Being able to detect a download hapening when waiting would also be nice.
<b>Allow constant expressions for SYMBOL </b>
This can make changes to code much easier to do, ie ..
- SYMBOL BASIC_DELAY = 10
- SYMBOL MAIN_DELAY = BASIC_DELAY/2
- SYMBOL LONG_DELAY = BASIC_DELAY+10
<b>Additional control structures </b>
Introducing IF/THEN/ELSE, WHILE/DO, REPEAT/UNTIL and SELECT CASE control structures would greatly enhance the Basic Language.
<b>Conditional Compilation </b>
Conditional compilation would allow a single piece of code to be written for a multitude of PICAXE devices which may have different memory capabilities and other facilities.
<b>Better error reporting </b>
"Mistake in this line" is not always the most useful message, leaving the user to try and work out what's wrong when the compiler clearly knows ;-)
<b>Allowing Assembly Language Routines </b>
The ability to import a single PICMicro .HEX file into the program code image which can then be called would allow assembly code to be used for timing sensitive and high-speed operations. A typical case would be in generating pulses for an IR transmitter.
<b>Single Stepping </b>
The ability to have the PICAXE stop after every DEBUG statement until a key is pressed, or allowing the PICAXE program to be single-stepped a statement at a time would enhance debugging.
firmware, but thought I'd get the whole lot off my chest in one go, as we've now been given that opportunity.
I also realise that some of these features are possibly specific only to advanced users, who should perhaps be looking at alternative devices such as native PICmicro devices. I also know that some of the things I'd like are not simple to implement and especially on a constrained device as a PICAXE. But here I go anyway ...
<b>Increasing the number of Variables </b>
More directly accessible variables would be nice, just adding 'b14', 'b15' and 'w7' would be a nice and logical start.
<b>Extend PEEK and POKE addessing </b>
PEEK and POKE are limited to accessing only $00 to $FF of SFR. It would be nice to have access to the full SFR space which some PICAXE's have.
<b>An INFRAOUT command </b>
There's no easy way to create an IR transmitter at the present.
<b>Interrupt changes </b>
Being able to interrupt a SERIN and INFRAIN while waiting to receive data or having some means of 'timing out' would be nice. Being able to detect a download hapening when waiting would also be nice.
<b>Allow constant expressions for SYMBOL </b>
This can make changes to code much easier to do, ie ..
- SYMBOL BASIC_DELAY = 10
- SYMBOL MAIN_DELAY = BASIC_DELAY/2
- SYMBOL LONG_DELAY = BASIC_DELAY+10
<b>Additional control structures </b>
Introducing IF/THEN/ELSE, WHILE/DO, REPEAT/UNTIL and SELECT CASE control structures would greatly enhance the Basic Language.
<b>Conditional Compilation </b>
Conditional compilation would allow a single piece of code to be written for a multitude of PICAXE devices which may have different memory capabilities and other facilities.
<b>Better error reporting </b>
"Mistake in this line" is not always the most useful message, leaving the user to try and work out what's wrong when the compiler clearly knows ;-)
<b>Allowing Assembly Language Routines </b>
The ability to import a single PICMicro .HEX file into the program code image which can then be called would allow assembly code to be used for timing sensitive and high-speed operations. A typical case would be in generating pulses for an IR transmitter.
<b>Single Stepping </b>
The ability to have the PICAXE stop after every DEBUG statement until a key is pressed, or allowing the PICAXE program to be single-stepped a statement at a time would enhance debugging.