Programming Editor Wishlist

Technical

Technical Support
Staff member
With the start of a new year we would you like to ask what you would like to see in future editions of the PICAXE Programming Editor software? We already have a list of commonly requested features (such as support for separate .inc files), but would like to ask the community for their top requests.

So, for instance, if you have a good idea such as a 'forum copy' menu (like normal copy but automatically adds the [code] tags) then please let us know.

We can't promise all requests will be included in PE6, but would love to take this opportunity to hear your suggestions!

Thanks
 

srnet

Senior Member
Prevent it loading two copies of the same file !

This would significantly reduce the risk of overwriting a modified file with an old copy of the same name.
 

inglewoodpete

Senior Member
Please put a "Save As..." Button on the tool bar. This promotes regular changes of file revision number in the filename: a good programming practice.

If you don't want to permanently add a "Save As..." button, how about an option to users to include it if they want to?
 

nick12ab

Senior Member
So, for instance, if you have a good idea such as a 'forum copy' menu (like normal copy but automatically adds the [code] tags) then please let us know.
Maybe even with colour syntax highlighting...

Please put a "Save As..." Button on the tool bar. This promotes regular changes of file revision number in the filename: a good programming practice.

If you don't want to permanently add a "Save As..." button, how about an option to users to include it if they want to?
Or even a save new revision button which automatically saves a new copy with a different number on the end. This feature would be relatively easy to do.
 

SAborn

Senior Member
As i had requested in a different thread, a form of encrypting ones code or putting it into a Hex format that PE could decode and do a download with and not display the code in the file.

The reason being often some of us need to give a update version of code and wish not to disclose our full code for all to see.
With present methods this is not a option other than sending a replacement chip.
 

Haku

Senior Member
A "Check Firmware" button in the row of buttons at the top of the screen, that way you can quickly test wether the Picaxe connected to the selected com port is 'alive' without having to go to the options menu.

Proper scrollbars. This has to be the thing which bugs me the most about the PE, the scrollbars are stuck in Windows 3.11/95 era where when you slide the vertical scrollbar down to the bottom you get a blank page with the last line of code at the top. The horizontal scrollbar is even worse as its size bears no relation to the width of the code.

Automatic revision history. Every time you save a program a backup is stored, and the backup of the previous backup is stored etc. so you can have viewable (but not directly editable) access to the last 10/20/30/X saves of the file. With the programs being relatively miniature compared to the size of an average harddrive there shouldn't be any space issues.
 

mrburnette

Senior Member
Please put a "Save As..." Button on the tool bar. This promotes regular changes of file revision number in the filename: a good programming practice.

If you don't want to permanently add a "Save As..." button, how about an option to users to include it if they want to?
For me, a more useful option would be to have an check-box option in the editor to change the behavior of SAVE so that SAVE always appends something to keep the file unique... be it time or a sequential serial number... 0001, 0002, etc. IMO there is no reason to have another button on the ribbon, just a behavior change in the options. This behavior change would also fit well with an AUTO-SAVE every xx minutes, too. For Windows, the "zip" compression utility is part of Windows, so the separate files could exist within a ZIP archieve... Only the last <filename>.nnnn would be exposed in the filesystem. Behavior would be like:
- Autosave is on at 5 minutes
- New code is being written
- at New + 05 minutes, file YYYYMMDD.0001 would be written to the filesystem
- at New + 10 minutes, file YYYYMMDD.0002 would be written to the filesystem and YYYYMMDD.0001 would be copied to YYYYMMDD.ZIP
- file YYYYMMDD.0001 would be removed from the filesystem

When the user does a File Save As or on first use of File Save, then the default "YYYYMMDD" can be changed at that point forward to a filename. Or, Users can just use the editor options to install their own private long filename as a default.


- Ray
 

Armp

Senior Member
Previously requested:


  • A line break or continuation symbol to allow long lines to be broken into readable pieces. Just as ":" allows multiple lines to be combined I'd like to break long SERIN lines into segments.

  • ASCII option on the Simulator Display windows.

  • 'Sticky' option buttons so the Simulator display windows pop up with my last selected options, and I don't have to reselect WORD every time I rerun the simulation.

  • WORD option on EEPROM/DATA to avoid having to break words into 2 bytes and swapping order.
    Ideally with brackets
    ie DATA 0, WORD (1234, 5432,$FF00,.....).


