==== GetSystemItem ====
Fetch the value of a given system parameter
=== Description ===
GetSystemItem( item )
Returns the value of a given system parameter
=== Parameters ===
| ''item'' | The system item to return (see below) |
^ Parameter ^ Description ^
| ''SYSITEM_GPSX'' | GPS latitude in degrees x 106|
| ''SYSITEM_GPSY'' | GPS longitude in degrees x 106 |
| ''SYSITEM_GPSZ'' | GPS elevation in meters x 10 |
| ''SYSITEM_GPSSIGNAL'' | Received signal level from GPS |
| ''SYSITEM_UPTIME'' | Number of seconds since last restart |
| ''SYSITEM_CELLINHIBIT'' | 0=normal operation. >0 cellular modem is off, remaining seconds |
| ''SYSITEM_RSSI'' | Received signal level for cellular modem (0=no signal. 31=max signal strength) |
| ''SYSITEM_ETHLINK'' | 0=No Ethernet connection. 1=Ethernet connection detected |
| ''SYSITEM_ETHCONN'' | 0=Not using Ethernet connection. 1=Using Ethernet connection |
| ''SYSITEM_CELLCONN'' | 0=Not using cellular connection. 1=Using cellular connection |
| ''SYSITEM_GPSLOCK'' | 0=No current GPS position. 1=GPS position current |
| ''SYSITEM_YEAR'' | Real time clock, year |
| ''SYSITEM_MONTH'' | Real time clock, month |
| ''SYSITEM_DAY'' | Real time clock, day |
| ''SYSITEM_WDAY'' | Real time clock, weekday (0=Sunday, 6=Saturday) |
| ''SYSITEM_YDAY'' | Real time clock, day of year |
| ''SYSITEM_HOUR'' | Real time clock, hour |
| ''SYSITEM_MINUTE'' | Real time clock, minutes |
| ''SYSITEM_SECOND'' | Real time clock, seconds |
| ''SYSITEM_EPOCH'' | Real time clock, Epoch (number of seconds since 1970-01-01) |
| ''SYSITEM_RND'' | Random number |
| ''SYSITEM_OUT3RCPWM'' | Output 3 mode (0=0-100%, 1=1-2ms servo) |
| ''SYSITEM_RESETCAUSE'' | Cause of last hardware reset, bitmap or RESETCAUSE flags defined below |
| ''SYSITEM_SCRIPT_RESETCAUSE'' | Cause of last script restart, current script (see below) |
| ''SYSITEM_HIBERNATE'' | Nonzero if running as part of sleep cycle |
| ''SYSITEM_EXPn'' | ezeio-CAN Expander status (0=no comm, 1=comm ok), where n=1 through 7 |
== Flags returned by SYSITEM_RESETCAUSE ==
^ constant ^ meaning ^
| RESETCAUSE_EXT | Any external reset |
| RESETCAUSE_POR | Board was powered on |
| RESETCAUSE_BOR | Board detected brown-out (voltage dip) |
| RESETCAUSE_BOR | Software caused the reset |
| RESETCAUSE_WDOG | Internal watchdog caused the reset |
| RESETCAUSE_HIB | Board woke up from hibernation |
== Flags returned by SYSITEM_SCRIPT_RESETCAUSE ==
^ constant ^ meaning ^
| SCRIPT_BOOT | Script started due to board reset |
| SCRIPT_ERROR | Script restarted due to script error |
| SCRIPT_USER | Script restarted by user |
| SCRIPT_CHANGE | Script restarted due to config change |
| SCRIPT_BUTTON | Script restarted with hardware button |
=== Return value ===
Depends on parameter requested. See above.
=== Example usage ===
new x;
x = GetSystemItem(SYSITEM_YEAR);
// x is now 2019 (as of this writing)
if( GetSystemItem( SYSITEM_RESETCAUSE ) & RESETCAUSE_HIB ) {
// this code will run if board came back from a hibernation cycle
}