#1 is the easiest and least important, allow the High/Low command to do multiple pins at once.
IE
HIGH p1,p4,p11,p21
#2, timed HIGH/LOW that works in the background,
THIGH pin, delay in ms
TLOW p5, 4000 ;sets p5 low after 4 seconds
THIGH p10, 5 ;sets p10 high after 5ms
TLOW p0, 600000 ; sets P0 low after 1 hour, regardless of what the program is doing.
The reasoning is so you can have a pin set high or low, even if your code is in the middle of something else.
This way it'll go low after the specified amount of time, without having to use pause, or try to figure out exactly where in your code to add the lows. This would be good for security, as you don't need to stop monitoring sensors in order to have a timer.
I'm sure there are plenty of other things where such a timer would be nice.
I assume it can be done in the background, where every loop adds 1 point to a counter, and once it hits the desired amount, it causes an interrupt. Though there may be an alternative to this that i haven't tried or found yet, i don't know, i'm still learning as i go.
#3. automatic 3x3, 3x4 and 4x4 keypad.
just select the rows and column pins, and the digits and the IDE/Atom do the rest.
Keypad workspace, [col\row\output,col\row\output] ;and so on
for example
Code:
___C1 C2 C3
R1[1][2][3]
R2[4][5][6]
R3[7][8][9]
Code:
value var byte
main
keypad value, [col1\row1\1,col2\row2\2..............col3\row3\9]
seriout s_out,i9600,[value,13]
pause 500
goto main
Programming keypads is a real pain in the butt as i recently found out, something that should be simple, takes many lines of code, and depending on your programming style, may not be very efficient, mine certainty isn't very efficient.
Edit:
Still want some way of setting the MCU and com port inside the bas file, especially now since i'm working with 4 different atoms., the nano 18, nano 28x, pro 28 and pro 40. I've been goofing up more and more now that i'm using a wider range of atoms.