Command SETUP(System)
 
Description Set up the system. These parameters can be set at initialisation or at any time during operation by specifying the parameter to be changed. Example: SETUP( SYSTEM ){ bled=50; }. To change a setting use a dot operator as follows: LOAD( SYSTEM.bled, 50 );
 
Syntax/Parameters Setup(System)
{
...
}
 
Options startup = all;    display messages and progress bar at start up using startup=all or none or bar.
bled = 100;       set backlight to OFF=0 or ON=100 (1-99 brightness levels available v4 PCB, v32 firmware)
wdog = 1000;    set the watchdog time out period in milliseconds.
rotate = 0;        set the rotation of the screen with respect to PCB. This is stored in EEPROM for use with boot messages.(0, 90, 180 or 270)
test = hide/showTouchAreas;    hide or show touch areas during product development
angles = degrees;    select degrees or radians for calc functions
encode = s, w, m;    menu text strings can contain single byte ASCII (s), 2 bytes for UNIcode (w) or multibyte for UTF8 (m)
calibrate = y;    initialise the internal touch screen calibration screen. This automatically returns to the previous page on completion. If it is necessary to abort then send SETUP( SYSTEM ) {calibrate=n;}
clkfreq = 92000000;    Main external bus clock is changeable in 2MHz steps from 80MHz to 92MHz (default).
ignore = allErrors;    Ignores all errors and continues execution (only recommended in test as can cause undesired results - error messages are still sent from a serial port set to debug, ie rxi=d;).
= invalidJpg; Ignores errors for unsupported JPG formats (eg progressive) and the image is skipped
= imageTooBig; Ignores errors when there's not enough memory to load image and the image is skipped

System Version
The software and hardware versions can be read to a serial port or text variable.
   LOAD( RS2, VERS_IBOOT ); returns NAND bootloader version
   LOAD( RS2, VERS_ILOADER ); returns main loader version
   LOAD( RS2, VERS_IAPP ); returns main application version
   LOAD( RS2, VERS_IMODULE ); returns module name and version

Startup Information - v42.00
Displaying of messages and progress at start up now configurable using SETUP(SYSTEM){startup=all|none|bar;}
Word 'DEMO' changed to 'PROTO' in version message as this software is still not formally released.

Touch Calibration - v47.24
Create your own calibration screen and store parameters in host.

Touch Calibration points can now be set in system setup with user parameters.
> To use:
   SETUP(system)
   {
   tch_loc_tlx = num; // Top Left Touch Point Location X
   tch_loc_tly = num; // Top Left Touch Point Location Y
   tch_val_tlx = num; // Top Left Touch Value X
   tch_val_tly = num; // Top Left Touch Value Y
   tch_loc_trx = num; // Top Right Touch Point Location X
   tch_loc_try = num; // Top Right Touch Point Location Y
   tch_val_trx = num; // Top Right Touch Value X
   tch_val_try = num; // Top Right Touch Value Y
   tch_loc_brx = num; // Bot Right Touch Point Location X
   tch_loc_bry = num; // Bot Right Touch Point Location Y
   tch_val_brx = num; // Bot Right Touch Value X
   tch_val_bry = num; // Bot Right Touch Value Y
   tch_loc_blx = num; // Bot Left Touch Point Location X
   tch_loc_bly = num; // Bot Left Touch Point Location Y
   tch_val_blx = num; // Bot Left Touch Value X
   tch_val_bly = num; // Bot Left Touch Value Y
   }
> also supports load(system.tch_loc_tlx,num); etc..

Touch Calibration points can also be read
> load(num,tch_loc_tlx); etc.. <- note "system." not used here

The actual touch values are obtained by using TOUCHX and TOUCHY built in variables.

Error Message Suppression - v49.00
Error messages can be ignored/suppressed for certain situations.
    SETUP( system )
   {
   ignore=imageTooBig; // Ignores errors when there's not enough memory to load image and the image is skipped
   ignore=invalidJpg; // Ignores errors for unsupported JPG formats (eg progressive) and the image is skipped
   ignore=allErrors; // Ignores all errors and continues execution (only recommended in test as can cause undesired results).
   //No messages are displayed on the screen, though they are transmitted on a serial port set to debug.
   }

Memory Usage Output - v49.00
A run-time memory allocation can be output of the diagnostic serial port by setting SETUP(system){test=showMemoryUse;}.