How about a list of what has been suggested or is being considered to avoid repetition?
 

premelec

Senior Member
Variable cross reference listing

Ability to have a listing output of where variables are being used and under what symbol name also - as programs get longer and variables are limited the re-use of the same variable for different purposes can lead to trouble - So a listing of where variables are used [by line numbers] would help tracing troubles.
 

Buzby

Senior Member
listing output of where variables are being used and under what symbol name
A cross-reference table of symbols, handling overlapped definitions of bits/bytes/words.
Line by line xref would be nice, but the list could get long.
Simpler, but very useful, is a list of variables showing on which lines they are assigned values.

'Watch windows', where user-defined lists of symbols can be viewed
This would allow a much clearer view when one variable is represented by different symbols in different routines.
Each variable should be able to displayed in a different format ( ascii, hex, dec, binary, etc. ).
The lists should be able to be saved and loaded as text files.
Something similar for viewing EEPROM contents.

The 'Simulate -> Connect' function !.
 

Dippy

Moderator
I'll definitely go along with Auto Save.
I'd also add an Option to Automatically Save when the Program(me) button is clicked.


Split screen option editor to save my scroll button, or being able to open a second window with same code linked and any saves are saved as one (so you only have a single work-onable version at any one time if you see what I mean).


And I have one HUGE WIBNI that is so big that it requires watering.
A certain competitor offers a routine which generates a single executable file - comprising the compiled/tokenised code + the loader.
This means commercial Customers can be emailed the 'new and improved' code in a single unviewable lump and they can programme their Micro without being able to see the Author's code.
This would be better than a lot of Pro PIC offerings.
I know it's quite a job , and I don't know whether the time is justified, but it's bloomin' good.
 

hamtech

Member
Step function on F key

a single step function for the simullator using a F key would be better as I have said elsewhere. it is a pain to single step using the mouse whiich requires at least two actions and a steady hand.
 

Technical

Technical Support
Staff member
Thanks for all the suggestions - keep them coming. Most of these are already on our list so we still want more!

Dippy - splitscreen is already there - simply grap the little bar at the top of the vertical scrollbar and drag down. Also works on horizontal scrollbar if you want 4 tiles!
 

Haku

Senior Member
Split screen option editor to save my scroll button, or being able to open a second window with same code linked and any saves are saved as one (so you only have a single work-onable version at any one time if you see what I mean).
This already exists, see the little button above the vertical scroll bar arrow button, and the button left of the horizontal bar arrow button, click hold & drag them:



Drag the vertical one to get this:


Drag the horizontal one to get this:


Drag both to get this:


Dragging the bar to either end will remove it. Anything you edit in either plane affects what the other plane displays - you're editing a single piece of code through 2 or more views.
 

Technical

Technical Support
Staff member
a single step function for the simullator using a F key would be better as I have said elsewhere. it is a pain to single step using the mouse whiich requires at least two actions and a steady hand.
Already present - break your program on a particular line and then click on the } single step button on the simulation panel once (so that Window is highlighted).
You can then use the space bar to continue single stepping.
 

Buzby

Senior Member
Faster simulation would be nice. Maybe even run with no GUI until break condition met.
( Great for checking what happens after 65535 trips round the DO LOOP, without having to have every instruction padded out to 20mS )
 

Armp

Senior Member
Faster simulation would be nice. Maybe even run with no GUI until break condition met.
( Great for checking what happens after 65535 trips round the DO LOOP, without having to have every instruction padded out to 20mS )
Hadn't thought of that one - YES PLEASE!!
 

SgtB

Member
I'd like to be able to toggle the pin input values during simulation. Possibly even set the adc input voltage on a pin.
 

Buzby

Senior Member
Another 'watch window' type, trending variable's values.

Digital bit trends ( Hi/Lo ) are especially good for binary and combinatorial work, they work like an 8 channel logic display.

Analogue trends work like an 8 channel oscilloscope.

( You can have both types in one window. )
 
Last edited:

Buzby

Senior Member
I'd like to be able to toggle the pin input values during simulation. Possibly even set the adc input voltage on a pin.
If I think what you mean, then it does it already.

Just click the pin ( B.0, B.1 etc. ) on the simulator representation of the PICAXE pinout.
It will turn yellow to indicate the pin is now High.
 

Hendriks

Member
Maybe swapping function of F5 and CTRL-F5 would be an idea; since starting simulation has less consequenses than downloading a new program to the picaxe.

