Hi all - I'm just about to embark on an addition to a fairly major project I'm working and nearly have core functions completed.
The last thing to decide on it the provision of a method to allow users to set certain (limited!) parameters. Currently I have 3 trimpots being read by ADC, scaled and displayed on the LCD (in a special "setup" mode entered by key sequence). That works just fine but I am limited to 3 parameters using that method (4th ADC reading a voltage).
I'm using a 28x1 and my "main" code currently uses about 2k - so I have 2k of program space to play with (and can add an i2c eeprom for parameter storage easily as I have an i2c bus implemented in the design for i/o expansion).
What i'm looking for (and I have searched without finding anything - but maybe my search terms where not "optimal" - so no flames please!) is some ideas (read: IDEAS not complete code done for me!) on implementing a simple menu system on an LCD.
The concept is 3 buttons - ENTER/SAVE + UP & DOWN.
1 )UP & DOWN to scroll options, ENTER/SAVE to select
2) UP & DOWN to change value, ENTER/SAVE to save and exit back to main list
Anyone implemented something similar in a PICAXE?
I have spare "native" inputs and I *think* I can use the ADC inputs as digital inputs for buttons if they are not being used as ADCs - or I can "make" more i/o on my i2c bus for buttons - or I can port to a 40x1 if need be - that part of the project is still variable if required (*checks junk box for 40x1*)
Project concept is to have a fixed hardware setup (with i2c expansion capabilities) and have a "pluggable" firmware module (ie PICAXE in a DB37 backshell) that allows "major" upgrades to be done by the end user. We can then supply an expansion module (i2c) and a new firmware "plug".
Another option may be to build in an SD card and use a non-picaxe (shh) PIC chip with bootloader that pulls the upgraded FW off the SD card.....but thats down the track a bit.....
Cheers
Stocky
The last thing to decide on it the provision of a method to allow users to set certain (limited!) parameters. Currently I have 3 trimpots being read by ADC, scaled and displayed on the LCD (in a special "setup" mode entered by key sequence). That works just fine but I am limited to 3 parameters using that method (4th ADC reading a voltage).
I'm using a 28x1 and my "main" code currently uses about 2k - so I have 2k of program space to play with (and can add an i2c eeprom for parameter storage easily as I have an i2c bus implemented in the design for i/o expansion).
What i'm looking for (and I have searched without finding anything - but maybe my search terms where not "optimal" - so no flames please!) is some ideas (read: IDEAS not complete code done for me!) on implementing a simple menu system on an LCD.
The concept is 3 buttons - ENTER/SAVE + UP & DOWN.
1 )UP & DOWN to scroll options, ENTER/SAVE to select
2) UP & DOWN to change value, ENTER/SAVE to save and exit back to main list
Anyone implemented something similar in a PICAXE?
I have spare "native" inputs and I *think* I can use the ADC inputs as digital inputs for buttons if they are not being used as ADCs - or I can "make" more i/o on my i2c bus for buttons - or I can port to a 40x1 if need be - that part of the project is still variable if required (*checks junk box for 40x1*)
Project concept is to have a fixed hardware setup (with i2c expansion capabilities) and have a "pluggable" firmware module (ie PICAXE in a DB37 backshell) that allows "major" upgrades to be done by the end user. We can then supply an expansion module (i2c) and a new firmware "plug".
Another option may be to build in an SD card and use a non-picaxe (shh) PIC chip with bootloader that pulls the upgraded FW off the SD card.....but thats down the track a bit.....
Cheers
Stocky