Note, that the transmit buffer should be at least 32KB otherwise transmit data may be lost.
The top location of RAM is 0x23FFFFFF.

Test Flags - v49.04
SETUP(SYSTEM){test=showLoadInfo;} displays loading file / line information on start screen

System Errors - v49.19
All system errors now allocated a fixed error number, which is displayed on the System Error Screen.
Details of the last error can be found from the built-in entities:
   SYSERRNUM (S32) Error number
   SYSERRSRC (TXT64) Source of error (menu file name or port name)
   SYSERRPOS (S32) Error line number in source file (if applicable)
   SYSERRMSG (TXT128) Error message for given error number
The variables maintain the last error information.

An error function can be specified which is called when a system error occurs:
   SETUP(SYSTEM) { errFunc=funcName; }

The system error will appear on the screen then the function will be called. The error screen is then cleared by tapping the touch screen. The error function should be kept simple, as functionality is restricted, such as enabling USB port to allow updates.

If SETUP(SYSTEM) { ignore=allErrors; } is set then just the error function is called, no error screen is displayed and no touch is required.
All errors are always sent to a port set to debug (rxi=d;) independent of the ignore or errFunc settings.

Error information can be found on the website click here

Screen Rotation - v49.25
Screen rotations of 0, 90, 180 and 270 degrees fully supported.

Use, for example, SETUP(SYSTEM){rotate=90;} at start of tuXXXa.mnu file. The value is stored in EEPROM and used to orientate boot messages etc on next boot.
Also boot startup messages centralised and rotated.
nandboot.bin V00.27
iuloader.bin V00.38

Touch Screen Calibration - Manual Save & Status - v49.37
* Added option to save manual touch calibration figures to EEPROM, either
SETUP(SYSTEM)
{
tch_val_tlx = 123;
...
tch_val_bly = 345;
touchSave = eeprom; // or "none" for no storage
}
or,
LOAD(SYSTEM.touchSave,eeprom);
* Added system parameter calFunc which is called when calibration is started and finished. Reading TCH_CAL value will indicate what stage the calibration is at.
SETUP(SYSTEM){calFunc=myFunc;}
FUNC(myFunc){LOAD(RS2,TCH_CAL);}
LOAD(SYSTEM.calibrate,y);
> myFunc will run when calibration page is shown - TCH_CAL value = 255 (calibrating)
> myFunc will run when calibration finished and previous page shown - TCH_CAL value = 1 (done)
> TCH_CAL value = 0 when touch is not calibrated.
* Added additional retry mechanisms for saving/retrieving values from EEPROM.


Storage of cal figures, screen rotate, and start up text in file: tu480a.cfg - v49.47
* To use the NAND config file for settings, add useCfg=y; to system setup,

SETUP(SYSTEM)
{
useCfg=y;
}

* File is named tuXXXa.cfg, where XXX is module size 320, 480, 640, 800. The file is stored in NAND in the "LIB" area.
* Typical Config File contents (note parameter values are all numeric within the file):

usecfg=1; // Use config file: 0=no, 1=yes
sbled=100; // Start-up back light level: 0 to 100
wdog=-1; // Watchdog: -1 unset, 0 off, 1-16000 time ms
rotate=0; // Screen rotate: 0, 90, 180, 270
startup=3; // Start-up: 0=none, 1=text, 2=bar, 3=text+bar
tch_loc_tlx=19; // Touch - TL x location
tch_loc_tly=19; // Touch - TL y location
tch_loc_trx=459; // Touch - TR x location
tch_loc_try=19; // Touch - TR y location
tch_loc_brx=459; // Touch - BR x location
tch_loc_bry=251; // Touch - BR y location
tch_loc_blx=19; // Touch - BL x location
tch_loc_bly=251; // Touch - BL y location
tch_val_tlx=87; // Touch - TL x value
tch_val_tly=912; // Touch - TL y value
tch_val_trx=928; // Touch - TR x value
tch_val_try=905; // Touch - TR y value
tch_val_brx=912; // Touch - BR x value
tch_val_bry=131; // Touch - BR y value
tch_val_blx=84; // Touch - BL x value
tch_val_bly=132; // Touch - BL y value