Also, if I may, saving with another extension than *.BAS (maybe *.axebas) so when clicking on a Picaxe file doesn't start Visual Basic but the Picaxe editor instead.
 

nick12ab

Senior Member
Maybe a bit demanding but how about dedicated icons for PICAXE Basic files such as:



.ICO file attached in zipped folder

To associate in Windows 7: Navigate to HKCR\bas_auto_file\DefaultIcon (in registry). Set the value of the (Default) key to wherever the icon is. The file must have been previously associated with PICAXE Programming Editor through the 'Open With...' dialog.
 

Attachments

BeanieBots

Moderator
I'd like an extra frame in the pwmout wizard to calculate the other way.
More often than not, when I use pwmout the frequency only needs to be approximate. The range of duty is of more importance.
eg if I want to control the PWM over 1000 steps at ABOUT 20kHz, what values should I use and what will the ACTUAL frequency be.
Even a simple enter period and duty to calculate frequency and %duty would be helpful.
 

Goeytex

Senior Member
The ability to turn off the "always on top" feature when the simulator runs. I usually have other programs open and want the option to decide for myself what is on top.
 

cravenhaven

Senior Member
Fix compatibility between the simulator terminal emulator and the real terminal emulator.
eg:
SERRXD b1,b2 requires a response of <char>,<char><ENTER> in the simulator, but <char><char> in the real TE. ie must include the comma and <ENTER> in the simulator but not in the real world.
Also to enter an alpha character it needs to be enclosed in quotes in the simulator but not in the real world.
 

lewisg

Senior Member
Command line switch to force serial port selection. It's a real drag on a laptop with Bluetooth and a few USB->serial adapters to wait up to 90 seconds for the PE to fiddle around and start.
 

MartinM57

Moderator
Brackets, arrays/structures, long integers, floating point variables and functions, string variables and functions, parameter passing (any data type), function return values, local/static variables, ability to create and use code libraries ...well that's assuming the "PE" includes PICAXE BASIC...and you did ask for a wish list :D

More realistically, on the usability side:
- icon bar items to comment/uncomment a highlighted block of text
- icon bar items to indent/un-indent a highlighted block of text
- when you highlight an opening or closing bracket, the matching closing or opening bracket is automatically highlighted
- show or hide non-printable characters (tabs/spaces/CRs)
 

Jamster

Senior Member
@ Martin, I posted some routines for doing basic 2D arrays: http://www.picaxeforum.co.uk/showthread.php?19581-Arrays-in-PICAXE&highlight=Arrays but it would be nice if it was built in :)

I would like better PWM simulation, instead of the basic square wave symbol that appears on the pin could we have some details like duty, period etc or even have the pin state light change brightness as if it were an LED attached to the pin?

Also similar for DAC would be nice. :)

What about being to import a second file? (ie. if you have a file full of functions then you could just say "#import function.bas" and it would be added to the end)

Jamster
 

john2051

New Member
Hi,
Further to Martinm57s comment, I would like to see procedures incorporated into picaxe basic, as used on the bbc micro.
I know that using gosub is similar, but I always thought procedures made code more readable, and easier to use.
just my penneth worth....

Regards... john
 

SAborn

Senior Member
Maybe swapping function of F5 and CTRL-F5 would be an idea; since starting simulation has less consequenses than downloading a new program to the picaxe.

Also, if I may, saving with another extension than *.BAS (maybe *.axebas) so when clicking on a Picaxe file doesn't start Visual Basic but the Picaxe editor instead.
No Way to this one!!!, obviously the OP has never had to program 100 chips , and F5 is perfect as it is for this application.
Please dont mess with this application.
 

Haku

Senior Member
Larger serial port selection list.

This is what we have now (it used to be a radio button selection panel with all the ports):


This is what I'd like to see:
 

Haku

Senior Member
Realtime syntax checking.

When you're busy typing away on your newest masterpiece to see individual lines (or words/sections) hilighted that don't pass the syntax check would be very nice to see, because usually problems are obvious and only need a minor correction so could be fixed there and then without having to press F4 for the syntax check window pop-up.

Your average PC nowadays isn't sluggish and I think could cope with doing realtime code editing monitoring.
 

smcmaster

New Member
- The ability to use multiple program files and link them together, not just include files
- multidimensional arrays
- single step simulation
- true function calls that can return values, i.e. y = my_func(x)
 
Top