* Changes made by SETUP(SYSTEM){} and LOAD(SYSTEM.param,val); will modify the file.
* Following touch screen calibration, the calibration parameters will be stored to the config file.
* The new file is compared with the file stored in NAND and only overwritten if different to save NAND write cycles.
* When a RESET(NAND); or RESET(NANDLIB); is issued, the config file is preserved by reading file into memory, erasing NAND,
writing the config file back to NAND.
* A RESET(FACTORY); will erase the config file.
* Parameters are read from EEPROM initially and then overwritten by parameters from the config file.
* If an EEPROM is not fitted, then useCfg will default to y.

Start-up backlight level ''sbled'' - v49.47
* A start-up backlight can be specified.

SETUP(SYSTEM)
{
sbled = 100; // Values 0 to 100
}

* This value is used as the default level rather than the current 100% value.
* Value is also stored in EEPROM and used for boot-up screens.

New boot code created:
nandboot.bin V00.31
iuloader.bin V00.43
 
 
Example  SETUP( SYSTEM )
 {
   bled=100;
   wdog=100;
   rotate=0;
   calibrate=n;
   test=showTouchAreas;
   angles=degrees;
   startup=all;
   encode=s;
   clkfreq=92000000;
 }
 
Update Information

 Version

 Title

Date  

 Details

49.58

 Calibration

07 Sep 15 

Show

* Cal complete flag now gets set after the show(prev_page) at end of calibration

00.12.00

 Module Detection

03 Sep 15 

Show

Moved pumaNova V1/V2+ detection to earlier in the code so EMMC bus width is known before reading config from EMMC.

49.54

 Faster Startup

13 Mar 14 

Show

* Improved NAND file read times. A typical 480x272 bitmap image now takes 187ms to load from NAND (was 400ms).
* Improved LIB image processing time. A typical 480x272 bitmap image now processes (after loading) in 205ms (was 467ms).
* Improved boot times saving about 600ms.
* Improved *.tft processing in boot. Bug. If a *.tft was present on the SD card during boot then an extra about 5s was taken evaluating if the file was different from that in NAND before checking the time and dates of the files! This extra time has now been eliminated by checking the time/date first.

nandboot.bin V00.34
iuloader.bin V00.45

49.54

 Boot splash image - new scheme

05 Mar 14 

Show

* Following from last release, new scheme for showing splash screen added. After eeprom wipe the splash screen will not be shown until first run when a new rotate will be written - assumed 0 deg if nothing specified in system setup.
* The splash image is now rotated once again with the screen rotate.

49.52

 Support for 128M SDRAM Modules

28 Feb 14 

Show

* Support added for new 128MB SDRAM 4.3", 5.7" and 7.0" Products
* Solder links for 128M SDRAM modules.
TU480 J21B PC20
TU640 J21I PC26
TU800 J21K PC30
* Boot code modified to support new modules:
nandboot.bin V00.33
iuloader.bin V00.44
boot.bin V00.26
newflash.bin V00.32

49.48

 ''tuXXXa.mnu'' Module Independent Start File

29 Nov 13 

Show

* Allows the use of a module startup file which is not dependent on the module in use. This allows for a common startup file to be used on all size displays.
* For example, for a 480x272 module
Looks for "tu480a.mnu" file on SD card (if fitted) and processes if found else
Looks for "tuXXXa.mnu" file on SD card (if fitted) and processes if found else
Looks for "tu480a.mnu" file in NAND and processes if found else
Looks for "tuXXXa.mnu" file in NAND and processes if found else
Run Default Startup

49.48

 Re-Entry into Calibration causes Page Error

21 Nov 13 

Show

* Fixed a Page error problem when touch screen calibration was entered more than once.
* Module threw error as re-entry to calibration attempted to create page again. Now checks to see if page already exists.

49.47

 Start-up backlight level ''sbled''

08 Nov 13 

Show

* A start-up backlight can be specified.

SETUP(SYSTEM)
{
sbled = 100; // Values 0 to 100
}

* This value is used as the default level rather than the current 100% value.
* Value is also stored in EEPROM and used for boot-up screens.

New boot code created:
nandboot.bin V00.31
iuloader.bin V00.43

49.47

 Storage of cal figures, screen rotate, and start up text in file: tu480a.cfg

01 Nov 13 

Show

* To use the NAND config file for settings, add useCfg=y; to system setup,

SETUP(SYSTEM)
{
useCfg=y;
}


* File is named tuXXXa.cfg, where XXX is module size 320, 480, 640, 800. The file is stored in NAND in the "LIB" area.
* Typical Config File contents (note parameter values are all numeric within the file):

usecfg=1; // Use config file: 0=no, 1=yes
sbled=100; // Start-up back light level: 0 to 100
wdog=-1; // Watchdog: -1 unset, 0 off, 1-16000 time ms
rotate=0; // Screen rotate: 0, 90, 180, 270
startup=3; // Start-up: 0=none, 1=text, 2=bar, 3=text+bar
tch_loc_tlx=19; // Touch - TL x location
tch_loc_tly=19; // Touch - TL y location
tch_loc_trx=459; // Touch - TR x location
tch_loc_try=19; // Touch - TR y location
tch_loc_brx=459; // Touch - BR x location
tch_loc_bry=251; // Touch - BR y location
tch_loc_blx=19; // Touch - BL x location
tch_loc_bly=251; // Touch - BL y location
tch_val_tlx=87; // Touch - TL x value
tch_val_tly=912; // Touch - TL y value
tch_val_trx=928; // Touch - TR x value
tch_val_try=905; // Touch - TR y value
tch_val_brx=912; // Touch - BR x value
tch_val_bry=131; // Touch - BR y value
tch_val_blx=84; // Touch - BL x value
tch_val_bly=132; // Touch - BL y value

* Changes made by SETUP(SYSTEM){} and LOAD(SYSTEM.param,val); will modify the file.
* Following touch screen calibration, the calibration parameters will be stored to the config file.
* The new file is compared with the file stored in NAND and only overwritten if different to save NAND write cycles.
* When a RESET(NAND); or RESET(NANDLIB); is issued, the config file is preserved by reading file into memory, erasing NAND, writing the config file back to NAND.
* A RESET(FACTORY); will erase the config file.
* Parameters are read from EEPROM initially and then overwritten by parameters from the config file.
* If an EEPROM is not fitted, then useCfg will default to y.

49.44

 Problem with reset affecting modules with battery fitted

10 Oct 13 

Show

A problem can occur that results in the module being unable to power up correctly. This is related to the RTC and only affects modules with a battery (or external VBATT supply).

If a battery is attached and power down occurs when a Real Time Clock interrupt is pending, the outstanding interrupt is retained in battery backed RAM.
When re-powering the module, the pending RTC interrupt is triggered before initialisation of the RTC registers causing a lock up.

The solution was to add code to clear any pending RTC interrupts during initialisation.

Fixed in
boot.bin V00.24
nandboot.bin V00.30

49.44

 Nesting of priority INT()s

09 Oct 13 

Show

New functionality has been added to support nesting of priority INT()s, ie a priority interrupt can be interrupted by another priority interrupt with a higher priority (this is now the default behaviour).

A system setup variable has been added to disable this functionality.
SETUP(SYSTEM){ intNest = y | n; } // default = y;

For 'y', priority INT()s can be interrupted by higher priority INT()s
For 'n', priority INT()s run to completion, then the highest pending priority INT() is processed next.

49.42

 PWM / Backlight Conflict

06 Sep 13 

Show

* Fixed a problem with conflict with backlight channel. Caused a problem if BLED was set or error screen (as BLED is set to 100%)

49.39

 Updating Firmware - ''NAND Error - need physical block'' Error

13 Jun 13 

Show

When boot code is updated via a serial link (RS2, USB, AS1 etc), the error "NAND Error - need physical block" is reported.

It was found that the boot block range check was invalid when searching for "good" blocks. Fix available in V00.49.39

49.37

 Default Start-up - RS4 & USB

10 Jun 13 

Show

* Added RS4 at 115200,8,N,1 to ports enabled during default (ie no SD card found) start-up. RS4 enabled in command mode.
* Set USB receive buffer to 1MB instead of 8KB.

49.37

 Firmware Storage - Sequential Bad Block Problem - New Boot Files Created

10 Jun 13 

Show

* NAND fix to handle sequential bad blocks in saving of *.tft, nandboot.bin and iuloader.bin files. (Chances of two bad blocks is less than 1 in 10000)
* Updates applied to
> tu04937.tft
> newflash.bin V00.29
> iuloader.bin V00.40

49.25

 Screen Rotation - Screen rotations of 0, 90, 180 and 270 degrees now fully supported.

01 Nov 12 

Show

* Screen rotations of 0, 90, 180 and 270 degrees now fully supported.
* Use, for example, SETUP(SYSTEM){rotate=90;} at start of tuXXXa.mnu file. The value is stored in EEPROM and used to orientate boot messages etc on next boot.
* Also boot startup messages centralised and rotated.
nandboot.bin V00.27
iuloader.bin V00.38

49.21

 TOUCH - Added support for ICT capacitive touch panel.

11 Oct 12 

Show

Added support for ICT capacitive touch panel.
The follwing code must me used to enable the ICT touch screen:

SETUP(TOUCH)
{
type = ict;
}

49.19

 System Errors - All system errors now allocated a fixed error number, which is displayed on the System Error Screen.

05 Oct 12 

Show

All system errors now allocated a fixed error number, which is displayed on the System Error Screen. Details of the last error can be found from the built-in entities:
SYSERRNUM (S32) Error number
SYSERRSRC (TXT64) Source of error (menu file name or port name)
SYSERRPOS (S32) Error line number in source file (if applicable)
SYSERRMSG (TXT128) Error message for given error number
* The variables maintain the last error information.
* An error function can be specified which is called when a system error occurs:
SETUP(SYSTEM) { errFunc=funcName; }
* The system error will appear on the screen then the function will be called. The error screen is then cleared by tapping the touch screen. The error function should be kept simple, as functionality is restricted, such as enabling USB port to allow updates.
* If SETUP(SYSTEM) { ignore=allErrors; } is set then just the error function is called, no error screen is displayed and no touch is required.
* All errors are always sent to a port set to debug (rxi=d;) independent of the ignore or errFunc settings.
* Error information can be found on the website www.itrontft.com/tft/Individual%20Functions/system-errors.htm
* Fixed problem where some errors were being reported incorrectly.

49.08

 Calibration - Modified the TCH_CAL value to indicate when calibration is taking place.

11 Jul 12 

Show

Modified the TCH_CAL value to indicate when calibration is taking place.
0: touch screen not calibrated
1: touch screen calibrated
\\FF: touch screen calibration in progress
Use LOAD( u8var, TCH_CAL ); to get the value.

49.04

 Test Flags - Added SETUP(SYSTEM){test=showLoadInfo;} to display loading file / line information on start screen.

15 Jun 12 

Show

Added SETUP(SYSTEM){test=showLoadInfo;} to display loading file / line information on start screen

49.02

 Loss of Touch Calibration

15 May 12 

Show

Added retry mechanism for EEPROM when retrieving touch screen calibration figures during boot. This has not yet been proven to fix the problem as unable to reliably replicate calibration figure loss in-house.
* The screen calibration state can found by LOAD( var, TCH_CAL );. If var is 1 then the screen is calibrated else if 0 then the screen is uncalibrated.

49.00

 EEPROM - Fixed problem retrieving entities with maximum name length.

22 Mar 12 

Show

Fixed problem retrieving entities with maximum name length.
Fixed problem with non-array entities not having array properties cleared.
Fixed eepprom array data retrieval on power-up problem.
EEPROM variable values being repeated when loaded into a text string.
This was a problem with the maxlen property not being set correctly when a variable was read from EEPROM.
The data stored in EEPROM was correct, it was the variable creation that was at fault.
Fixed problem with setting decimal and format for EEPROM variables

49.00

 AC97 Codec Support

22 Mar 12 

Show

Added support for the MCBK-AC97 audio cards.

SETUP(AC97)
{
active = Y/N; // enabled or not
line_gain_L = n; // 0 - 63
line_gain_R = n; // 0 - 63
head_vol_L = n; // 0 - 63
head_vol_R = n; // 0 - 63
mic_gain_L = n; // 0 - 63
mic_gain_R = n; // 0 - 63
rec_sel = n; // MIC / LINE
rec_rate = n; // 0 - 48000
sp_vol = n; // 0 - 63
treble = n; // 0 - 15
bass = n; // 0 - 15
threeD = n; // 0 - 15
pbdonefnc = fncname; // function that is called when playback is finished
pbprogfnc = fncname; // function that is called every 100ms during playback
}

Initial Supported functions :-
LIB(name,"SDHC/filename.wav"); // loads wav file into WAV entity in SDRAM
LOAD(AC97, name); // plays wav file fom SDRAM

* During playback the system variables AC97LEN_H, AC97LEN_M, AC97LEN_S, AC97LEN_D hold the length (hours, minutes, seconds, 1/10 sec) and AC97PRG_H, AC97PRG_M, AC97PRG_S, AC97PRG_D hold the current play position.

Further development for direct SDHC play and recording.

49.00

 Commands - The limitation of 256 characters for each parameter in a command has been increased to 1024 characters.

22 Mar 12 

Show

The limitation of 256 characters for each parameter in a command has been increased to 1024 characters.
The maximum length of a command remains at 8192 characters.
Fixed problem when a 'proc' has been specified and the port is in command mode.
The 'proc' is now correctly ignored when in command mode.

49.00

 Error Message Suppression - Error messages can be ignored/suppressed for certain situations.

22 Mar 12 

Show

Error messages can be ignored/suppressed for certain situations

SETUP( system )
{
ignore=imageTooBig; // Ignores errors when there's not enough memory to load image and the image is skipped
ignore=invalidJpg; // Ignores errors for unsupported JPG formats (eg progressive) and the image is skipped
ignore=allErrors; // Ignores all errors and continues execution (only recommended in test as can cause undesired results).
//No messages are displayed on the screen, though they are transmitted on a serial port set to debug.
}

49.00

 Error Screen - Fixed bug with display of error message pop-up.

22 Mar 12 

Show

Fixed bug with display of error message pop-up.

49.00

 Firmware Updating

22 Mar 12 

Show

Support has been added to update the module firmware via a serial port / USB.
> LOAD( NAND, "EXT/xxxxxxxx.tft?size=xxxx&usechecksum=xx" );
> LOAD( NAND, "EXT/nandboot.bin?size=xxxx&usechecksum=xx" );
> LOAD( NAND, "EXT/iuloader.bin?size=xxxx&usechecksum=xx" );
Note: The checksum parameter should be used to help detect problems with data corruption.
Note: It is important that power is not removed during the updates.

49.00

 Memory Usage Output

22 Mar 12 

Show

A run-time memory allocation can be output of the diagnostic serial port by setting SETUP(system){test=showMemoryUse;}.
Note, that the transmit buffer should be at least 32KB otherwise transmit data may be lost. The top location of RAM is 0x23FFFFFF.

49.00

 Rotary Encoder

22 Mar 12 

Show

Added rotary encoder function. It allows up to 2 encoders to be connected. The ports used for A/B can be any available I/O ports.
The rotary encoders available on the Accessories page allow a 10way IDC cable to control 2 encoders with center push switches.

SETUP(ENC)
{
active = 1/2/12; // N=none active, 1=enc1 active, 2 = enc2 active, 12 = both active
a1 = \\xx; // port number for enc1 A channel
b1 = \\xx; // port number for enc1 B channel
a2 = \\xx; // port number for enc2 A channel
b2 = \\xx; // port number for enc2 B channel
debounce1 = n; // debounce time in ms for enc1 (1 - 100ms)
debounce2 = n; // debounce time in ms for enc2 (1 - 100ms)
timeout1 = n; // timeout period in ms for enc1 (1 - 1000ms)
timeout2 = n; // timeout period in ms for enc2 (1 - 1000ms)
mode1 = n; // encoder type (1 or 2) for enc1
mode2 = n; // encoder type (1 or 2) for enc2
}

INT(name, ENC1/ENC2, fnc);
* System variables ENCVAL1 or ENCVAL2 are type S32 and hold the current count values for each encoder.
* LOAD(ENCVAL1,n); presets encoder variable value to required number n.
* The value of ENCVALn is decremented by the number of clicks left and incremented by the number of clicks right.
* Timeout specifies the time from the last rotation event until the INT is triggered.

49.00

 Capacitive Touch - Added support code for MCBK39x cap touch controller.

22 Mar 12 

Show

Added support code for MCBK39x cap touch controller. Uses I2C to communicate with mXT224 controller.
SETUP(TOUCH)
{
type = cap; // default is 'res' for resistive touch
width = 480; // default to width of display
height = 272; // default to height of display
xnum = 19; // number of X electrodes
ynum = 11; // number of Y electrodes
gain = 0; // gain of ADC
threshold = 25; //
debounce = 3; //
address = 75; // I2C address of controller
inactive=1000; // time in milliseconds (0=off)
}

* After setup all touch parameters are handled in the same way as in resistive touch mode.
* As well as the I2C lines P27 is setup as an input (mXT224 /CHG line)
* Touch Inactive - Added interrupt capability for when touch screen has been inactive (ie not touched) for a user settable duration.
LOAD(touch.inactive,500);
INT(name,TOUCHI,function);

48.24

 Comments /*...*/

10 Mar 12 

Show

The use of block comments /* and */ is now permitted inside inline functions (between []). Use of block comments elsewhere remains to be adde

47.24

 Touch Calibration

31 Oct 11 

Show

Create your own calibration screen and store parameters in host
* Touch Calibration points can now be set in system setup with user parameters.
> To use:
setup(system)
{
tch_loc_tlx = num; // Top Left Touch Point Location X
tch_loc_tly = num; // Top Left Touch Point Location Y
tch_val_tlx = num; // Top Left Touch Value X
tch_val_tly = num; // Top Left Touch Value Y
tch_loc_trx = num; // Top Right Touch Point Location X
tch_loc_try = num; // Top Right Touch Point Location Y
tch_val_trx = num; // Top Right Touch Value X
tch_val_try = num; // Top Right Touch Value Y
tch_loc_brx = num; // Bot Right Touch Point Location X
tch_loc_bry = num; // Bot Right Touch Point Location Y
tch_val_brx = num; // Bot Right Touch Value X
tch_val_bry = num; // Bot Right Touch Value Y
tch_loc_blx = num; // Bot Left Touch Point Location X
tch_loc_bly = num; // Bot Left Touch Point Location Y
tch_val_blx = num; // Bot Left Touch Value X
tch_val_bly = num; // Bot Left Touch Value Y
}
> also supports load(system.tch_loc_tlx,num); etc..
* Touch Calibration points can also be read
> load(num,tch_loc_tlx); etc.. <- note "system." not used here

44.00

 Calibration - Calibration now supported with screen rotation of 180 deg (as well as 0 deg).

20 May 11 

Show

Calibration now supported with screen rotation of 180 deg (as well as 0 deg)

42.00

 Startup Displaying of messages and progress at start up now configurable using SETUP(SYSTEM){startup=all|none|bar;}

09 Mar 11 

Show

Displaying of messages and progress at start up now configurable using SETUP(SYSTEM){startup=all|none|bar;}
Rotation now stored for startup messages (not currently implemented in boot S/W) - only 0 and 180 deg supported
Word 'DEMO' changed to 'PROTO' in version message as this software is still not formally released.

36.00

 Touch Screen Calibration - The touch screen can now be calibrated by using SETUP(SYSTEM){calibrate=y;}.

23 Nov 10 

Show

The touch screen can now be calibrated by using SETUP(SYSTEM){calibrate=y;}
This can be included in the initialization phase or sent at any time via a serial port command or key input. To abort send SETUP(SYSTEM) {calibrate=n;} . This is not required if calibration is completed. The calibration will automatically return to the previous page once complete.
Before calling the calibration routine, some parameters may be set up in your menu file.

Ø The text on the screen can be changed by setting up your own text var called 'CalTextVar'.

Ø The text format on the screen can be changed by setting up your own style 'CalTextStyle'.

Ø The page layout can be changed by setting up you own style 'CalPageStyle'.

Ø The target can be changed by setting up your own style 'CalTargetStyle'.

In each of the cases, put these commands into your menu file and edit.
Declare these before sending the calibrate command.

Var(CalTextVar,"Press and hold the stylus on the\\0A\\0Dcentre of the target. Repeat as the\\0A\\0Dtarget moves around the screen.",CalTextVarStyle);
Style(CalTextStyle,TEXT){font=Ascii16;col=skyBlue;maxLen=64;maxRows=12;curRel=TC;}
Style(CalPageStyle,PAGE){back=black;}
Style(CalTargetStyle,DRAW){type=box;col=white;width=1;maxX=10;maxY=10;curRel=CC;}

24.00

 System Setup - Watchdog and LED backlight.

25 Aug 10 

Show

Watchdog and LED backlight
* Watchdog is now enabled at startup with boot.bin v00.03
* Use LOAD( BLED, 100 ); to change backlight level