Difference between revisions of "Unit Platform"
Line 6,788: | Line 6,788: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,800: | Line 6,800: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,812: | Line 6,812: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,824: | Line 6,824: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,836: | Line 6,836: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,848: | Line 6,848: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Secondary CPU boot is performed by SecondaryInit in Threads | | Secondary CPU boot is performed by SecondaryInit in Threads | ||
|- | |- | ||
Line 6,860: | Line 6,860: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,872: | Line 6,872: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,884: | Line 6,884: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,896: | Line 6,896: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,908: | Line 6,908: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,920: | Line 6,920: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,932: | Line 6,932: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,944: | Line 6,944: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,956: | Line 6,956: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,968: | Line 6,968: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,980: | Line 6,980: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 6,995: | Line 6,995: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Intended for startup diagnostics when bootstrapping a new board | | Intended for startup diagnostics when bootstrapping a new board | ||
|- | |- | ||
Line 7,007: | Line 7,007: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Intended for startup diagnostics when bootstrapping a new board | | Intended for startup diagnostics when bootstrapping a new board | ||
|- | |- | ||
Line 7,022: | Line 7,022: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,034: | Line 7,034: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,046: | Line 7,046: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,058: | Line 7,058: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,070: | Line 7,070: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,082: | Line 7,082: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,097: | Line 7,097: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,109: | Line 7,109: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| The 32 bit current value of the counter or 0 on failure | | The 32 bit current value of the counter or 0 on failure | ||
|- | |- | ||
Line 7,121: | Line 7,121: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| The 64 bit current value of the counter or 0 on failure | | The 64 bit current value of the counter or 0 on failure | ||
|- | |- | ||
Line 7,133: | Line 7,133: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if the interval expired or another error code on failure | | ERROR_SUCCESS if the interval expired or another error code on failure | ||
|- | |- | ||
Line 7,145: | Line 7,145: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Callback |
| The function to be called when the interval expires | | The function to be called when the interval expires | ||
|- | |- | ||
− | ! | + | ! Data |
| A pointer to be pass to the function when the interval expires (Optional) | | A pointer to be pass to the function when the interval expires (Optional) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if the callback was scheduled successfully or another error code on failure | | ERROR_SUCCESS if the callback was scheduled successfully or another error code on failure | ||
|- | |- | ||
Line 7,163: | Line 7,163: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if the callback was cancelled successfully or another error code on failure | | ERROR_SUCCESS if the callback was cancelled successfully or another error code on failure | ||
|- | |- | ||
Line 7,175: | Line 7,175: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| The current clock rate in Hz or 0 on failure | | The current clock rate in Hz or 0 on failure | ||
|- | |- | ||
Line 7,187: | Line 7,187: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Rate |
| The clock rate in Hz to set | | The clock rate in Hz to set | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if the clock rate was set or another error code on failure | | ERROR_SUCCESS if the clock rate was set or another error code on failure | ||
|- | |- | ||
Line 7,202: | Line 7,202: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| The current interval in ticks or 0 on failure (or not set) | | The current interval in ticks or 0 on failure (or not set) | ||
|- | |- | ||
− | ! | + | ! Note |
| The tick rate is determined by the clock rate | | The tick rate is determined by the clock rate | ||
|- | |- | ||
Line 7,217: | Line 7,217: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Interval |
| The interval in ticks to set | | The interval in ticks to set | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if the interval was set or another error code on failure | | ERROR_SUCCESS if the interval was set or another error code on failure | ||
|- | |- | ||
− | ! | + | ! Note |
| The tick rate is determined by the clock rate | | The tick rate is determined by the clock rate | ||
|- | |- | ||
Line 7,238: | Line 7,238: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,250: | Line 7,250: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,262: | Line 7,262: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,274: | Line 7,274: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,286: | Line 7,286: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,298: | Line 7,298: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,313: | Line 7,313: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| The software random number generator from the RTL is always available | | The software random number generator from the RTL is always available | ||
|- | |- | ||
Line 7,325: | Line 7,325: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,337: | Line 7,337: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,349: | Line 7,349: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,361: | Line 7,361: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,376: | Line 7,376: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,388: | Line 7,388: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,400: | Line 7,400: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,412: | Line 7,412: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,427: | Line 7,427: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If the IRQ number is already registered then the request will fail | | If the IRQ number is already registered then the request will fail | ||
|- | |- | ||
Line 7,439: | Line 7,439: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If the IRQ number is not currently registered then the request will fail | | If the IRQ number is not currently registered then the request will fail | ||
|- | |- | ||
Line 7,451: | Line 7,451: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If the IRQ number is already registered then the request will fail | | If the IRQ number is already registered then the request will fail | ||
|- | |- | ||
Line 7,463: | Line 7,463: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If the IRQ number is not currently registered then the request will fail | | If the IRQ number is not currently registered then the request will fail | ||
|- | |- | ||
Line 7,478: | Line 7,478: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If the FIQ number is already registered then the request will fail | | If the FIQ number is already registered then the request will fail | ||
|- | |- | ||
Line 7,490: | Line 7,490: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If the FIQ number is not currently registered then the request will fail | | If the FIQ number is not currently registered then the request will fail | ||
|- | |- | ||
Line 7,502: | Line 7,502: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If the FIQ number is already registered then the request will fail | | If the FIQ number is already registered then the request will fail | ||
|- | |- | ||
Line 7,514: | Line 7,514: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If the FIQ number is not currently registered then the request will fail | | If the FIQ number is not currently registered then the request will fail | ||
|- | |- | ||
Line 7,529: | Line 7,529: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Number |
| The System Call number to be called | | The System Call number to be called | ||
|- | |- | ||
− | ! | + | ! Param1 |
| The first parameter to pass to the function (Optional/Function defined) | | The first parameter to pass to the function (Optional/Function defined) | ||
|- | |- | ||
− | ! | + | ! Param2 |
| The second parameter to pass to the function (Optional/Function defined) | | The second parameter to pass to the function (Optional/Function defined) | ||
|- | |- | ||
− | ! | + | ! Param3 |
| The third parameter to pass to the function (Optional/Function defined) | | The third parameter to pass to the function (Optional/Function defined) | ||
|- | |- | ||
Line 7,550: | Line 7,550: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Number |
| The System Call number to be registered | | The System Call number to be registered | ||
|- | |- | ||
− | ! | + | ! Handler |
| The handler function to be registered | | The handler function to be registered | ||
|- | |- | ||
− | ! | + | ! Note |
| If the System Call number is already registered then the request will fail | | If the System Call number is already registered then the request will fail | ||
|- | |- | ||
Line 7,568: | Line 7,568: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Number |
| The System Call number to be deregistered | | The System Call number to be deregistered | ||
|- | |- | ||
− | ! | + | ! Handler |
| The handler function to be deregistered | | The handler function to be deregistered | ||
|- | |- | ||
− | ! | + | ! Note |
| If the System Call number is not currently registered then the request will fail | | If the System Call number is not currently registered then the request will fail | ||
|- | |- | ||
Line 7,586: | Line 7,586: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! CPUID |
| The CPU Id to register the System Call against (or CPU_ID_ALL) | | The CPU Id to register the System Call against (or CPU_ID_ALL) | ||
|- | |- | ||
− | ! | + | ! Number |
| The System Call number to be registered | | The System Call number to be registered | ||
|- | |- | ||
− | ! | + | ! Handler |
| The handler function to be registered (Optional) (Handler or HandlerEx must be specified, not both) | | The handler function to be registered (Optional) (Handler or HandlerEx must be specified, not both) | ||
|- | |- | ||
− | ! | + | ! HandlerEx |
| The extended handler function to be registered (Optional) (Handler or HandlerEx must be specified, not both) | | The extended handler function to be registered (Optional) (Handler or HandlerEx must be specified, not both) | ||
|- | |- | ||
− | ! | + | ! Note |
| If the System Call number is already registered then the request will fail | | If the System Call number is already registered then the request will fail | ||
|- | |- | ||
Line 7,610: | Line 7,610: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! CPUID |
| The CPU Id to deregister the System Call from (or CPU_ID_ALL) | | The CPU Id to deregister the System Call from (or CPU_ID_ALL) | ||
|- | |- | ||
− | ! | + | ! Number |
| The System Call number to be deregistered | | The System Call number to be deregistered | ||
|- | |- | ||
− | ! | + | ! Handler |
| The handler function to be deregistered (Optional) (Handler or HandlerEx must be specified, not both) | | The handler function to be deregistered (Optional) (Handler or HandlerEx must be specified, not both) | ||
|- | |- | ||
− | ! | + | ! HandlerEx |
| The extended handler function to be deregistered (Optional) (Handler or HandlerEx must be specified, not both) | | The extended handler function to be deregistered (Optional) (Handler or HandlerEx must be specified, not both) | ||
|- | |- | ||
− | ! | + | ! Note |
| If the System Call number is not currently registered then the request will fail | | If the System Call number is not currently registered then the request will fail | ||
|- | |- | ||
Line 7,637: | Line 7,637: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,649: | Line 7,649: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,661: | Line 7,661: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,676: | Line 7,676: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,688: | Line 7,688: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,700: | Line 7,700: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,715: | Line 7,715: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,727: | Line 7,727: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,742: | Line 7,742: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,754: | Line 7,754: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,766: | Line 7,766: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| The current system up time | | The current system up time | ||
|- | |- | ||
− | ! | + | ! Note |
| This is the same time format as Windows FILE_TIME and is intended to allow compatibility with file system functions etc | | This is the same time format as Windows FILE_TIME and is intended to allow compatibility with file system functions etc | ||
|- | |- | ||
Line 7,781: | Line 7,781: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,793: | Line 7,793: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,808: | Line 7,808: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,820: | Line 7,820: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,832: | Line 7,832: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,844: | Line 7,844: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,856: | Line 7,856: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,868: | Line 7,868: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| The return value is specific to the CPU type | | The return value is specific to the CPU type | ||
|- | |- | ||
Line 7,880: | Line 7,880: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,892: | Line 7,892: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,904: | Line 7,904: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,916: | Line 7,916: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,928: | Line 7,928: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! CPUID |
| The CPU to get utilization from or CPU_ID_ALL for average of all CPUs | | The CPU to get utilization from or CPU_ID_ALL for average of all CPUs | ||
|- | |- | ||
Line 7,940: | Line 7,940: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! CPUID |
| The CPU to get utilization from or CPU_ID_ALL for average of all CPUs | | The CPU to get utilization from or CPU_ID_ALL for average of all CPUs | ||
|- | |- | ||
Line 7,952: | Line 7,952: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,964: | Line 7,964: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| The return value is specific to the CPU type and model | | The return value is specific to the CPU type and model | ||
|- | |- | ||
Line 7,976: | Line 7,976: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 7,991: | Line 7,991: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,003: | Line 8,003: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,018: | Line 8,018: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,030: | Line 8,030: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,042: | Line 8,042: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,049: | Line 8,049: | ||
<br /> | <br /> | ||
− | + | Cache functions | |
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
Line 8,057: | Line 8,057: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,069: | Line 8,069: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If data cache is not supported, the size returned is zero. If separate data and instruction caches are not supported, the size returned is the unified size. | | If data cache is not supported, the size returned is zero. If separate data and instruction caches are not supported, the size returned is the unified size. | ||
|- | |- | ||
Line 8,081: | Line 8,081: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If data cache is not supported, the size returned is zero. If separate data and instruction caches are not supported, the size returned is the unified size. | | If data cache is not supported, the size returned is zero. If separate data and instruction caches are not supported, the size returned is the unified size. | ||
|- | |- | ||
Line 8,093: | Line 8,093: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If instruction cache is not supported, the size returned is zero. If separate data and instruction caches are not supported, the size returned is the unified size. | | If instruction cache is not supported, the size returned is zero. If separate data and instruction caches are not supported, the size returned is the unified size. | ||
|- | |- | ||
Line 8,105: | Line 8,105: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If instruction cache is not supported, the size returned is zero. If separate data and instruction caches are not supported, the size returned is the unified size. | | If instruction cache is not supported, the size returned is zero. If separate data and instruction caches are not supported, the size returned is the unified size. | ||
|- | |- | ||
Line 8,117: | Line 8,117: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,129: | Line 8,129: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If L2 cache is not supported, the size returned is zero | | If L2 cache is not supported, the size returned is zero | ||
|- | |- | ||
Line 8,141: | Line 8,141: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If L2 cache is not supported, the size returned is zero | | If L2 cache is not supported, the size returned is zero | ||
|- | |- | ||
Line 8,156: | Line 8,156: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,168: | Line 8,168: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,180: | Line 8,180: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,192: | Line 8,192: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,204: | Line 8,204: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,219: | Line 8,219: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,234: | Line 8,234: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,249: | Line 8,249: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,261: | Line 8,261: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,273: | Line 8,273: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,285: | Line 8,285: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,300: | Line 8,300: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,312: | Line 8,312: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,324: | Line 8,324: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,336: | Line 8,336: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,348: | Line 8,348: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,363: | Line 8,363: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| The current number of clock ticks | | The current number of clock ticks | ||
|- | |- | ||
− | ! | + | ! Note |
| When this reaches CLOCK_TICKS_PER_SECOND then ClockSeconds is incremented and this is reset to zero | | When this reaches CLOCK_TICKS_PER_SECOND then ClockSeconds is incremented and this is reset to zero | ||
|- | |- | ||
Line 8,378: | Line 8,378: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| The current number of clock seconds | | The current number of clock seconds | ||
|- | |- | ||
− | ! | + | ! Note |
| This forms the system clock | | This forms the system clock | ||
|- | |- | ||
Line 8,393: | Line 8,393: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| The current system time | | The current system time | ||
|- | |- | ||
− | ! | + | ! Note |
| This is the same time format as Windows FILE_TIME and is intended to allow compatibility with file system functions etc. By default the time returned by this function is considered to be UTC but the actual conversion between UTC and local time is handled at a higher level. | | This is the same time format as Windows FILE_TIME and is intended to allow compatibility with file system functions etc. By default the time returned by this function is considered to be UTC but the actual conversion between UTC and local time is handled at a higher level. | ||
|- | |- | ||
Line 8,408: | Line 8,408: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Time |
| The time to be set | | The time to be set | ||
|- | |- | ||
− | ! | + | ! RTC |
| Set the default RTC (real time clock) if available | | Set the default RTC (real time clock) if available | ||
|- | |- | ||
− | ! | + | ! Return |
| The system time after setting | | The system time after setting | ||
|- | |- | ||
− | ! | + | ! Note |
| This is the same time format as Windows FILE_TIME and is intended to allow compatibility with file system functions etc. By default the time passed to this function is considered to be UTC but the actual conversion between UTC and local time is handled at a higher level. | | This is the same time format as Windows FILE_TIME and is intended to allow compatibility with file system functions etc. By default the time passed to this function is considered to be UTC but the actual conversion between UTC and local time is handled at a higher level. | ||
|- | |- | ||
Line 8,429: | Line 8,429: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| This will normally come from the free running system timer in the board and is useful as a form of tick count but not for time keeping because the actual rate at which this increments is dependent on the system timer clock frequency of the specific board and may not be a measure of time in its raw form. | | This will normally come from the free running system timer in the board and is useful as a form of tick count but not for time keeping because the actual rate at which this increments is dependent on the system timer clock frequency of the specific board and may not be a measure of time in its raw form. | ||
|- | |- | ||
Line 8,441: | Line 8,441: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| This will normally come from the free running system timer in the board and is useful as a form of tick count but not for time keeping because the actual rate at which this increments is dependent on the system timer clock frequency of the specific board and may not be a measure of time in its raw form. | | This will normally come from the free running system timer in the board and is useful as a form of tick count but not for time keeping because the actual rate at which this increments is dependent on the system timer clock frequency of the specific board and may not be a measure of time in its raw form. | ||
|- | |- | ||
Line 8,453: | Line 8,453: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,465: | Line 8,465: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,477: | Line 8,477: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,489: | Line 8,489: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,501: | Line 8,501: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,513: | Line 8,513: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,525: | Line 8,525: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,540: | Line 8,540: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,552: | Line 8,552: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,567: | Line 8,567: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,579: | Line 8,579: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,591: | Line 8,591: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,603: | Line 8,603: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,618: | Line 8,618: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,630: | Line 8,630: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,645: | Line 8,645: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,657: | Line 8,657: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,669: | Line 8,669: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,681: | Line 8,681: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,696: | Line 8,696: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,708: | Line 8,708: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,720: | Line 8,720: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,735: | Line 8,735: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,747: | Line 8,747: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,759: | Line 8,759: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,771: | Line 8,771: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,783: | Line 8,783: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,795: | Line 8,795: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| The "physical" size is the size of the allocated buffer in memory, not the resolution of the video signal sent to the display device | | The "physical" size is the size of the allocated buffer in memory, not the resolution of the video signal sent to the display device | ||
|- | |- | ||
Line 8,807: | Line 8,807: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,819: | Line 8,819: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,831: | Line 8,831: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| The "virtual" size is the portion of buffer that is sent to the display device, not the resolution the buffer itself. This may be smaller than the allocated buffer size in order to implement panning | | The "virtual" size is the portion of buffer that is sent to the display device, not the resolution the buffer itself. This may be smaller than the allocated buffer size in order to implement panning | ||
|- | |- | ||
Line 8,843: | Line 8,843: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,855: | Line 8,855: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,867: | Line 8,867: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,879: | Line 8,879: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,891: | Line 8,891: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,903: | Line 8,903: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,915: | Line 8,915: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,927: | Line 8,927: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,939: | Line 8,939: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,951: | Line 8,951: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,963: | Line 8,963: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,975: | Line 8,975: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,987: | Line 8,987: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 8,999: | Line 8,999: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,011: | Line 9,011: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,023: | Line 9,023: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,035: | Line 9,035: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,047: | Line 9,047: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,059: | Line 9,059: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,071: | Line 9,071: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,083: | Line 9,083: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,095: | Line 9,095: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,107: | Line 9,107: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,119: | Line 9,119: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,134: | Line 9,134: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,146: | Line 9,146: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,161: | Line 9,161: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,173: | Line 9,173: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,185: | Line 9,185: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Relative |
| X, Y is relative to Display (Virtual) not Framebuffer (Physical) | | X, Y is relative to Display (Virtual) not Framebuffer (Physical) | ||
|- | |- | ||
Line 9,200: | Line 9,200: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,212: | Line 9,212: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Data |
| A linked list of DMA data blocks for the transfer | | A linked list of DMA data blocks for the transfer | ||
|- | |- | ||
− | ! | + | ! Direction |
| The direction of the DMA request (eg DMA_DIR_MEM_TO_MEM) | | The direction of the DMA request (eg DMA_DIR_MEM_TO_MEM) | ||
|- | |- | ||
− | ! | + | ! Peripheral |
| The peripheral Id for data request gating (eg DMA_DREQ_ID_NONE) | | The peripheral Id for data request gating (eg DMA_DREQ_ID_NONE) | ||
|- | |- | ||
Line 9,230: | Line 9,230: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Dest |
| The address to start the memory fill | | The address to start the memory fill | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of memory to fill in bytes | | The size of memory to fill in bytes | ||
|- | |- | ||
− | ! | + | ! Value |
| The value to fill the memory with | | The value to fill the memory with | ||
|- | |- | ||
Line 9,248: | Line 9,248: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Source |
| The source address to start the memory copy | | The source address to start the memory copy | ||
|- | |- | ||
− | ! | + | ! Dest |
| The destination address to start the memory copy | | The destination address to start the memory copy | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of memory to copy in bytes | | The size of memory to copy in bytes | ||
|- | |- | ||
Line 9,266: | Line 9,266: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Address |
| The address of the periperhal register to read from | | The address of the periperhal register to read from | ||
|- | |- | ||
− | ! | + | ! Source |
| The destination address to start writing to | | The destination address to start writing to | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of the read in bytes | | The size of the read in bytes | ||
|- | |- | ||
− | ! | + | ! Peripheral |
| The peripheral Id for data request gating (eg DMA_DREQ_ID_UART_RX) | | The peripheral Id for data request gating (eg DMA_DREQ_ID_UART_RX) | ||
|- | |- | ||
Line 9,287: | Line 9,287: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Source |
| The source address to start reading from | | The source address to start reading from | ||
|- | |- | ||
− | ! | + | ! Address |
| The address of the peripheral register to write to | | The address of the peripheral register to write to | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of the write in bytes | | The size of the write in bytes | ||
|- | |- | ||
− | ! | + | ! Peripheral |
| The peripheral Id for data request gating (eg DMA_DREQ_ID_UART_TX) | | The peripheral Id for data request gating (eg DMA_DREQ_ID_UART_TX) | ||
|- | |- | ||
Line 9,308: | Line 9,308: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of the buffer to allocate | | The size of the buffer to allocate | ||
|- | |- | ||
Line 9,320: | Line 9,320: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of the buffer to allocate (Updated on return to actual size) | | The size of the buffer to allocate (Updated on return to actual size) | ||
|- | |- | ||
Line 9,332: | Line 9,332: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Buffer |
| The buffer to be released | | The buffer to be released | ||
|- | |- | ||
Line 9,344: | Line 9,344: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,359: | Line 9,359: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Data |
| Purpose specific data to be referenced by the new handle (Optional) | | Purpose specific data to be referenced by the new handle (Optional) | ||
|- | |- | ||
− | ! | + | ! AType |
| The type of the new handle (eg HANDLE_TYPE_FILE) | | The type of the new handle (eg HANDLE_TYPE_FILE) | ||
|- | |- | ||
− | ! | + | ! Return |
| The newly created handle or INVALID_HANDLE_VALUE on failure | | The newly created handle or INVALID_HANDLE_VALUE on failure | ||
|- | |- | ||
Line 9,377: | Line 9,377: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Name |
| The name of the new handle (Optional) | | The name of the new handle (Optional) | ||
|- | |- | ||
− | ! | + | ! Flags |
| The flags for the new handle (eg HANDLE_FLAG_DUPLICATE) | | The flags for the new handle (eg HANDLE_FLAG_DUPLICATE) | ||
|- | |- | ||
− | ! | + | ! Data |
| Purpose specific data to be referenced by the new handle (Optional) | | Purpose specific data to be referenced by the new handle (Optional) | ||
|- | |- | ||
− | ! | + | ! AType |
| The type of the new handle (eg HANDLE_TYPE_FILE) | | The type of the new handle (eg HANDLE_TYPE_FILE) | ||
|- | |- | ||
− | ! | + | ! Return |
| The newly created handle entry or nil on failure | | The newly created handle entry or nil on failure | ||
|- | |- | ||
Line 9,401: | Line 9,401: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Handle |
| The handle to be closed and destroyed | | The handle to be closed and destroyed | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed successfully or another error code on failure | | ERROR_SUCCESS if completed successfully or another error code on failure | ||
|- | |- | ||
− | ! | + | ! Note |
| For handles which have been opened multiple times, the handle is not destroyed until the last reference is closed. If there are still open references to the handle the return value will be ERROR_IN_USE instead of ERROR_SUCCESS | | For handles which have been opened multiple times, the handle is not destroyed until the last reference is closed. If there are still open references to the handle the return value will be ERROR_IN_USE instead of ERROR_SUCCESS | ||
|- | |- | ||
Line 9,419: | Line 9,419: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Handle |
| The handle to get the entry for | | The handle to get the entry for | ||
|- | |- | ||
− | ! | + | ! Return |
| The handle entry on success or nil on failure | | The handle entry on success or nil on failure | ||
|- | |- | ||
Line 9,434: | Line 9,434: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Name |
| The name of the handle to find | | The name of the handle to find | ||
|- | |- | ||
− | ! | + | ! Return |
| The handle entry on success or nil on failure | | The handle entry on success or nil on failure | ||
|- | |- | ||
Line 9,449: | Line 9,449: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Callback |
| The callback function to call for each handle in the table | | The callback function to call for each handle in the table | ||
|- | |- | ||
− | ! | + | ! Data |
| A private data pointer to pass to callback for each device in the table | | A private data pointer to pass to callback for each device in the table | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 9,467: | Line 9,467: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Name |
| The name of the handle to open | | The name of the handle to open | ||
|- | |- | ||
− | ! | + | ! Return |
| The handle matching the name or INVALID_HANDLE_VALUE on failure | | The handle matching the name or INVALID_HANDLE_VALUE on failure | ||
|- | |- | ||
Line 9,482: | Line 9,482: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Handle |
| The handle to be closed | | The handle to be closed | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed successfully or another error code on failure | | ERROR_SUCCESS if completed successfully or another error code on failure | ||
|- | |- | ||
− | ! | + | ! Note |
| For handles which have been opened multiple times, the handle is destroyed when the last reference is closed | | For handles which have been opened multiple times, the handle is destroyed when the last reference is closed | ||
|- | |- | ||
Line 9,500: | Line 9,500: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Handle |
| The handle to be duplicated | | The handle to be duplicated | ||
|- | |- | ||
− | ! | + | ! Return |
| The newly duplicated handle or INVALID_HANDLE_VALUE on failure | | The newly duplicated handle or INVALID_HANDLE_VALUE on failure | ||
|- | |- | ||
− | ! | + | ! Note |
| Handles must be marked as HANDLE_FLAG_DUPLICATE to support duplication | | Handles must be marked as HANDLE_FLAG_DUPLICATE to support duplication | ||
|- | |- | ||
Line 9,521: | Line 9,521: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Reg |
| The memory register to read from | | The memory register to read from | ||
|- | |- | ||
− | ! | + | ! Value |
| The value of the memory register | | The value of the memory register | ||
|- | |- | ||
Line 9,536: | Line 9,536: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Reg |
| The memory register to read from | | The memory register to read from | ||
|- | |- | ||
− | ! | + | ! Value |
| The value of the memory register | | The value of the memory register | ||
|- | |- | ||
Line 9,551: | Line 9,551: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Reg |
| The memory register to write to | | The memory register to write to | ||
|- | |- | ||
− | ! | + | ! Value |
| The value to write to the register | | The value to write to the register | ||
|- | |- | ||
Line 9,566: | Line 9,566: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Pin |
| The pin to get the state for (eg GPIO_PIN_1) | | The pin to get the state for (eg GPIO_PIN_1) | ||
|- | |- | ||
− | ! | + | ! Return |
| The current state (eg GPIO_LEVEL_HIGH) or GPIO_LEVEL_UNKNOWN on failure | | The current state (eg GPIO_LEVEL_HIGH) or GPIO_LEVEL_UNKNOWN on failure | ||
|- | |- | ||
Line 9,581: | Line 9,581: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Pin |
| The pin to wait for the state to change (eg GPIO_PIN_1) | | The pin to wait for the state to change (eg GPIO_PIN_1) | ||
|- | |- | ||
− | ! | + | ! Trigger |
| The trigger event to wait for (eg GPIO_TRIGGER_HIGH) | | The trigger event to wait for (eg GPIO_TRIGGER_HIGH) | ||
|- | |- | ||
− | ! | + | ! Timeout |
| Number of milliseconds to wait for the change (INFINITE to wait forever) | | Number of milliseconds to wait for the change (INFINITE to wait forever) | ||
|- | |- | ||
− | ! | + | ! Return |
| The state after the change (eg GPIO_LEVEL_HIGH) or GPIO_LEVEL_UNKNOWN on failure or timeout | | The state after the change (eg GPIO_LEVEL_HIGH) or GPIO_LEVEL_UNKNOWN on failure or timeout | ||
|- | |- | ||
Line 9,602: | Line 9,602: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Pin |
| The pin to schedule the state change for (eg GPIO_PIN_1) | | The pin to schedule the state change for (eg GPIO_PIN_1) | ||
|- | |- | ||
− | ! | + | ! Trigger |
| The trigger event which will cause the function to be called (eg GPIO_TRIGGER_HIGH) | | The trigger event which will cause the function to be called (eg GPIO_TRIGGER_HIGH) | ||
|- | |- | ||
− | ! | + | ! Timeout |
| The number of milliseconds before the scheduled trigger expires (INFINITE to never expire) | | The number of milliseconds before the scheduled trigger expires (INFINITE to never expire) | ||
|- | |- | ||
− | ! | + | ! Callback |
| The function to be called when the trigger occurs | | The function to be called when the trigger occurs | ||
|- | |- | ||
− | ! | + | ! Data |
| A pointer to be pass to the function when the trigger occurs (Optional) | | A pointer to be pass to the function when the trigger occurs (Optional) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if the trigger was scheduled successfully or another error code on failure | | ERROR_SUCCESS if the trigger was scheduled successfully or another error code on failure | ||
|- | |- | ||
− | ! | + | ! Note |
| The pin and trigger that caused the event will be passed to the callback function | | The pin and trigger that caused the event will be passed to the callback function | ||
|- | |- | ||
Line 9,632: | Line 9,632: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Pin |
| The pin to change the state for (eg GPIO_PIN_1) | | The pin to change the state for (eg GPIO_PIN_1) | ||
|- | |- | ||
− | ! | + | ! Level |
| The state to change the pin to (eg GPIO_LEVEL_HIGH) | | The state to change the pin to (eg GPIO_LEVEL_HIGH) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed successfully or another error code on failure | | ERROR_SUCCESS if completed successfully or another error code on failure | ||
|- | |- | ||
Line 9,650: | Line 9,650: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Pin |
| The pin to get the pull state for (eg GPIO_PIN_1) | | The pin to get the pull state for (eg GPIO_PIN_1) | ||
|- | |- | ||
− | ! | + | ! Return |
| The current pull state of the pin (eg GPIO_PULL_UP) or GPIO_PULL_UNKNOWN on failure | | The current pull state of the pin (eg GPIO_PULL_UP) or GPIO_PULL_UNKNOWN on failure | ||
|- | |- | ||
Line 9,665: | Line 9,665: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Pin |
| The pin to change the pull state for (eg GPIO_PIN_1) | | The pin to change the pull state for (eg GPIO_PIN_1) | ||
|- | |- | ||
− | ! | + | ! Mode |
| The pull state to set for the pin (eg GPIO_PULL_UP) | | The pull state to set for the pin (eg GPIO_PULL_UP) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed successfully or another error code on failure | | ERROR_SUCCESS if completed successfully or another error code on failure | ||
|- | |- | ||
Line 9,683: | Line 9,683: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Pin |
| The pin to get the function for (eg GPIO_PIN_1) | | The pin to get the function for (eg GPIO_PIN_1) | ||
|- | |- | ||
− | ! | + | ! Return |
| The current function of the pin (eg GPIO_FUNCTION_IN) or GPIO_FUNCTION_UNKNOWN on failure | | The current function of the pin (eg GPIO_FUNCTION_IN) or GPIO_FUNCTION_UNKNOWN on failure | ||
|- | |- | ||
Line 9,698: | Line 9,698: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Pin |
| The pin to change the function for (eg GPIO_PIN_1) | | The pin to change the function for (eg GPIO_PIN_1) | ||
|- | |- | ||
− | ! | + | ! Mode |
| The function to set for the pin (eg GPIO_FUNCTION_OUT) | | The function to set for the pin (eg GPIO_FUNCTION_OUT) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed successfully or another error code on failure | | ERROR_SUCCESS if completed successfully or another error code on failure | ||
|- | |- | ||
Line 9,719: | Line 9,719: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Pin |
| The pin to get the state for (eg VIRTUAL_GPIO_PIN_1) | | The pin to get the state for (eg VIRTUAL_GPIO_PIN_1) | ||
|- | |- | ||
− | ! | + | ! Return |
| The current state (eg GPIO_LEVEL_HIGH) or GPIO_LEVEL_UNKNOWN on failure | | The current state (eg GPIO_LEVEL_HIGH) or GPIO_LEVEL_UNKNOWN on failure | ||
|- | |- | ||
Line 9,734: | Line 9,734: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Pin |
| The pin to set the state for (eg GPIO_PIN_1) | | The pin to set the state for (eg GPIO_PIN_1) | ||
|- | |- | ||
− | ! | + | ! Level |
| The state to set the pin to (eg GPIO_LEVEL_HIGH) | | The state to set the pin to (eg GPIO_LEVEL_HIGH) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed successfully or another error code on failure | | ERROR_SUCCESS if completed successfully or another error code on failure | ||
|- | |- | ||
Line 9,752: | Line 9,752: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Pin |
| The pin to get the function for (eg GPIO_PIN_1) | | The pin to get the function for (eg GPIO_PIN_1) | ||
|- | |- | ||
− | ! | + | ! Return |
| The current function of the pin (eg GPIO_FUNCTION_IN) or GPIO_FUNCTION_UNKNOWN on failure | | The current function of the pin (eg GPIO_FUNCTION_IN) or GPIO_FUNCTION_UNKNOWN on failure | ||
|- | |- | ||
Line 9,767: | Line 9,767: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Pin |
| The pin to change the function for (eg GPIO_PIN_1) | | The pin to change the function for (eg GPIO_PIN_1) | ||
|- | |- | ||
− | ! | + | ! Mode |
| The function to set for the pin (eg GPIO_FUNCTION_OUT) | | The function to set for the pin (eg GPIO_FUNCTION_OUT) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed successfully or another error code on failure | | ERROR_SUCCESS if completed successfully or another error code on failure | ||
|- | |- | ||
Line 9,788: | Line 9,788: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 9,800: | Line 9,800: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Mode |
| The device mode to set (eg SPI_MODE_4WIRE) | | The device mode to set (eg SPI_MODE_4WIRE) | ||
|- | |- | ||
− | ! | + | ! ClockRate |
| The clock rate to set for the device | | The clock rate to set for the device | ||
|- | |- | ||
− | ! | + | ! ClockPhase |
| The clock phase to set (eg SPI_CLOCK_PHASE_LOW) | | The clock phase to set (eg SPI_CLOCK_PHASE_LOW) | ||
|- | |- | ||
− | ! | + | ! ClockPolarity |
| The clock polarity to set (eg SPI_CLOCK_POLARITY_LOW) | | The clock polarity to set (eg SPI_CLOCK_POLARITY_LOW) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 9,824: | Line 9,824: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 9,836: | Line 9,836: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! ChipSelect |
| The chip select for the slave to read from (eg SPI_CS_0) | | The chip select for the slave to read from (eg SPI_CS_0) | ||
|- | |- | ||
− | ! | + | ! Dest |
| Pointer to a buffer to receive the data | | Pointer to a buffer to receive the data | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of the buffer | | The size of the buffer | ||
|- | |- | ||
− | ! | + | ! Count |
| The number of bytes read on return | | The number of bytes read on return | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 9,860: | Line 9,860: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! ChipSelect |
| The chip select for the slave to write to (eg SPI_CS_0) | | The chip select for the slave to write to (eg SPI_CS_0) | ||
|- | |- | ||
− | ! | + | ! Source |
| Pointer to a buffer of data to transmit | | Pointer to a buffer of data to transmit | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of the buffer | | The size of the buffer | ||
|- | |- | ||
− | ! | + | ! Count |
| The number of bytes written on return | | The number of bytes written on return | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 9,884: | Line 9,884: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! ChipSelect |
| The chip select for the slave to write to and read from (eg SPI_CS_0) | | The chip select for the slave to write to and read from (eg SPI_CS_0) | ||
|- | |- | ||
− | ! | + | ! Source |
| Pointer to a buffer of data to transmit | | Pointer to a buffer of data to transmit | ||
|- | |- | ||
− | ! | + | ! Dest |
| Pointer to a buffer to receive the data | | Pointer to a buffer to receive the data | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of the buffer | | The size of the buffer | ||
|- | |- | ||
− | ! | + | ! Count |
| The number of bytes written and read on return | | The number of bytes written and read on return | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 9,911: | Line 9,911: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| The device mode or SPI_MODE_UNKNOWN on failure | | The device mode or SPI_MODE_UNKNOWN on failure | ||
|- | |- | ||
Line 9,923: | Line 9,923: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Mode |
| The device mode to set (eg SPI_MODE_4WIRE) | | The device mode to set (eg SPI_MODE_4WIRE) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 9,938: | Line 9,938: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! ChipSelect |
| The chip select number to get clock rate from (SPI_CS_NONE for default) | | The chip select number to get clock rate from (SPI_CS_NONE for default) | ||
|- | |- | ||
− | ! | + | ! Return |
| The clock rate in Hz or 0 on failure | | The clock rate in Hz or 0 on failure | ||
|- | |- | ||
Line 9,953: | Line 9,953: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! ClockRate |
| The clock rate to set in Hz | | The clock rate to set in Hz | ||
|- | |- | ||
− | ! | + | ! ChipSelect |
| The chip select number to set clock rate for (SPI_CS_NONE for default) | | The chip select number to set clock rate for (SPI_CS_NONE for default) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 9,971: | Line 9,971: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| The clock phase or SPI_CLOCK_PHASE_UNKNOWN on failure | | The clock phase or SPI_CLOCK_PHASE_UNKNOWN on failure | ||
|- | |- | ||
Line 9,983: | Line 9,983: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! ClockPhase |
| The clock phase to set (eg SPI_CLOCK_PHASE_LOW) | | The clock phase to set (eg SPI_CLOCK_PHASE_LOW) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 9,998: | Line 9,998: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| The clock polarity or SPI_CLOCK_POLARITY_UNKNOWN on failure | | The clock polarity or SPI_CLOCK_POLARITY_UNKNOWN on failure | ||
|- | |- | ||
Line 10,010: | Line 10,010: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! ClockPolarity |
| The clock polarity to set (eg SPI_CLOCK_POLARITY_LOW) | | The clock polarity to set (eg SPI_CLOCK_POLARITY_LOW) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,025: | Line 10,025: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! ChipSelect |
| The chip select number to get polarity from (SPI_CS_NONE for default) | | The chip select number to get polarity from (SPI_CS_NONE for default) | ||
|- | |- | ||
− | ! | + | ! Return |
| The chip select polarity or SPI_CS_POLARITY_UNKNOWN on failure | | The chip select polarity or SPI_CS_POLARITY_UNKNOWN on failure | ||
|- | |- | ||
Line 10,040: | Line 10,040: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! ChipSelect |
| The chip select number to set polarity for (SPI_CS_NONE for default) | | The chip select number to set polarity for (SPI_CS_NONE for default) | ||
|- | |- | ||
− | ! | + | ! SelectPolarity |
| The chip select polarity to set (eg SPI_CS_POLARITY_LOW) | | The chip select polarity to set (eg SPI_CS_POLARITY_LOW) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,061: | Line 10,061: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,073: | Line 10,073: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Rate |
| The clock rate to set for the device (0 to use the default rate) | | The clock rate to set for the device (0 to use the default rate) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,088: | Line 10,088: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,100: | Line 10,100: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Address |
| The slave address to read from (I2C_ADDRESS_INVALID to use the current address) | | The slave address to read from (I2C_ADDRESS_INVALID to use the current address) | ||
|- | |- | ||
− | ! | + | ! Buffer |
| Pointer to a buffer to receive the data | | Pointer to a buffer to receive the data | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of the buffer | | The size of the buffer | ||
|- | |- | ||
− | ! | + | ! Count |
| The number of bytes read on return | | The number of bytes read on return | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,124: | Line 10,124: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Address |
| The slave address to write to (I2C_ADDRESS_INVALID to use the current address) | | The slave address to write to (I2C_ADDRESS_INVALID to use the current address) | ||
|- | |- | ||
− | ! | + | ! Buffer |
| Pointer to a buffer of data to transmit | | Pointer to a buffer of data to transmit | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of the buffer | | The size of the buffer | ||
|- | |- | ||
− | ! | + | ! Count |
| The number of bytes written on return | | The number of bytes written on return | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,148: | Line 10,148: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Address |
| The slave address to write to (I2C_ADDRESS_INVALID to use the current address) | | The slave address to write to (I2C_ADDRESS_INVALID to use the current address) | ||
|- | |- | ||
− | ! | + | ! Initial |
| Pointer to the initial buffer to transmit | | Pointer to the initial buffer to transmit | ||
|- | |- | ||
− | ! | + | ! Len |
| The size of the initial buffer | | The size of the initial buffer | ||
|- | |- | ||
− | ! | + | ! Data |
| Pointer to a buffer to receive the data | | Pointer to a buffer to receive the data | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of the data buffer | | The size of the data buffer | ||
|- | |- | ||
− | ! | + | ! Count |
| The number of bytes read on return | | The number of bytes read on return | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,178: | Line 10,178: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Address |
| The slave address to write to (I2C_ADDRESS_INVALID to use the current address) | | The slave address to write to (I2C_ADDRESS_INVALID to use the current address) | ||
|- | |- | ||
− | ! | + | ! Initial |
| Pointer to the initial buffer to transmit | | Pointer to the initial buffer to transmit | ||
|- | |- | ||
− | ! | + | ! Len |
| The size of the initial buffer | | The size of the initial buffer | ||
|- | |- | ||
− | ! | + | ! Data |
| Pointer to a buffer of data to transmit | | Pointer to a buffer of data to transmit | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of the data buffer | | The size of the data buffer | ||
|- | |- | ||
− | ! | + | ! Count |
| The number of bytes of data written on return | | The number of bytes of data written on return | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,208: | Line 10,208: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| The clock rate in Hz or 0 on failure | | The clock rate in Hz or 0 on failure | ||
|- | |- | ||
Line 10,220: | Line 10,220: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Rate |
| The clock rate to set in Hz | | The clock rate to set in Hz | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,235: | Line 10,235: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| The slave address or I2C_ADDRESS_INVALID on failure | | The slave address or I2C_ADDRESS_INVALID on failure | ||
|- | |- | ||
Line 10,247: | Line 10,247: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Address |
| The slave address to set | | The slave address to set | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,265: | Line 10,265: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,277: | Line 10,277: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,289: | Line 10,289: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,301: | Line 10,301: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Value |
| The value to write | | The value to write | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
− | ! | + | ! Note |
| The exact meaning of value may depend on the device and other configured options, in many cases the value will represent the "on" time of each pulse with regard to the duty cycle of the waveform output by the device | | The exact meaning of value may depend on the device and other configured options, in many cases the value will represent the "on" time of each pulse with regard to the duty cycle of the waveform output by the device | ||
|- | |- | ||
Line 10,319: | Line 10,319: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Mode |
| The mode value to set (eg PWM_MODE_MARKSPACE) | | The mode value to set (eg PWM_MODE_MARKSPACE) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,334: | Line 10,334: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Range |
| The range value to set | | The range value to set | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
− | ! | + | ! Note |
| The exact meaning of range may depend on the device and other configured options, in many cases the range will represent the period of one full cycle of the waveform output by the device | | The exact meaning of range may depend on the device and other configured options, in many cases the range will represent the period of one full cycle of the waveform output by the device | ||
|- | |- | ||
Line 10,352: | Line 10,352: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Frequency |
| The frequency to set in Hz | | The frequency to set in Hz | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,367: | Line 10,367: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! DutyNS |
| The "on" time part of the cycle (Nanoseconds) | | The "on" time part of the cycle (Nanoseconds) | ||
|- | |- | ||
− | ! | + | ! PeriodNS |
| The duration of one full cycle (Nanoseconds) | | The duration of one full cycle (Nanoseconds) | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 10,388: | Line 10,388: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,400: | Line 10,400: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Returned time is 100 nanosecond ticks since 1 January 1601. The same format as the ClockGetTime function. | | Returned time is 100 nanosecond ticks since 1 January 1601. The same format as the ClockGetTime function. | ||
|- | |- | ||
Line 10,412: | Line 10,412: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Time |
| The time to be set | | The time to be set | ||
|- | |- | ||
− | ! | + | ! Return |
| The device time after setting (or 0 on failure) | | The device time after setting (or 0 on failure) | ||
|- | |- | ||
− | ! | + | ! Note |
| Time and returned time is 100 nanosecond ticks since 1 January 1601. The same format as the ClockSetTime function. | | Time and returned time is 100 nanosecond ticks since 1 January 1601. The same format as the ClockSetTime function. | ||
|- | |- | ||
Line 10,433: | Line 10,433: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,445: | Line 10,445: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! BaudRate |
| Baud rate for the connection (eg 9600, 57600, 115200 etc | | Baud rate for the connection (eg 9600, 57600, 115200 etc | ||
|- | |- | ||
− | ! | + | ! DataBits |
| Size of the data (eg SERIAL_DATA_8BIT) | | Size of the data (eg SERIAL_DATA_8BIT) | ||
|- | |- | ||
− | ! | + | ! StopBits |
| Number of stop bits (eg SERIAL_STOP_1BIT) | | Number of stop bits (eg SERIAL_STOP_1BIT) | ||
|- | |- | ||
− | ! | + | ! Parity |
| Parity type for the data (eg SERIAL_PARITY_NONE) | | Parity type for the data (eg SERIAL_PARITY_NONE) | ||
|- | |- | ||
− | ! | + | ! FlowControl |
| Flow control for the connection (eg SERIAL_FLOW_NONE) | | Flow control for the connection (eg SERIAL_FLOW_NONE) | ||
|- | |- | ||
− | ! | + | ! ReceiveDepth |
| Size of the receive buffer (0 = Default size) | | Size of the receive buffer (0 = Default size) | ||
|- | |- | ||
− | ! | + | ! TransmitDepth |
| Size of the transmit buffer (0 = Default size) | | Size of the transmit buffer (0 = Default size) | ||
|- | |- | ||
Line 10,475: | Line 10,475: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,487: | Line 10,487: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Buffer |
| Pointer to a buffer to receive the data | | Pointer to a buffer to receive the data | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of the buffer | | The size of the buffer | ||
|- | |- | ||
− | ! | + | ! Count |
| The number of bytes read on return | | The number of bytes read on return | ||
|- | |- | ||
Line 10,505: | Line 10,505: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Buffer |
| Pointer to a buffer of data to transmit | | Pointer to a buffer of data to transmit | ||
|- | |- | ||
− | ! | + | ! Size |
| The size of the buffer | | The size of the buffer | ||
|- | |- | ||
− | ! | + | ! Count |
| The number of bytes written on return | | The number of bytes written on return | ||
|- | |- | ||
Line 10,526: | Line 10,526: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,538: | Line 10,538: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,550: | Line 10,550: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,562: | Line 10,562: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,574: | Line 10,574: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,586: | Line 10,586: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,601: | Line 10,601: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,613: | Line 10,613: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,625: | Line 10,625: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| True is enabled, False if disabled | | True is enabled, False if disabled | ||
|- | |- | ||
Line 10,637: | Line 10,637: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,649: | Line 10,649: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,661: | Line 10,661: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| IRQ state when called | | IRQ state when called | ||
|- | |- | ||
Line 10,673: | Line 10,673: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! IRQMask |
| IRQ state to restore | | IRQ state to restore | ||
|- | |- | ||
− | ! | + | ! Return |
| IRQ state when called | | IRQ state when called | ||
|- | |- | ||
Line 10,688: | Line 10,688: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| True is enabled, False if disabled | | True is enabled, False if disabled | ||
|- | |- | ||
Line 10,700: | Line 10,700: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,712: | Line 10,712: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,724: | Line 10,724: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| FIQ state when called | | FIQ state when called | ||
|- | |- | ||
Line 10,736: | Line 10,736: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! FIQMask |
| FIQ state to restore | | FIQ state to restore | ||
|- | |- | ||
− | ! | + | ! Return |
| FIQ state when called | | FIQ state when called | ||
|- | |- | ||
Line 10,751: | Line 10,751: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,763: | Line 10,763: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,775: | Line 10,775: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| IRQ/FIQ state when called | | IRQ/FIQ state when called | ||
|- | |- | ||
Line 10,787: | Line 10,787: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! IRQFIQMask |
| IRQ/FIQ state to restore | | IRQ/FIQ state to restore | ||
|- | |- | ||
− | ! | + | ! Return |
| IRQ/FIQ state when called | | IRQ/FIQ state when called | ||
|- | |- | ||
Line 10,802: | Line 10,802: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| True is enabled, False if disabled | | True is enabled, False if disabled | ||
|- | |- | ||
Line 10,814: | Line 10,814: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,826: | Line 10,826: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,838: | Line 10,838: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| Abort state when called | | Abort state when called | ||
|- | |- | ||
Line 10,850: | Line 10,850: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! AbortMask |
| Abort state to restore | | Abort state to restore | ||
|- | |- | ||
− | ! | + | ! Return |
| Abort state when called | | Abort state when called | ||
|- | |- | ||
Line 10,865: | Line 10,865: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,877: | Line 10,877: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,889: | Line 10,889: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,901: | Line 10,901: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,913: | Line 10,913: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,925: | Line 10,925: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,937: | Line 10,937: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,949: | Line 10,949: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,961: | Line 10,961: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,973: | Line 10,973: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,985: | Line 10,985: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 10,997: | Line 10,997: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,009: | Line 11,009: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,021: | Line 11,021: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,033: | Line 11,033: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,045: | Line 11,045: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,057: | Line 11,057: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,069: | Line 11,069: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,081: | Line 11,081: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,093: | Line 11,093: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,105: | Line 11,105: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,117: | Line 11,117: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,129: | Line 11,129: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,141: | Line 11,141: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,153: | Line 11,153: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,165: | Line 11,165: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,177: | Line 11,177: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,189: | Line 11,189: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,201: | Line 11,201: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,213: | Line 11,213: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,225: | Line 11,225: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,237: | Line 11,237: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,249: | Line 11,249: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,261: | Line 11,261: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,273: | Line 11,273: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,285: | Line 11,285: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,297: | Line 11,297: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,309: | Line 11,309: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,321: | Line 11,321: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,333: | Line 11,333: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,345: | Line 11,345: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,357: | Line 11,357: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,369: | Line 11,369: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,381: | Line 11,381: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,393: | Line 11,393: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,405: | Line 11,405: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,417: | Line 11,417: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,429: | Line 11,429: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,441: | Line 11,441: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,453: | Line 11,453: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,465: | Line 11,465: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,477: | Line 11,477: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,489: | Line 11,489: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,501: | Line 11,501: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,513: | Line 11,513: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,525: | Line 11,525: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,537: | Line 11,537: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,552: | Line 11,552: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,564: | Line 11,564: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,579: | Line 11,579: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,591: | Line 11,591: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,603: | Line 11,603: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Not intended to be called directly by applications, use Read or ReadLn instead | | Not intended to be called directly by applications, use Read or ReadLn instead | ||
|- | |- | ||
Line 11,615: | Line 11,615: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Not intended to be called directly by applications, use Write or WriteLn instead | | Not intended to be called directly by applications, use Write or WriteLn instead | ||
|- | |- | ||
Line 11,627: | Line 11,627: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Not intended to be called directly by applications, use Read or ReadLn instead | | Not intended to be called directly by applications, use Read or ReadLn instead | ||
|- | |- | ||
Line 11,639: | Line 11,639: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Not intended to be called directly by applications, use Write or WriteLn instead | | Not intended to be called directly by applications, use Write or WriteLn instead | ||
|- | |- | ||
Line 11,651: | Line 11,651: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Not intended to be called directly by applications, use Read or ReadLn instead | | Not intended to be called directly by applications, use Read or ReadLn instead | ||
|- | |- | ||
Line 11,663: | Line 11,663: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Not intended to be called directly by applications, use Write or WriteLn instead | | Not intended to be called directly by applications, use Write or WriteLn instead | ||
|- | |- | ||
Line 11,678: | Line 11,678: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,690: | Line 11,690: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,702: | Line 11,702: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,714: | Line 11,714: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,726: | Line 11,726: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,738: | Line 11,738: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,750: | Line 11,750: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,762: | Line 11,762: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,777: | Line 11,777: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,789: | Line 11,789: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,804: | Line 11,804: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,816: | Line 11,816: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,828: | Line 11,828: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,840: | Line 11,840: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,855: | Line 11,855: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,867: | Line 11,867: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,879: | Line 11,879: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,894: | Line 11,894: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,906: | Line 11,906: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,918: | Line 11,918: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,933: | Line 11,933: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,945: | Line 11,945: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,960: | Line 11,960: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Returns 31 for MSB and 0 for LSB (0xFFFFFFFF/-1 if no bits are set) | | Returns 31 for MSB and 0 for LSB (0xFFFFFFFF/-1 if no bits are set) | ||
|- | |- | ||
Line 11,972: | Line 11,972: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Returns 32 if no bits are set | | Returns 32 if no bits are set | ||
|- | |- | ||
Line 11,984: | Line 11,984: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 11,996: | Line 11,996: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,008: | Line 12,008: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,020: | Line 12,020: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,032: | Line 12,032: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Nanseconds |
| Number of nanoseconds to wait | | Number of nanoseconds to wait | ||
|- | |- | ||
Line 12,044: | Line 12,044: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Milliseconds |
| Number of microseconds to wait | | Number of microseconds to wait | ||
|- | |- | ||
Line 12,056: | Line 12,056: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Milliseconds |
| Number of milliseconds to wait | | Number of milliseconds to wait | ||
|- | |- | ||
Line 12,068: | Line 12,068: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Nanoseconds |
| Number of nanoseconds to wait | | Number of nanoseconds to wait | ||
|- | |- | ||
− | ! | + | ! Wait |
| Use WaitForEvent on each loop to reduce power consumption | | Use WaitForEvent on each loop to reduce power consumption | ||
|- | |- | ||
− | ! | + | ! Note |
| Not suitable for use by interrupt handlers if wait is true | | Not suitable for use by interrupt handlers if wait is true | ||
|- | |- | ||
Line 12,086: | Line 12,086: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Milliseconds |
| Number of milliseconds to wait | | Number of milliseconds to wait | ||
|- | |- | ||
− | ! | + | ! Wait |
| Use WaitForEvent on each loop to reduce power consumption | | Use WaitForEvent on each loop to reduce power consumption | ||
|- | |- | ||
− | ! | + | ! Note |
| Not suitable for use by interrupt handlers if wait is true | | Not suitable for use by interrupt handlers if wait is true | ||
|- | |- | ||
Line 12,104: | Line 12,104: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Milliseconds |
| Number of milliseconds to wait | | Number of milliseconds to wait | ||
|- | |- | ||
− | ! | + | ! Wait |
| Use WaitForEvent on each loop to reduce power consumption | | Use WaitForEvent on each loop to reduce power consumption | ||
|- | |- | ||
− | ! | + | ! Note |
| Not suitable for use by interrupt handlers if wait is true | | Not suitable for use by interrupt handlers if wait is true | ||
|- | |- | ||
Line 12,125: | Line 12,125: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,140: | Line 12,140: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,155: | Line 12,155: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,167: | Line 12,167: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,179: | Line 12,179: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,191: | Line 12,191: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,203: | Line 12,203: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,218: | Line 12,218: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,230: | Line 12,230: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,242: | Line 12,242: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,257: | Line 12,257: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,269: | Line 12,269: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,284: | Line 12,284: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Includes timezone offset if configured | | Includes timezone offset if configured | ||
|- | |- | ||
Line 12,296: | Line 12,296: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Includes timezone offset if configured | | Includes timezone offset if configured | ||
|- | |- | ||
Line 12,308: | Line 12,308: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,323: | Line 12,323: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,335: | Line 12,335: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,347: | Line 12,347: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,359: | Line 12,359: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,371: | Line 12,371: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 12,383: | Line 12,383: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- |
Revision as of 03:51, 15 April 2018
Return to Unit Reference
Contents
[hide]Description
Ultibo Platform interface unit
To be documented
Constants
HANDLE_FLAG_*
HANDLE_*
DMA_DATA_FLAG_*
PAGE_TABLE_FLAG_*
VECTOR_TABLE_ENTRY_*
EXCEPTION_TYPE_*
PLATFORM_LOG_LEVEL_*
IRQ_LOG_LEVEL_*
FIQ_LOG_LEVEL_*
SWI_LOG_LEVEL_*
Type definitions
IRQ mask
TIRQMask = LongWord;
|
FIQ mask
TFIQMask = LongWord;
|
IRQ/FIQ mask
TIRQFIQMask = LongWord;
|
Abort mask
TAbortMask = LongWord;
|
DMA data
System call request (SWI)
Handle close
THandleClose = procedure(Data:THandle);
|
Handle close extended
THandleCloseEx = function(Data:THandle):LongWord;
|
Handle duplicate
THandleDuplicate = function(Data:THandle):THandle;
|
Handle enumeration callback
THandleEnumerate = function(Handle:PHandleEntry; Data:Pointer):LongWord;
|
Handle entry
Handle table
Shutdown entry
Interrupt entry (IRQ/FIQ)
System call entry (SWI)
Page table entry
Platform lock
Platform semaphore
CPU initialization
TCPUInit = procedure;
|
FPU initialization
TFPUInit = procedure;
|
GPU initialization
TGPUInit = procedure;
|
MMU initialization
TMMUInit = procedure;
|
SMP initialization
TSMPInit = procedure;
|
Cache initialization
TCacheInit = procedure;
|
Board initialization
TBoardInit = procedure;
|
Memory initialization
TMemoryInit = procedure;
|
Clock initialization
TClockInit = procedure;
|
Power initialization
TPowerInit = procedure;
|
Mailbox initialization
TMailboxInit = procedure;
|
Interrupt initialization
TInterruptInit = procedure;
|
Peripheral initialization
TPeripheralInit = procedure;
|
Framebuffer initialization
TFramebufferInit = procedure;
|
Parse boot tags
TParseBootTags = procedure;
|
Parse command line
TParseCommandLine = procedure;
|
Parse environment
TParseEnvironment = procedure;
|
Interrupt (IRQ/FIQ) handler
TInterruptHandler = procedure(Parameter:Pointer);
|
Interrupt (IRQ/FIQ) ex handler
TInterruptExHandler = function(CPUID:LongWord; Thread:TThreadHandle; Parameter:Pointer):TThreadHandle;
|
System call (SWI) handler
TSystemCallHandler = procedure(Request:PSystemCallRequest);
|
System call (SWI) ex handler
TSystemCallExHandler = function(CPUID:LongWord; Thread:TThreadHandle; Request:PSystemCallRequest):TThreadHandle;
|
Thread yield
TThreadYield = function:LongWord;
|
Thread wait
TThreadWait = function(List:TListHandle; Lock:TSpinHandle; Flags:LongWord):LongWord;
|
Thread wait ex
TThreadWaitEx = function(List:TListHandle; Lock:TSpinHandle; Flags,Timeout:LongWord):LongWord;
|
Thread release
TThreadRelease = function(List:TListHandle):LongWord;
|
Thread abandon
TThreadAbandon = function(List:TListHandle):LongWord;
|
Thread wake
TThreadWake = function(Thread:TThreadHandle):LongWord;
|
Thread ready
TThreadReady = function(Thread:TThreadHandle; Reschedule:Boolean):LongWord;
|
Thread timeout
TThreadTimeout = function(Thread:TThreadHandle):LongWord;
|
Timer event
TTimerEvent = procedure(Data:Pointer);
|
Worker task
TWorkerTask = procedure(Data:Pointer);
|
Worker callback
TWorkerCallback = procedure(Data:Pointer);
|
Counter callback
TCounterCallback = procedure(Data:Pointer);
|
GPIO callback
TGPIOCallback = procedure(Data:Pointer; Pin,Trigger:LongWord);
|
Boot blink
TBootBlink = procedure;
|
Boot output
TBootOutput = procedure(Value:LongWord);
|
Power LED enable
TPowerLEDEnable = procedure;
|
Power LED on
TPowerLEDOn = procedure;
|
Power LED off
TPowerLEDOff = procedure;
|
Activity LED enable
TActivityLEDEnable = procedure;
|
Activity LED on
TActivityLEDOn = procedure;
|
Activity LED off
TActivityLEDOff = procedure;
|
Counter available
TCounterAvailable = function:Boolean;
|
Counter read
TCounterRead = function:LongWord;
|
Counter read64
TCounterRead64 = function:Int64;
|
Counter wait
TCounterWait = function:LongWord;
|
Counter event
TCounterEvent = function(Callback:TCounterCallback; Data:Pointer):LongWord;
|
Counter cancel
TCounterCancel = function:LongWord;
|
Counter get rate
TCounterGetRate = function:LongWord;
|
Counter set rate
TCounterSetRate = function(Rate:LongWord):LongWord;
|
Counter get interval
TCounterGetInterval = function:LongWord;
|
Counter set interval
TCounterSetInterval = function(Interval:LongWord):LongWord;
|
Mailbox receive
TMailboxReceive = function(Mailbox,Channel:LongWord):LongWord;
|
Mailbox send
TMailboxSend = procedure(Mailbox,Channel,Data:LongWord);
|
Mailbox call
TMailboxCall = function(Mailbox,Channel,Data:LongWord; var Response:LongWord):LongWord;
|
Mailbox call ex
TMailboxCallEx = function(Mailbox,Channel,Data:LongWord; var Response:LongWord; Timeout:LongWord):LongWord;
|
Mailbox property call
TMailboxPropertyCall = function(Mailbox,Channel:LongWord; Data:Pointer; var Response:LongWord):LongWord;
|
Mailbox property call ex
TMailboxPropertyCallEx = function(Mailbox,Channel:LongWord; Data:Pointer; var Response:LongWord; Timeout:LongWord):LongWord;
|
Random available
TRandomAvailable = function:Boolean;
|
Random seed
TRandomSeed = procedure(Seed:LongWord);
|
Random read long int
TRandomReadLongInt = function(Limit:LongInt):LongInt;
|
Random read int64
TRandomReadInt64 = function(Limit:Int64):Int64;
|
Random read extended
TRandomReadExtended = function:Extended;
|
Watchdog available
TWatchdogAvailable = function:Boolean;
|
Watchdog start
TWatchdogStart = function(Milliseconds:LongWord):LongWord;
|
Watchdog stop
TWatchdogStop = function:LongWord;
|
Watchdog refresh
TWatchdogRefresh = function(Milliseconds:LongWord):LongWord;
|
Request IRQ
TRequestIRQ = function(CPUID,Number:LongWord; Handler:TInterruptHandler; Parameter:Pointer):LongWord;
|
Release IRQ
TReleaseIRQ = function(CPUID,Number:LongWord; Handler:TInterruptHandler; Parameter:Pointer):LongWord;
|
Request ex IRQ
TRequestExIRQ = function(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;
|
Release ex IRQ
TReleaseExIRQ = function(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;
|
Request FIQ
TRequestFIQ = function(CPUID,Number:LongWord; Handler:TInterruptHandler; Parameter:Pointer):LongWord;
|
Release FIQ
TReleaseFIQ = function(CPUID,Number:LongWord; Handler:TInterruptHandler; arameter:Pointer):LongWord;
|
Request ex FIQ
TRequestExFIQ = function(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;
|
Release ex FIQ
TReleaseExFIQ = function(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;
|
System call
TSystemCall = procedure(Number:LongWord; Param1,Param2,Param3:PtrUInt);
|
Register system call
TRegisterSystemCall = function(Number:LongWord; Handler:TSystemCallHandler):LongWord;
|
Deregister system call
TDeregisterSystemCall = function(Number:LongWord; Handler:TSystemCallHandler):LongWord;
|
Register system call ex
TRegisterSystemCallEx = function(CPUID,Number:LongWord; Handler:TSystemCallHandler; HandlerEx:TSystemCallExHandler):LongWord;
|
Deregister system call ex
TDeregisterSystemCallEx = function(CPUID,Number:LongWord; Handler:TSystemCallHandler; HandlerEx:TSystemCallExHandler):LongWord;
|
Get interrupt count
TGetInterruptCount = function:LongWord;
|
Get interrupt start
TGetInterruptStart = function:LongWord;
|
Get interrupt entry
TGetInterruptEntry = function(Number:LongWord):TInterruptEntry;
|
Get local interrupt count
TGetLocalInterruptCount = function:LongWord;
|
Get local interrupt start
TGetLocalInterruptStart = function:LongWord;
|
Get local interrupt entry
TGetLocalInterruptEntry = function(CPUID,Number:LongWord):TInterruptEntry;
|
Get system call count
TGetSystemCallCount = function:LongWord;
|
Get system call entry
TGetSystemCallEntry = function(Number:LongWord):TSystemCallEntry;
|
System restart
TSystemRestart = function(Delay:LongWord):LongWord;
|
System shutdown
TSystemShutdown = function(Delay:LongWord):LongWord;
|
System get uptime
TSystemGetUptime = function:Int64;
|
System get command line
TSystemGetCommandLine = function:String;
|
System get environment
TSystemGetEnvironment = function:Pointer;
|
CPU get arch
TCPUGetArch = function:LongWord;
|
CPU get type
TCPUGetType = function:LongWord;
|
CPU get boot
TCPUGetBoot = function:LongWord;
|
CPU get mask
TCPUGetMask = function:LongWord;
|
CPU get count
TCPUGetCount = function:LongWord;
|
CPU get mode
TCPUGetMode = function:LongWord;
|
CPU get state
TCPUGetState = function:LongWord;
|
CPU get group
TCPUGetGroup = function:LongWord;
|
CPU get current
TCPUGetCurrent = function:LongWord;
|
CPU get memory
TCPUGetMemory = function(var Address:PtrUInt; var Length:LongWord):LongWord;
|
CPU get percentage
TCPUGetPercentage = function(CPUID:LongWord):Double;
|
CPU get utilization
TCPUGetUtilization = function(CPUID:LongWord):LongWord;
|
CPU get model
TCPUGetModel = function:LongWord;
|
CPU get revision
TCPUGetRevision = function:LongWord;
|
CPU get description
TCPUGetDescription = function:String;
|
FPU get type
TFPUGetType = function:LongWord;
|
FPU get state
TFPUGetState = function:LongWord;
|
GPU get type
TGPUGetType = function:LongWord;
|
GPU get state
TGPUGetState = function:LongWord;
|
GPU get memory
TGPUGetMemory = function(var Address:PtrUInt; var Length:LongWord):LongWord;
|
L1 cache get type
TL1CacheGetType = function:LongWord;
|
L1 data cache get size
TL1DataCacheGetSize = function:LongWord;
|
L1 data cache get line size
TL1DataCacheGetLineSize = function:LongWord;
|
L1 instruction cache get size
TL1InstructionCacheGetSize = function:LongWord;
|
L1 instruction cache get line size
TL1InstructionCacheGetLineSize = function:LongWord;
|
L2 cache get type
TL2CacheGetType = function:LongWord;
|
L2 cache get size
TL2CacheGetSize = function:LongWord;
|
L2 cache get line size
TL2CacheGetLineSize = function:LongWord;
|
Board get type
TBoardGetType = function:LongWord;
|
Board get model
TBoardGetModel = function:LongWord;
|
Board get serial
TBoardGetSerial = function:Int64;
|
Board get revision
TBoardGetRevision = function:LongWord;
|
Board get MAC address
TBoardGetMACAddress = function:String;
|
Firmware get revision
TFirmwareGetRevision = function:LongWord;
|
Machine get type
TMachineGetType = function:LongWord;
|
Memory get base
TMemoryGetBase = function:PtrUInt;
|
Memory get size
TMemoryGetSize = function:LongWord;
|
Memory get page size
TMemoryGetPageSize = function:LongWord;
|
Memory get large page size
TMemoryGetLargePageSize = function:LongWord;
|
Power get wait
TPowerGetWait = function(PowerId:LongWord):LongWord;
|
Power get state
TPowerGetState = function(PowerId:LongWord):LongWord;
|
Power set state
TPowerSetState = function(PowerId,State:LongWord; Wait:Boolean):LongWord;
|
Clock get count
TClockGetCount = function:LongWord;
|
Clock get total
TClockGetTotal = function:Int64;
|
Clock update offset
TClockUpdateOffset = function:LongWord;
|
Clock get rate
TClockGetRate = function(ClockId:LongWord):LongWord;
|
Clock set rate
TClockSetRate = function(ClockId,Rate:LongWord; Turbo:Boolean):LongWord;
|
Clock get state
TClockGetState = function(ClockId:LongWord):LongWord;
|
Clock set state
TClockSetState = function(ClockId,State:LongWord):LongWord;
|
Clock get min rate
TClockGetMinRate = function(ClockId:LongWord):LongWord;
|
Clock get max rate
TClockGetMaxRate = function(ClockId:LongWord):LongWord;
|
Turbo get state
TTurboGetState = function(TurboId:LongWord):LongWord;
|
Turbo set state
TTurboSetState = function(TurboId,State:LongWord):LongWord;
|
Voltage get value
TVoltageGetValue = function (VoltageId:LongWord):LongWord;
|
Voltage set value
TVoltageSetValue = function (VoltageId,Value:LongWord):LongWord;
|
Voltage get min value
TVoltageGetMinValue = function(VoltageId:LongWord):LongWord;
|
Voltage get max value
TVoltageGetMaxValue = function(VoltageId:LongWord):LongWord;
|
Temperature get current
TTemperatureGetCurrent = function(TemperatureId:LongWord):LongWord;
|
Temperature get maximum
TTemperatureGetMaximum = function(TemperatureId:LongWord):LongWord;
|
GPU memory allocate
TGPUMemoryAllocate = function(Length,Alignment,Flags:LongWord):THandle;
|
GPU memory release
TGPUMemoryRelease = function(Handle:THandle):LongWord;
|
GPU memory lock
TGPUMemoryLock = function(Handle:THandle):LongWord;
|
GPU memory unlock
TGPUMemoryUnlock = function(Handle:THandle):LongWord;
|
GPU execute code
TGPUExecuteCode = function(Address:Pointer; R0,R1,R2,R3,R4,R5:LongWord):LongWord;
|
Dispmanx handle get
TDispmanxHandleGet = function(Resource:THandle):THandle;
|
EDID block get
TEDIDBlockGet = function(Block:LongWord; Buffer:Pointer; Length:LongWord):LongWord;
|
Framebuffer available
TFramebufferAvailable = function:Boolean;
|
Framebuffer allocate
TFramebufferAllocate = function(Alignment:LongWord; var Address,Length:LongWord):LongWord;
|
Framebuffer release
TFramebufferRelease = function:LongWord;
|
Framebuffer set state
TFramebufferSetState = function(State:LongWord):LongWord;
|
Framebuffer get dimensions
TFramebufferGetDimensions = function(var Width,Height,Top,Bottom,Left,Right:LongWord):LongWord;
|
Framebuffer get physical
TFramebufferGetPhysical = function(var Width,Height:LongWord):LongWord;
|
Framebuffer set physical
TFramebufferSetPhysical = function(var Width,Height:LongWord):LongWord;
|
Framebuffer test physical
TFramebufferTestPhysical = function(var Width,Height:LongWord):LongWord;
|
Framebuffer get virtual
TFramebufferGetVirtual = function(var Width,Height:LongWord):LongWord;
|
Framebuffer set virtual
TFramebufferSetVirtual = function(var Width,Height:LongWord):LongWord;
|
Framebuffer test virtual
TFramebufferTestVirtual = function(var Width,Height:LongWord):LongWord;
|
Framebuffer get depth
TFramebufferGetDepth = function(var Depth:LongWord):LongWord;
|
Framebuffer set depth
TFramebufferSetDepth = function(var Depth:LongWord):LongWord;
|
Framebuffer test depth
TFramebufferTestDepth = function(var Depth:LongWord):LongWord;
|
Framebuffer get pixel order
TFramebufferGetPixelOrder = function(var Order:LongWord):LongWord;
|
Framebuffer set pixel order
TFramebufferSetPixelOrder = function(var Order:LongWord):LongWord;
|
Framebuffer test pixel order
TFramebufferTestPixelOrder = function(var Order:LongWord):LongWord;
|
Framebuffer get alpha mode
TFramebufferGetAlphaMode = function(var Mode:LongWord):LongWord;
|
Framebuffer set alpha mode
TFramebufferSetAlphaMode = function(var Mode:LongWord):LongWord;
|
Framebuffer test alpha mode
TFramebufferTestAlphaMode = function(var Mode:LongWord):LongWord;
|
Framebuffer get pitch
TFramebufferGetPitch = function:LongWord;
|
Framebuffer get offset
TFramebufferGetOffset = function(var X,Y:LongWord):LongWord;
|
Framebuffer set offset
TFramebufferSetOffset = function(var X,Y:LongWord):LongWord;
|
Framebuffer test offset
TFramebufferTestOffset = function(var X,Y:LongWord):LongWord;
|
Framebuffer get overscan
TFramebufferGetOverscan = function(var Top,Bottom,Left,Right:LongWord):LongWord;
|
Framebuffer set overscan
TFramebufferSetOverscan = function(var Top,Bottom,Left,Right:LongWord):LongWord;
|
Framebuffer test overscan
TFramebufferTestOverscan = function(var Top,Bottom,Left,Right:LongWord):LongWord;
|
Framebuffer get palette
TFramebufferGetPalette = function(Buffer:Pointer; Length:LongWord):LongWord;
|
Framebuffer set palette
TFramebufferSetPalette = function(Start,Count:LongWord; Buffer:Pointer; Length:LongWord):LongWord;
|
Framebuffer test palette
TFramebufferTestPalette = function(Start,Count:LongWord; Buffer:Pointer; Length:LongWord):LongWord;
|
Framebuffer test vsync
TFramebufferTestVsync = function:LongWord;
|
Framebuffer set vsync
TFramebufferSetVsync = function:LongWord;
|
Framebuffer set backlight
TFramebufferSetBacklight = function(Brightness:LongWord):LongWord;
|
Touch get buffer
TTouchGetBuffer = function(var Address:LongWord):LongWord;
|
Touch set buffer
TTouchSetBuffer = function(Address:PtrUInt):LongWord;
|
Cursor set default
TCursorSetDefault = function:LongWord;
|
Cursor set info
TCursorSetInfo = function(Width,Height,HotspotX,HotspotY:LongWord; Pixels:Pointer; Length:LongWord):LongWord;
|
Cursor set state
TCursorSetState = function(Enabled:Boolean; X,Y:LongWord; Relative:Boolean):LongWord;
|
DMA available
TDMAAvailable = function:Boolean;
|
DMA transfer
TDMATransfer = function(Data:PDMAData; Direction,Peripheral:LongWord):LongWord;
|
DMA fill memory
TDMAFillMemory = function(Dest:Pointer; Size:LongWord; Value:Byte):LongWord;
|
DMA copy memory
TDMACopyMemory = function(Source,Dest:Pointer; Size:LongWord):LongWord;
|
DMA read peripheral
TDMAReadPeripheral = function(Address,Dest:Pointer; Size,Peripheral:LongWord):LongWord;
|
DMA write peripheral
TDMAWritePeripheral = function(Source,Address:Pointer; Size,Peripheral:LongWord):LongWord;
|
DMA allocate buffer
TDMAAllocateBuffer = function(Size:LongWord):Pointer;
|
DMA allocate buffer ex
TDMAAllocateBufferEx = function(var Size:LongWord):Pointer;
|
DMA release buffer
TDMAReleaseBuffer = function(Buffer:Pointer):LongWord;
|
DMA get channels
TDMAGetChannels = function:LongWord;
|
GPIO available
TGPIOAvailable = function:Boolean;
|
GPIO read
TGPIORead = function(Reg:LongWord):LongWord;
|
GPIO write
TGPIOWrite = procedure(Reg,Value:LongWord);
|
GPIO input get
TGPIOInputGet = function(Pin:LongWord):LongWord;
|
GPIO input wait
TGPIOInputWait = function(Pin,Trigger,Timeout:LongWord):LongWord;
|
GPIO input event
TGPIOInputEvent = function(Pin,Trigger,Timeout:LongWord; Callback:TGPIOCallback; Data:Pointer):LongWord;
|
GPIO output set
TGPIOOutputSet = function(Pin,Level:LongWord):LongWord;
|
GPIO pull get
TGPIOPullGet = function(Pin:LongWord):LongWord;
|
GPIO pull select
TGPIOPullSelect = function(Pin,Mode:LongWord):LongWord;
|
GPIO function get
TGPIOFunctionGet = function(Pin:LongWord):LongWord;
|
GPIO function select
TGPIOFunctionSelect = function(Pin,Mode:LongWord):LongWord;
|
Virtual GPIO input get
TVirtualGPIOInputGet = function(Pin:LongWord):LongWord;
|
Virtual GPIO output set
TVirtualGPIOOutputSet = function(Pin,Level:LongWord):LongWord;
|
Virtual GPIO function get
TVirtualGPIOFunctionGet = function(Pin:LongWord):LongWord;
|
Virtual GPIO function select
TVirtualGPIOFunctionSelect = function(Pin,Mode:LongWord):LongWord;
|
SPI available
TSPIAvailable = function:Boolean;
|
SPI start
TSPIStart = function(Mode,ClockRate,ClockPhase,ClockPolarity:LongWord):LongWord;
|
SPI stop
TSPIStop = function:LongWord;
|
SPI read
TSPIRead = function(ChipSelect:Word; Dest:Pointer; Size:LongWord; var Count:LongWord):LongWord;
|
SPI write
TSPIWrite = function(ChipSelect:Word; Source:Pointer; Size:LongWord; var Count:LongWord):LongWord;
|
SPI write read
TSPIWriteRead = function(ChipSelect:Word; Source,Dest:Pointer; Size:LongWord; var Count:LongWord):LongWord;
|
SPI get mode
TSPIGetMode = function:LongWord;
|
SPI set mode
TSPISetMode = function(Mode:LongWord):LongWord;
|
SPI get clock rate
TSPIGetClockRate = function(ChipSelect:Word):LongWord;
|
SPI set clock rate
TSPISetClockRate = function(ChipSelect:Word; ClockRate:LongWord):LongWord;
|
SPI get clock phase
TSPIGetClockPhase = function:LongWord;
|
SPI set clock phase
TSPISetClockPhase = function(ClockPhase:LongWord):LongWord;
|
SPI get clock polarity
TSPIGetClockPolarity = function:LongWord;
|
SPI set clock polarity
TSPISetClockPolarity = function(ClockPolarity:LongWord):LongWord;
|
SPI get select polarity
TSPIGetSelectPolarity = function(ChipSelect:Word):LongWord;
|
SPI set select polarity
TSPISetSelectPolarity = function(ChipSelect:Word; SelectPolarity:LongWord):LongWord;
|
I2C available
TI2CAvailable = function:Boolean;
|
I2C start
TI2CStart = function(Rate:LongWord):LongWord;
|
I2C stop
TI2CStop = function:LongWord;
|
I2C read
TI2CRead = function(Address:Word; Buffer:Pointer; Size:LongWord; var Count:LongWord):LongWord;
|
I2C write
TI2CWrite = function(Address:Word; Buffer:Pointer; Size:LongWord; var Count:LongWord):LongWord;
|
I2C write read
TI2CWriteRead = function(Address:Word; Initial:Pointer; Len:LongWord; Data:Pointer; Size:LongWord; var Count:LongWord):LongWord;
|
I2C write write
TI2CWriteWrite = function(Address:Word; Initial:Pointer; Len:LongWord; Data:Pointer; Size:LongWord; var Count:LongWord):LongWord;
|
I2C get rate
TI2CGetRate = function:LongWord;
|
I2C set rate
TI2CSetRate = function(Rate:LongWord):LongWord;
|
I2C get address
TI2CGetAddress = function:Word;
|
I2C set address
TI2CSetAddress = function(Address:Word):LongWord;
|
PWM available
TPWMAvailable = function:Boolean;
|
PWM start
TPWMStart = function:LongWord;
|
PWM stop
TPWMStop = function:LongWord;
|
PWM write
TPWMWrite = function(Value:LongWord):LongWord;
|
PWM set mode
TPWMSetMode = function(Mode:LongWord):LongWord;
|
PWM set range
TPWMSetRange = function(Range:LongWord):LongWord;
|
PWM set frequency
TPWMSetFrequency = function(Frequency:LongWord):LongWord;
|
PWM configure
TPWMConfigure = function(DutyNS,PeriodNS:LongWord):LongWord;
|
RTC available
TRTCAvailable = function:Boolean;
|
RTC get time
TRTCGetTime = function:Int64;
|
RTC set time
TRTCSetTime = function(const Time:Int64):Int64;
|
Serial available
TSerialAvailable = function:Boolean;
|
Serial open
TSerialOpen = function(BaudRate,DataBits,StopBits,Parity,FlowControl,ReceiveDepth,TransmitDepth:LongWord):LongWord;
|
Serial close
TSerialClose = function:LongWord;
|
Serial read
TSerialRead = function(Buffer:Pointer; Size:LongWord; var Count:LongWord):LongWord;
|
Serial write
TSerialWrite = function(Buffer:Pointer; Size:LongWord; var Count:LongWord):LongWord;
|
Peripheral get base
TPeripheralGetBase = function:PtrUInt;
|
Peripheral get size
TPeripheralGetSize = function:LongWord;
|
Peripheral read
TPeripheralRead = function(Base,Reg:LongWord):LongWord;
|
Peripheral write
TPeripheralWrite = procedure(Base,Reg,Value:LongWord);
|
Local Peripheral get base
TLocalPeripheralGetBase = function:PtrUInt;
|
Local peripheral get size
TLocalPeripheralGetSize = function:LongWord;
|
Get SP
TGetSP = function:PtrUInt;
|
Get PC
TGetPC = function:PtrUInt;
|
Get IRQ
TGetIRQ = function:Boolean;
|
Enable IRQ
TEnableIRQ = procedure;
|
Disable IRQ
TDisableIRQ = procedure;
|
Save IRQ
TSaveIRQ = function:TIRQMask;
|
Restore IRQ
TRestoreIRQ = function(IRQMask:TIRQMask):TIRQMask;
|
Get FIQ
TGetFIQ = function:Boolean;
|
Enable FIQ
TEnableFIQ = procedure;
|
Disable FIQ
TDisableFIQ = procedure;
|
Save FIQ
TSaveFIQ = function:TFIQMask;
|
Restore FIQ
TRestoreFIQ = function(FIQMask:TFIQMask):TFIQMask;
|
Enable IRQ/FIQ
TEnableIRQFIQ = procedure;
|
Disable IRQ/FIQ
TDisableIRQFIQ = procedure;
|
Save IRQ/FIQ
TSaveIRQFIQ = function:TIRQFIQMask;
|
Restore IRQ/FIQ
TRestoreIRQFIQ = function(IRQFIQMask:TIRQFIQMask):TIRQFIQMask;
|
Get abort
TGetAbort = function:Boolean;
|
Enable abort
TEnableAbort = procedure;
|
Disable abort
TDisableAbort = procedure;
|
Save abort
TSaveAbort = function:TAbortMask;
|
Restore abort
TRestoreAbort = function(AbortMask:TAbortMask):TAbortMask;
|
Halt
THalt = procedure;
|
Pause
TPause = procedure;
|
Halt thread
THaltThread = function(ExitCode:LongWord):LongWord;
|
Send event
TSendEvent = procedure;
|
Wait for event
TWaitForEvent = procedure;
|
Wait for interrupt
TWaitForInterrupt = procedure;
|
Read memory barrier
TReadMemoryBarrier = procedure;
|
Write memory barrier
TWriteMemoryBarrier = procedure;
|
Data memory barrier
TDataMemoryBarrier = procedure;
|
Data synchronization barrier
TDataSynchronizationBarrier = procedure;
|
Instruction memory barrier
TInstructionMemoryBarrier = procedure;
|
Invalidate TLB
TInvalidateTLB = procedure;
|
Invalidate data TLB
TInvalidateDataTLB = procedure;
|
Invalidate instruction TLB
TInvalidateInstructionTLB = procedure;
|
Invalidate cache
TInvalidateCache = procedure;
|
Clean data cache
TCleanDataCache = procedure;
|
Invalidate data cache
TInvalidateDataCache = procedure;
|
Clean and invalidate data cache
TCleanAndInvalidateDataCache = procedure;
|
Invalidate instruction cache
TInvalidateInstructionCache = procedure;
|
Clean data cache range
TCleanDataCacheRange = procedure(Address,Size:LongWord);
|
Invaliate data cache range
TInvalidateDataCacheRange = procedure(Address,Size:LongWord);
|
Clean and invalidate data cache range
TCleanAndInvalidateDataCacheRange = procedure(Address,Size:LongWord);
|
Invalidate instruction cache range
TInvalidateInstructionCacheRange = procedure(Address,Size:LongWord);
|
Flush prefetch buffer
TFlushPrefetchBuffer = procedure;
|
Flush branch target cache
TFlushBranchTargetCache = procedure;
|
Context switch
TContextSwitch = procedure(OldStack,NewStack:Pointer; NewThread:TThreadHandle);
|
Context switch IRQ
TContextSwitchIRQ = procedure(OldStack,NewStack:Pointer; NewThread:TThreadHandle);
|
Context switch FIQ
TContextSwitchFIQ = procedure(OldStack,NewStack:Pointer; NewThread:TThreadHandle);
|
Context switch SWI
TContextSwitchSWI = procedure(OldStack,NewStack:Pointer; NewThread:TThreadHandle);
|
Interlocked or
TInterlockedOr = function(var Target:LongInt; Value:LongInt):LongInt;
|
Interlocked x or
TInterlockedXor = function(var Target:LongInt; Value:LongInt):LongInt;
|
Interlocked and
TInterlockedAnd = function(var Target:LongInt; Value:LongInt):LongInt;
|
Interlocked decrement
TInterlockedDecrement = function(var Target:LongInt):LongInt;
|
Interlocked increment
TInterlockedIncrement = function(var Target:LongInt):LongInt;
|
Interlocked exchange
TInterlockedExchange = function(var Target:LongInt; Source:LongInt):LongInt;
|
Interlocked add exchange
TInterlockedAddExchange = function(var Target:LongInt; Source:LongInt):LongInt;
|
Interlocked compare exchange
TInterlockedCompareExchange = function(var Target:LongInt; Source,Compare:LongInt):LongInt;
|
Page table get base
TPageTableGetBase = function:PtrUInt;
|
Page table get size
TPageTableGetSize = function:LongWord;
|
Page table get entry
TPageTableGetEntry = procedure(Address:PtrUInt; var Entry:TPageTableEntry);
|
Page table set entry
TPageTableSetEntry = function(const Entry:TPageTableEntry):LongWord;
|
Page table get page size
TPageTableGetPageSize = function(Address:PtrUInt):LongWord;
|
Page table get page flags
TPageTableGetPageFlags = function(Address:PtrUInt):LongWord;
|
Page table get page physical
TPageTableGetPagePhysical = function(Address:PtrUInt):PtrUInt;
|
Page tables get address
TPageTablesGetAddress = function:PtrUInt;
|
Page tables get length
TPageTablesGetLength = function:LongWord;
|
Page tables get count
TPageTablesGetCount = function:LongWord;
|
Page tables get shift
TPageTablesGetShift = function:LongWord;
|
Page tables get next
TPageTablesGetNext = function:PtrUInt;
|
Page tables get used
TPageTablesGetUsed = function:LongWord;
|
Page tables get free
TPageTablesGetFree = function:LongWord;
|
Vector table get base
TVectorTableGetBase = function:PtrUInt;
|
Vector table get size
TVectorTableGetSize = function:LongWord;
|
Vector table get count
TVectorTableGetCount = function:LongWord;
|
Vector table get entry
TVectorTableGetEntry = function(Number:LongWord):PtrUInt;
|
Vector table set entry
TVectorTableSetEntry = function(Number:LongWord; Address:PtrUInt):LongWord;
|
First bit set
TFirstBitSet = function(Value:LongWord):LongWord;
|
Count leading zeros
TCountLeadingZeros = function(Value:LongWord):LongWord;
|
Text IO write char
TTextIOWriteChar = function(ACh:Char; AUserData:Pointer):Boolean;
|
Text IO read char
TTextIOReadChar = function(var ACh:Char; AUserData:Pointer):Boolean;
|
Text IO write buffer
TTextIOWriteBuffer = function(ABuffer:PChar; ACount:LongInt; AUserData:Pointer):LongInt;
|
Console get key
TConsoleGetKey = function(var ACh:Char; AUserData:Pointer):Boolean;
|
Console peek key
TConsolePeekKey = function(var ACh:Char; AUserData:Pointer):Boolean;
|
Console write char
TConsoleWriteChar = function(ACh:Char; AUserData:Pointer):Boolean;
|
Console read char
TConsoleReadChar = function(var ACh:Char; AUserData:Pointer):Boolean;
|
Console read wide char
TConsoleReadWideChar = function(var ACh:WideChar; AUserData:Pointer):Boolean;
|
Console hide mouse
TConsoleHideMouse = function(AUserData:Pointer):Boolean;
|
Console show mouse
TConsoleShowMouse = function(X,Y:LongWord; AUserData:Pointer):Boolean;
|
Console read mouse
TConsoleReadMouse = function(var X,Y,Buttons:LongWord; AUserData:Pointer):Boolean;
|
Code page to wide char
TCodePageToWideChar = function(Ch:Char):WideChar;
|
Wide char to code page
TWideCharToCodePage = function(Ch:WideChar):Char;
|
Host get name
THostGetName = function:String;
|
Host set name
THostSetName = function(const AName:String):Boolean;
|
Host get domain
THostGetDomain = function:String;
|
Host set domain
THostSetDomain = function(const ADomain:String):Boolean;
|
Module load
TModuleLoad = function(const AName:String):THandle;
|
Module unload
TModuleUnload = function(AHandle:THandle):Boolean;
|
Module get name
TModuleGetName = function(AHandle:THandle):String;
|
Symbol add
TSymbolAdd = function(AHandle:THandle; const AName:String; AAddress:PtrUInt):Boolean;
|
Symbol remove
TSymbolRemove = function(AHandle:THandle; const AName:String):Boolean;
|
Symbol get address
TSymbolGetAddress = function(AHandle:THandle; const AName:String):PtrUInt;
|
Logging output
TLoggingOutput = procedure(const AText:String);
|
Logging output ex
TLoggingOutputEx = procedure(AFacility,ASeverity:LongWord; const ATag,AContent:String);
|
Text IO data
Class definitions
Hardware exception
EHardwareException = class(Exception)
Data abort
EDataAbort = class(EHardwareException);
Prefetch abort
EPrefetchAbort = class(EHardwareException);
Undefined instruction
EUndefinedInstruction = class(EHardwareException);
Public variables
Platform logging
PLATFORM_DEFAULT_LOG_LEVEL:LongWord = PLATFORM_LOG_LEVEL_DEBUG;
|
Minimum level for Platform messages. Only messages with level greater than or equal to this will be printed. |
PLATFORM_LOG_ENABLED:Boolean;
|
IRQ logging
IRQ_DEFAULT_LOG_LEVEL:LongWord = IRQ_LOG_LEVEL_INFO;
|
Minimum level for IRQ messages. Only messages with level greater than or equal to this will be printed. |
IRQ_LOG_ENABLED:Boolean;
|
FIQ logging
FIQ_DEFAULT_LOG_LEVEL:LongWord = FIQ_LOG_LEVEL_INFO;
|
Minimum level for FIQ messages. Only messages with level greater than or equal to this will be printed. |
FIQ_LOG_ENABLED:Boolean;
|
SWI logging
SWI_DEFAULT_LOG_LEVEL:LongWord = SWI_LOG_LEVEL_INFO;
|
Minimum level for SWI messages. Only messages with level greater than or equal to this will be printed. |
SWI_LOG_ENABLED:Boolean;
|
Platform specific variables
PlatformInitialized:Boolean;
|
CPUInitialized:Boolean;
|
FPUInitialized:Boolean;
|
GPUInitialized:Boolean;
|
MMUInitialized:Boolean;
|
SMPInitialized:Boolean;
|
CacheInitialized:Boolean;
|
BoardInitialized:Boolean;
|
MemoryInitialized:Boolean;
|
ClockInitialized:Boolean;
|
PowerInitialized:Boolean;
|
MailboxInitialized:Boolean;
|
InterruptsInitialized:Boolean;
|
PeripheralsInitialized:Boolean;
|
ParseBootTagsCompleted:Boolean;
|
ParseCommandLineCompleted:Boolean;
|
ParseEnvironmentCompleted:Boolean;
|
Lock variables
ClockLock:TPlatformLock;
|
PowerLock:TPlatformLock;
|
MailboxLock:TPlatformLock;
|
ShutdownLock:TPlatformLock;
|
InterruptLock:TPlatformLock;
|
PageTableLock:TPlatformLock;
|
VectorTableLock:TPlatformLock;
|
HandleNameLock:TPlatformLock;
|
HandleTableLock:TPlatformLock;
|
UtilityLock:TPlatformLock;
|
Semaphore variables
ShutdownSemaphore:TPlatformSemaphore;
|
Clock variables
ClockBase:Int64 = TIME_TICKS_TO_1899;
|
The system time as of the last setting of the clock |
ClockLast:LongWord;
|
The timer value of the last clock tick |
ClockTicks:LongWord;
|
Current number of clock ticks (When this reaches CLOCK_TICKS_PER_SECOND then ClockSeconds is incremented and this is reset to zero) |
ClockSeconds:LongWord;
|
Current number of clock seconds (This forms the system clock) |
ClockRTCInvalid:LongBool;
|
True if available time from RTC is invalid |
Utilization variables
UtilizationLast:array of LongWord;
|
The per CPU utilization for the last second (Allocated by scheduler initialization) |
UtilizationCurrent:array of LongWord;
|
The per CPU utilization for the current second (Updated by Idle thread and reset by Scheduler interrupt) (Allocated by scheduler initialization) |
Initialization handlers
CPUInitHandler:TCPUInit;
|
FPUInitHandler:TFPUInit;
|
GPUInitHandler:TGPUInit;
|
MMUInitHandler:TMMUInit;
|
SMPInitHandler:TSMPInit;
|
CacheInitHandler:TCacheInit;
|
BoardInitHandler:TBoardInit;
|
MemoryInitHandler:TMemoryInit;
|
ClockInitHandler:TClockInit;
|
PowerInitHandler:TPowerInit;
|
MailboxInitHandler:TMailboxInit;
|
InterruptInitHandler:TInterruptInit;
|
PeripheralInitHandler:TPeripheralInit;
|
ParseBootTagsHandler:TParseBootTags;
|
ParseCommandLineHandler:TParseCommandLine;
|
ParseEnvironmentHandler:TParseEnvironment;
|
Blink/Output handlers
BootBlinkHandler:TBootBlink;
|
BootOutputHandler:TBootOutput;
|
LED handlers
PowerLEDEnableHandler:TPowerLEDEnable;
|
PowerLEDOnHandler:TPowerLEDOn;
|
PowerLEDOffHandler:TPowerLEDOff;
|
ActivityLEDEnableHandler:TActivityLEDEnable;
|
ActivityLEDOnHandler:TActivityLEDOn;
|
ActivityLEDOffHandler:TActivityLEDOff;
|
Counter handlers
CounterAvailableHandler:TCounterAvailable;
|
CounterReadHandler:TCounterRead;
|
CounterRead64Handler:TCounterRead64;
|
CounterWaitHandler:TCounterWait;
|
CounterEventHandler:TCounterEvent;
|
CounterCancelHandler:TCounterCancel;
|
CounterGetRateHandler:TCounterGetRate;
|
CounterSetRateHandler:TCounterSetRate;
|
CounterGetIntervalHandler:TCounterGetInterval;
|
CounterSetIntervalHandler:TCounterSetInterval;
|
Mailbox handlers
MailboxReceiveHandler:TMailboxReceive;
|
MailboxSendHandler:TMailboxSend;
|
MailboxCallHandler:TMailboxCall;
|
MailboxCallExHandler:TMailboxCallEx;
|
MailboxPropertyCallHandler:TMailboxPropertyCall;
|
MailboxPropertyCallExHandler:TMailboxPropertyCallEx;
|
Random handlers
RandomAvailableHandler:TRandomAvailable;
|
RandomSeedHandler:TRandomSeed;
|
RandomReadLongIntHandler:TRandomReadLongInt;
|
RandomReadInt64Handler:TRandomReadInt64;
|
RandomReadExtendedHandler:TRandomReadExtended;
|
Watchdog handlers
WatchdogAvailableHandler:TWatchdogAvailable;
|
WatchdogStartHandler:TWatchdogStart;
|
WatchdogStopHandler:TWatchdogStop;
|
WatchdogRefreshHandler:TWatchdogRefresh;
|
Interrupt request (IRQ) handlers
RequestIRQHandler:TRequestIRQ;
|
ReleaseIRQHandler:TReleaseIRQ;
|
RequestExIRQHandler:TRequestExIRQ;
|
ReleaseExIRQHandler:TReleaseExIRQ;
|
Fast interrupt request (FIQ) handlers
RequestFIQHandler:TRequestFIQ;
|
ReleaseFIQHandler:TReleaseFIQ;
|
RequestExFIQHandler:TRequestExFIQ;
|
ReleaseExFIQHandler:TReleaseExFIQ;
|
System call (software interrupt or SWI) handlers
SystemCallHandler:TSystemCall;
|
RegisterSystemCallHandler:TRegisterSystemCall;
|
DeregisterSystemCallHandler:TDeregisterSystemCall;
|
RegisterSystemCallExHandler:TRegisterSystemCallEx;
|
DeregisterSystemCallExHandler:TDeregisterSystemCallEx;
|
Interrupt entry handlers
GetInterruptCountHandler:TGetInterruptCount;
|
GetInterruptStartHandler:TGetInterruptStart;
|
GetInterruptEntryHandler:TGetInterruptEntry;
|
Local interrupt entry handlers
GetLocalInterruptCountHandler:TGetLocalInterruptCount;
|
GetLocalInterruptStartHandler:TGetLocalInterruptStart;
|
GetLocalInterruptEntryHandler:TGetLocalInterruptEntry;
|
System call entry handlers
GetSystemCallCountHandler:TGetSystemCallCount;
|
GetSystemCallEntryHandler:TGetSystemCallEntry;
|
System handlers
SystemRestartHandler:TSystemRestart;
|
SystemShutdownHandler:TSystemShutdown;
|
SystemGetUptimeHandler:TSystemGetUptime;
|
SystemGetCommandLineHandler:TSystemGetCommandLine;
|
SystemGetEnvironmentHandler:TSystemGetEnvironment;
|
CPU handlers
CPUGetArchHandler:TCPUGetArch;
|
CPUGetTypeHandler:TCPUGetType;
|
CPUGetBootHandler:TCPUGetBoot;
|
CPUGetMaskHandler:TCPUGetMask;
|
CPUGetCountHandler:TCPUGetCount;
|
CPUGetModeHandler:TCPUGetMode;
|
CPUGetStateHandler:TCPUGetState;
|
CPUGetGroupHandler:TCPUGetGroup;
|
CPUGetCurrentHandler:TCPUGetCurrent;
|
CPUGetMemoryHandler:TCPUGetMemory;
|
CPUGetPercentageHandler:TCPUGetPercentage;
|
CPUGetUtilizationHandler:TCPUGetUtilization;
|
CPUGetModelHandler:TCPUGetModel;
|
CPUGetRevisionHandler:TCPUGetRevision;
|
CPUGetDescriptionHandler:TCPUGetDescription;
|
FPU handlers
FPUGetTypeHandler:TFPUGetType;
|
FPUGetStateHandler:TFPUGetState;
|
GPU handlers
GPUGetTypeHandler:TGPUGetType;
|
GPUGetStateHandler:TGPUGetState;
|
GPUGetMemoryHandler:TGPUGetMemory;
|
Cache handlers
L1CacheGetTypeHandler:TL1CacheGetType;
|
L1DataCacheGetSizeHandler:TL1DataCacheGetSize;
|
L1DataCacheGetLineSizeHandler:TL1DataCacheGetLineSize;
|
L1InstructionCacheGetSizeHandler:TL1InstructionCacheGetSize;
|
L1InstructionCacheGetLineSizeHandler:TL1InstructionCacheGetLineSize;
|
L2CacheGetTypeHandler:TL2CacheGetType;
|
L2CacheGetSizeHandler:TL2CacheGetSize;
|
L2CacheGetLineSizeHandler:TL2CacheGetLineSize;
|
Board handlers
BoardGetTypeHandler:TBoardGetType;
|
BoardGetModelHandler:TBoardGetModel;
|
BoardGetSerialHandler:TBoardGetSerial;
|
BoardGetRevisionHandler:TBoardGetRevision;
|
BoardGetMACAddressHandler:TBoardGetMACAddress;
|
Firmware handlers
FirmwareGetRevisionHandler:TFirmwareGetRevision;
|
Machine handlers
MachineGetTypeHandler:TMachineGetType;
|
Memory handlers
MemoryGetBaseHandler:TMemoryGetBase;
|
MemoryGetSizeHandler:TMemoryGetSize;
|
MemoryGetPageSizeHandler:TMemoryGetPageSize;
|
MemoryGetLargePageSizeHandler:TMemoryGetLargePageSize;
|
Power handlers
PowerGetWaitHandler:TPowerGetWait;
|
PowerGetStateHandler:TPowerGetState;
|
PowerSetStateHandler:TPowerSetState;
|
Clock handlers
ClockGetCountHandler:TClockGetCount;
|
ClockGetTotalHandler:TClockGetTotal;
|
ClockUpdateOffsetHandler:TClockUpdateOffset;
|
ClockGetRateHandler:TClockGetRate;
|
ClockSetRateHandler:TClockSetRate;
|
ClockGetStateHandler:TClockGetState;
|
ClockSetStateHandler:TClockSetState;
|
ClockGetMinRateHandler:TClockGetMinRate;
|
ClockGetMaxRateHandler:TClockGetMaxRate;
|
Turbo handlers
TurboGetStateHandler:TTurboGetState;
|
TurboSetStateHandler:TTurboSetState;
|
Voltage handlers
VoltageGetValueHandler:TVoltageGetValue;
|
VoltageSetValueHandler:TVoltageSetValue;
|
VoltageGetMinValueHandler:TVoltageGetMinValue;
|
VoltageGetMaxValueHandler:TVoltageGetMaxValue;
|
Temperature handlers
TemperatureGetCurrentHandler:TTemperatureGetCurrent;
|
TemperatureGetMaximumHandler:TTemperatureGetMaximum;
|
GPU memory handlers
GPUMemoryAllocateHandler:TGPUMemoryAllocate;
|
GPUMemoryReleaseHandler:TGPUMemoryRelease;
|
GPUMemoryLockHandler:TGPUMemoryLock;
|
GPUMemoryUnlockHandler:TGPUMemoryUnlock;
|
GPU miscellaneous handlers
GPUExecuteCodeHandler:TGPUExecuteCode;
|
DispmanxHandleGetHandler:TDispmanxHandleGet;
|
EDIDBlockGetHandler:TEDIDBlockGet;
|
Framebuffer handlers
FramebufferAvailableHandler:TFramebufferAvailable;
|
FramebufferAllocateHandler:TFramebufferAllocate;
|
FramebufferReleaseHandler:TFramebufferRelease;
|
FramebufferSetStateHandler:TFramebufferSetState;
|
FramebufferGetDimensionsHandler:TFramebufferGetDimensions;
|
FramebufferGetPhysicalHandler:TFramebufferGetPhysical;
|
FramebufferSetPhysicalHandler:TFramebufferSetPhysical;
|
FramebufferTestPhysicalHandler:TFramebufferTestPhysical;
|
FramebufferGetVirtualHandler:TFramebufferGetVirtual;
|
FramebufferSetVirtualHandler:TFramebufferSetVirtual;
|
FramebufferTestVirtualHandler:TFramebufferTestVirtual;
|
FramebufferGetDepthHandler:TFramebufferGetDepth;
|
FramebufferSetDepthHandler:TFramebufferSetDepth;
|
FramebufferTestDepthHandler:TFramebufferTestDepth;
|
FramebufferGetPixelOrderHandler:TFramebufferGetPixelOrder;
|
FramebufferSetPixelOrderHandler:TFramebufferSetPixelOrder;
|
FramebufferTestPixelOrderHandler:TFramebufferTestPixelOrder;
|
FramebufferGetAlphaModeHandler:TFramebufferGetAlphaMode;
|
FramebufferSetAlphaModeHandler:TFramebufferSetAlphaMode;
|
FramebufferTestAlphaModeHandler:TFramebufferTestAlphaMode;
|
FramebufferGetPitchHandler:TFramebufferGetPitch;
|
FramebufferGetOffsetHandler:TFramebufferGetOffset;
|
FramebufferSetOffsetHandler:TFramebufferSetOffset;
|
FramebufferTestOffsetHandler:TFramebufferTestOffset;
|
FramebufferGetOverscanHandler:TFramebufferGetOverscan;
|
FramebufferSetOverscanHandler:TFramebufferSetOverscan;
|
FramebufferTestOverscanHandler:TFramebufferTestOverscan;
|
FramebufferGetPaletteHandler:TFramebufferGetPalette;
|
FramebufferSetPaletteHandler:TFramebufferSetPalette;
|
FramebufferTestPaletteHandler:TFramebufferTestPalette;
|
FramebufferTestVsyncHandler:TFramebufferTestVsync;
|
FramebufferSetVsyncHandler:TFramebufferSetVsync;
|
FramebufferSetBacklightHandler:TFramebufferSetBacklight;
|
Cursor handlers
CursorSetDefaultHandler:TCursorSetDefault;
|
CursorSetInfoHandler:TCursorSetInfo;
|
CursorSetStateHandler:TCursorSetState;
|
Touch handlers
TouchGetBufferHandler:TTouchGetBuffer;
|
TouchSetBufferHandler:TTouchSetBuffer;
|
DMA handlers
DMAAvailableHandler:TDMAAvailable;
|
DMATransferHandler:TDMATransfer;
|
DMAFillMemoryHandler:TDMAFillMemory;
|
DMACopyMemoryHandler:TDMACopyMemory;
|
DMAReadPeripheralHandler:TDMAReadPeripheral;
|
DMAWritePeripheralHandler:TDMAWritePeripheral;
|
DMAAllocateBufferHandler:TDMAAllocateBuffer;
|
DMAAllocateBufferExHandler:TDMAAllocateBufferEx;
|
DMAReleaseBufferHandler:TDMAReleaseBuffer;
|
DMAGetChannelsHandler:TDMAGetChannels;
|
GPIO handlers
GPIOAvailableHandler:TGPIOAvailable;
|
GPIOReadHandler:TGPIORead;
|
GPIOWriteHandler:TGPIOWrite;
|
GPIOInputGetHandler:TGPIOInputGet;
|
GPIOInputWaitHandler:TGPIOInputWait;
|
GPIOInputEventHandler:TGPIOInputEvent;
|
GPIOOutputSetHandler:TGPIOOutputSet;
|
GPIOPullGetHandler:TGPIOPullGet;
|
GPIOPullSelectHandler:TGPIOPullSelect;
|
GPIOFunctionGetHandler:TGPIOFunctionGet;
|
GPIOFunctionSelectHandler:TGPIOFunctionSelect;
|
Virtual GPIO handlers
VirtualGPIOInputGetHandler:TVirtualGPIOInputGet;
|
VirtualGPIOOutputSetHandler:TVirtualGPIOOutputSet;
|
VirtualGPIOFunctionGetHandler:TVirtualGPIOFunctionGet;
|
VirtualGPIOFunctionSelectHandler:TVirtualGPIOFunctionSelect;
|
SPI handlers
SPIAvailableHandler:TSPIAvailable;
|
SPIStartHandler:TSPIStart;
|
SPIStopHandler:TSPIStop;
|
SPIReadHandler:TSPIRead;
|
SPIWriteHandler:TSPIWrite;
|
SPIWriteReadHandler:TSPIWriteRead;
|
SPIGetModeHandler:TSPIGetMode;
|
SPISetModeHandler:TSPISetMode;
|
SPIGetClockRateHandler:TSPIGetClockRate;
|
SPISetClockRateHandler:TSPISetClockRate;
|
SPIGetClockPhaseHandler:TSPIGetClockPhase;
|
SPISetClockPhaseHandler:TSPISetClockPhase;
|
SPIGetClockPolarityHandler:TSPIGetClockPolarity;
|
SPISetClockPolarityHandler:TSPISetClockPolarity;
|
SPIGetSelectPolarityHandler:TSPIGetSelectPolarity;
|
SPISetSelectPolarityHandler:TSPISetSelectPolarity;
|
I2C handlers
I2CAvailableHandler:TI2CAvailable;
|
I2CStartHandler:TI2CStart;
|
I2CStopHandler:TI2CStop;
|
I2CReadHandler:TI2CRead;
|
I2CWriteHandler:TI2CWrite;
|
I2CWriteReadHandler:TI2CWriteRead;
|
I2CWriteWriteHandler:TI2CWriteWrite;
|
I2CGetRateHandler:TI2CGetRate;
|
I2CSetRateHandler:TI2CSetRate;
|
I2CGetAddressHandler:TI2CGetAddress;
|
I2CSetAddressHandler:TI2CSetAddress;
|
PWM handlers
PWMAvailableHandler:TPWMAvailable;
|
PWMStartHandler:TPWMStart;
|
PWMStopHandler:TPWMStop;
|
PWMWriteHandler:TPWMWrite;
|
PWMSetModeHandler:TPWMSetMode;
|
PWMSetRangeHandler:TPWMSetRange;
|
PWMSetFrequencyHandler:TPWMSetFrequency;
|
PWMConfigureHandler:TPWMConfigure;
|
RTC handlers
RTCAvailableHandler:TRTCAvailable;
|
RTCGetTimeHandler:TRTCGetTime;
|
RTCSetTimeHandler:TRTCSetTime;
|
Serial handlers
SerialAvailableHandler:TSerialAvailable;
|
SerialOpenHandler:TSerialOpen;
|
SerialCloseHandler:TSerialClose;
|
SerialReadHandler:TSerialRead;
|
SerialWriteHandler:TSerialWrite;
|
Peripheral handlers
PeripheralGetBaseHandler:TPeripheralGetBase;
|
PeripheralGetSizeHandler:TPeripheralGetSize;
|
PeripheralReadHandler:TPeripheralRead;
|
PeripheralWriteHandler:TPeripheralWrite;
|
LocalPeripheralGetBaseHandler:TLocalPeripheralGetBase;
|
LocalPeripheralGetSizeHandler:TLocalPeripheralGetSize;
|
Get SP/PC handlers
GetSPHandler:TGetSP;
|
GetPCHandler:TGetPC;
|
Enable/Disable/Save/Restore IRQ/FIQ handlers
GetIRQHandler:TGetIRQ;
|
EnableIRQHandler:TEnableIRQ;
|
DisableIRQHandler:TDisableIRQ;
|
SaveIRQHandler:TSaveIRQ;
|
RestoreIRQHandler:TRestoreIRQ;
|
GetFIQHandler:TGetFIQ;
|
EnableFIQHandler:TEnableFIQ;
|
DisableFIQHandler:TDisableFIQ;
|
SaveFIQHandler:TSaveFIQ;
|
RestoreFIQHandler:TRestoreFIQ;
|
EnableIRQFIQHandler:TEnableIRQFIQ;
|
DisableIRQFIQHandler:TDisableIRQFIQ;
|
SaveIRQFIQHandler:TSaveIRQFIQ;
|
RestoreIRQFIQHandler:TRestoreIRQFIQ;
|
GetAbortHandler:TGetAbort;
|
EnableAbortHandler:TEnableAbort;
|
DisableAbortHandler:TDisableAbort;
|
SaveAbortHandler:TSaveAbort;
|
RestoreAbortHandler:TRestoreAbort;
|
Halt/Pause handlers
HaltHandler:THalt;
|
PauseHandler:TPause;
|
Halt thread handlers
HaltThreadHandler:THaltThread;
|
SendEvent/WaitForEvent/Interrupt handlers
SendEventHandler:TSendEvent;
|
WaitForEventHandler:TWaitForEvent;
|
WaitForInterruptHandler:TWaitForInterrupt;
|
Barrier handlers
ReadMemoryBarrierHandler:TReadMemoryBarrier;
|
WriteMemoryBarrierHandler:TWriteMemoryBarrier;
|
DataMemoryBarrierHandler:TDataMemoryBarrier;
|
DataSynchronizationBarrierHandler:TDataSynchronizationBarrier;
|
InstructionMemoryBarrierHandler:TInstructionMemoryBarrier;
|
TLB handlers
InvalidateTLBHandler:TInvalidateTLB;
|
InvalidateDataTLBHandler:TInvalidateDataTLB;
|
InvalidateInstructionTLBHandler:TInvalidateInstructionTLB;
|
Cache handlers
InvalidateCacheHandler:TInvalidateCache;
|
CleanDataCacheHandler:TCleanDataCache;
|
InvalidateDataCacheHandler:TInvalidateDataCache;
|
CleanAndInvalidateDataCacheHandler:TCleanAndInvalidateDataCache;
|
InvalidateInstructionCacheHandler:TInvalidateInstructionCache;
|
CleanDataCacheRangeHandler:TCleanDataCacheRange;
|
InvalidateDataCacheRangeHandler:TInvalidateDataCacheRange;
|
CleanAndInvalidateDataCacheRangeHandler:TCleanAndInvalidateDataCacheRange;
|
InvalidateInstructionCacheRangeHandler:TInvalidateInstructionCacheRange;
|
Prefetch buffer handlers
FlushPrefetchBufferHandler:TFlushPrefetchBuffer;
|
Branch target cache handlers
FlushBranchTargetCacheHandler:TFlushBranchTargetCache;
|
Context switch handlers
ContextSwitchHandler:TContextSwitch;
|
ContextSwitchIRQHandler:TContextSwitchIRQ;
|
ContextSwitchFIQHandler:TContextSwitchFIQ;
|
ContextSwitchSWIHandler:TContextSwitchSWI;
|
And/Xor/Or/Increment/Decrement/Exchange handlers
InterlockedOrHandler:TInterlockedOr;
|
InterlockedXorHandler:TInterlockedXor;
|
InterlockedAndHandler:TInterlockedAnd;
|
InterlockedDecrementHandler:TInterlockedDecrement;
|
InterlockedIncrementHandler:TInterlockedIncrement;
|
InterlockedExchangeHandler:TInterlockedExchange;
|
InterlockedAddExchangeHandler:TInterlockedAddExchange;
|
InterlockedCompareExchangeHandler:TInterlockedCompareExchange;
|
Page table handlers
PageTableGetBaseHandler:TPageTableGetBase;
|
PageTableGetSizeHandler:TPageTableGetSize;
|
PageTableGetEntryHandler:TPageTableGetEntry;
|
PageTableSetEntryHandler:TPageTableSetEntry;
|
PageTableGetPageSizeHandler:TPageTableGetPageSize;
|
PageTableGetPageFlagsHandler:TPageTableGetPageFlags;
|
PageTableGetPagePhysicalHandler:TPageTableGetPagePhysical;
|
Page tables handlers
PageTablesGetAddressHandler:TPageTablesGetAddress;
|
PageTablesGetLengthHandler:TPageTablesGetLength;
|
PageTablesGetCountHandler:TPageTablesGetCount;
|
PageTablesGetShiftHandler:TPageTablesGetShift;
|
PageTablesGetNextHandler:TPageTablesGetNext;
|
PageTablesGetUsedHandler:TPageTablesGetUsed;
|
PageTablesGetFreeHandler:TPageTablesGetFree;
|
Vector table handlers
VectorTableGetBaseHandler:TVectorTableGetBase;
|
VectorTableGetSizeHandler:TVectorTableGetSize;
|
VectorTableGetCountHandler:TVectorTableGetCount;
|
VectorTableGetEntryHandler:TVectorTableGetEntry;
|
VectorTableSetEntryHandler:TVectorTableSetEntry;
|
First bit set handlers
FirstBitSetHandler:TFirstBitSet;
|
Count leading zeros handlers
CountLeadingZerosHandler:TCountLeadingZeros;
|
Text IO handlers
TextIOWriteCharHandler:TTextIOWriteChar;
|
TextIOReadCharHandler:TTextIOReadChar;
|
TextIOWriteBufferHandler:TTextIOWriteBuffer;
|
Console handlers
ConsoleGetKeyHandler:TConsoleGetKey;
|
ConsolePeekKeyHandler:TConsolePeekKey;
|
ConsoleWriteCharHandler:TConsoleWriteChar;
|
ConsoleReadCharHandler:TConsoleReadChar;
|
ConsoleReadWideCharHandler:TConsoleReadWideChar;
|
ConsoleHideMouseHandler:TConsoleHideMouse;
|
ConsoleShowMouseHandler:TConsoleShowMouse;
|
ConsoleReadMouseHandler:TConsoleReadMouse;
|
Code page handlers
CodePageToWideCharHandler:TCodePageToWideChar;
|
WideCharToCodePageHandler:TWideCharToCodePage;
|
Name handlers
HostGetNameHandler:THostGetName;
|
HostSetNameHandler:THostSetName;
|
HostGetDomainHandler:THostGetDomain;
|
HostSetDomainHandler:THostSetDomain;
|
Module handlers
ModuleLoadHandler:TModuleLoad;
|
ModuleUnloadHandler:TModuleUnload;
|
ModuleGetNameHandler:TModuleGetName;
|
Symbol handlers
SymbolAddHandler:TSymbolAdd;
|
SymbolRemoveHandler:TSymbolRemove;
|
SymbolGetAddressHandler:TSymbolGetAddress;
|
Logging handlers
LoggingOutputHandler:TLoggingOutput;
|
LoggingOutputExHandler:TLoggingOutputEx;
|
Function declarations
Initialization functions
procedure PlatformInit;
procedure CPUInit;
procedure FPUInit;
procedure SMPInit;
procedure CacheInit;
procedure MemoryInit;
procedure ParseBootTags;
procedure ParseCommandLine;
procedure ParseEnvironment;
Boot functions
procedure BootOutput(Value:LongWord); inline;
LED functions
procedure ActivityLEDEnable; inline;
procedure ActivityLEDOff; inline;
Counter functions (Timer device)
function CounterAvailable:Boolean; inline;
function CounterRead:LongWord; inline;
function CounterRead64:Int64; inline;
function CounterWait:LongWord; inline;
function CounterEvent(Callback:TCounterCallback; Data:Pointer):LongWord; inline;
function CounterCancel:LongWord; inline;
function CounterGetRate:LongWord; inline;
function CounterSetRate(Rate:LongWord):LongWord; inline;
function CounterGetInterval:LongWord; inline;
function CounterSetInterval(Interval:LongWord):LongWord; inline;
Mailbox functions
function MailboxReceive(Mailbox,Channel:LongWord):LongWord; inline;
procedure MailboxSend(Mailbox,Channel,Data:LongWord); inline;
function MailboxCall(Mailbox,Channel,Data:LongWord; var Response:LongWord):LongWord; inline;
function MailboxCallEx(Mailbox,Channel,Data:LongWord; var Response:LongWord; Timeout:LongWord):LongWord; inline;
function MailboxPropertyCall(Mailbox,Channel:LongWord; Data:Pointer; var Response:LongWord):LongWord; inline;
function MailboxPropertyCallEx(Mailbox,Channel:LongWord; Data:Pointer; var Response:LongWord; Timeout:LongWord):LongWord; inline;
Random number functions
function RandomAvailable:Boolean; inline;
Watchdog timer functions
function WatchdogAvailable:Boolean; inline;
function WatchdogStart(Milliseconds:LongWord):LongWord; inline;
function WatchdogRefresh(Milliseconds:LongWord):LongWord; inline;
Interrupt request (IRQ) functions
function RequestIRQ(CPUID,Number:LongWord; Handler:TInterruptHandler; Parameter:Pointer):LongWord; inline;
function ReleaseIRQ(CPUID,Number:LongWord; Handler:TInterruptHandler; Parameter:Pointer):LongWord; inline;
function RequestExIRQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord; inline;
function ReleaseExIRQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord; inline;
Fast interrupt request (FIQ) functions
function RequestFIQ(CPUID,Number:LongWord; Handler:TInterruptHandler; Parameter:Pointer):LongWord; inline;
function ReleaseFIQ(CPUID,Number:LongWord; Handler:TInterruptHandler; Parameter:Pointer):LongWord; inline;
function RequestExFIQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord; inline;
function ReleaseExFIQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord; inline;
System call (Software Interrupt or SWI) functions
procedure SystemCall(Number:LongWord; Param1,Param2,Param3:PtrUInt); inline;
function RegisterSystemCall(Number:LongWord; Handler:TSystemCallHandler):LongWord; inline;
function DeregisterSystemCall(Number:LongWord; Handler:TSystemCallHandler):LongWord; inline;
function RegisterSystemCallEx(CPUID,Number:LongWord; Handler:TSystemCallHandler; HandlerEx:TSystemCallExHandler):LongWord; inline;
function DeregisterSystemCallEx(CPUID,Number:LongWord; Handler:TSystemCallHandler; HandlerEx:TSystemCallExHandler):LongWord; inline;
Interrupt entry functions
function GetInterruptCount:LongWord; inline;
function GetInterruptStart:LongWord; inline;
function GetInterruptEntry(Number:LongWord):TInterruptEntry; inline;
Local interrupt entry functions
function GetLocalInterruptCount:LongWord; inline;
function GetLocalInterruptStart:LongWord; inline;
function GetLocalInterruptEntry(CPUID,Number:LongWord):TInterruptEntry; inline;
System call entry functions
function GetSystemCallCount:LongWord; inline;
function GetSystemCallEntry(Number:LongWord):TSystemCallEntry; inline;
System functions
function SystemGetUptime:Int64; inline;
CPU functions
function CPUGetMemory(var Address:PtrUInt; var Length:LongWord):LongWord; inline;
function CPUGetPercentage(CPUID:LongWord):Double; inline;
function CPUGetUtilization(CPUID:LongWord):LongWord; inline;
function CPUGetRevision:LongWord; inline;
function CPUGetDescription:String; inline;
FPU functions
GPU functions
function GPUGetMemory(var Address:PtrUInt; var Length:LongWord):LongWord; inline;
Cache functions
function L1CacheGetType:LongWord; inline;
function L1DataCacheGetSize:LongWord; inline;
function L1DataCacheGetLineSize:LongWord; inline;
function L1InstructionCacheGetSize:LongWord; inline;
function L1InstructionCacheGetLineSize:LongWord; inline;
function L2CacheGetType:LongWord; inline;
function L2CacheGetSize:LongWord; inline;
function L2CacheGetLineSize:LongWord; inline;
Board functions
function BoardGetRevision:LongWord; inline;
function BoardGetMACAddress:String; inline;
Firmware functions
function FirmwareGetRevision:LongWord; inline;
Machine functions
Memory functions
function MemoryGetPageSize:LongWord; inline;
function MemoryGetLargePageSize:LongWord; inline;
Power functions
function PowerGetWait(PowerId:LongWord):LongWord; inline;
function PowerGetState(PowerId:LongWord):LongWord; inline;
function PowerSetState(PowerId,State:LongWord; Wait:Boolean):LongWord; inline;
Clock functions
function ClockSeconds:LongWord;
function ClockGetTime:Int64;
function ClockSetTime(const Time:Int64; RTC:Boolean):Int64;
function ClockGetCount:LongWord; inline;
function ClockUpdateOffset:LongWord; inline;
function ClockGetRate(ClockId:LongWord):LongWord; inline;
function ClockSetRate(ClockId,Rate:LongWord; Turbo:Boolean):LongWord; inline;
function ClockGetState(ClockId:LongWord):LongWord; inline;
function ClockSetState(ClockId,State:LongWord):LongWord; inline;
function ClockGetMinRate(ClockId:LongWord):LongWord; inline;
function ClockGetMaxRate(ClockId:LongWord):LongWord; inline;
Turbo functions
function TurboGetState(TurboId:LongWord):LongWord; inline;
function TurboSetState(TurboId,State:LongWord):LongWord; inline;
Voltage functions
function VoltageGetValue(VoltageId:LongWord):LongWord; inline;
function VoltageSetValue(VoltageId,Value:LongWord):LongWord; inline;
function VoltageGetMinValue(VoltageId:LongWord):LongWord; inline;
function VoltageGetMaxValue(VoltageId:LongWord):LongWord; inline;
Temperature functions
function TemperatureGetCurrent(TemperatureId:LongWord):LongWord; inline;
function TemperatureGetMaximum(TemperatureId:LongWord):LongWord; inline;
GPU memory functions
function GPUMemoryAllocate(Length,Alignment,Flags:LongWord):THandle; inline;
function GPUMemoryRelease(Handle:THandle):LongWord; inline;
function GPUMemoryLock(Handle:THandle):LongWord; inline;
function GPUMemoryUnlock(Handle:THandle):LongWord; inline;
GPU miscellaneous functions
function GPUExecuteCode(Address:Pointer; R0,R1,R2,R3,R4,R5:LongWord):LongWord; inline;
function DispmanxHandleGet(Resource:THandle):THandle; inline;
function EDIDBlockGet(Block:LongWord; Buffer:Pointer; Length:LongWord):LongWord; inline;
Framebuffer functions
function FramebufferAvailable:Boolean; inline;
function FramebufferAllocate(Alignment:LongWord; var Address,Length:LongWord):LongWord; inline;
function FramebufferSetState(State:LongWord):LongWord; inline;
function FramebufferGetDimensions(var Width,Height,Top,Bottom,Left,Right:LongWord):LongWord; inline;
function FramebufferGetPhysical(var Width,Height:LongWord):LongWord; inline;
function FramebufferSetPhysical(var Width,Height:LongWord):LongWord; inline;
function FramebufferTestPhysical(var Width,Height:LongWord):LongWord; inline;
function FramebufferGetVirtual(var Width,Height:LongWord):LongWord; inline;
function FramebufferSetVirtual(var Width,Height:LongWord):LongWord; inline;
function FramebufferTestVirtual(var Width,Height:LongWord):LongWord; inline;
function FramebufferGetDepth(var Depth:LongWord):LongWord; inline;
function FramebufferSetDepth(var Depth:LongWord):LongWord; inline;
function FramebufferTestDepth(var Depth:LongWord):LongWord; inline;
function FramebufferGetPixelOrder(var Order:LongWord):LongWord; inline;
function FramebufferSetPixelOrder(var Order:LongWord):LongWord; inline;
function FramebufferTestPixelOrder(var Order:LongWord):LongWord; inline;
function FramebufferGetAlphaMode(var Mode:LongWord):LongWord; inline;
function FramebufferSetAlphaMode(var Mode:LongWord):LongWord; inline;
function FramebufferTestAlphaMode(var Mode:LongWord):LongWord; inline;
function FramebufferGetPitch:LongWord; inline;
function FramebufferGetOffset(var X,Y:LongWord):LongWord; inline;
function FramebufferSetOffset(var X,Y:LongWord):LongWord; inline;
function FramebufferTestOffset(var X,Y:LongWord):LongWord; inline;
function FramebufferGetOverscan(var Top,Bottom,Left,Right:LongWord):LongWord; inline;
function FramebufferSetOverscan(var Top,Bottom,Left,Right:LongWord):LongWord; inline;
function FramebufferTestOverscan(var Top,Bottom,Left,Right:LongWord):LongWord; inline;
function FramebufferGetPalette(Buffer:Pointer; Length:LongWord):LongWord; inline;
function FramebufferSetPalette(Start,Count:LongWord; Buffer:Pointer; Length:LongWord):LongWord; inline;
function FramebufferTestPalette(Start,Count:LongWord; Buffer:Pointer; Length:LongWord):LongWord; inline;
function FramebufferTestVsync:LongWord; inline;
function FramebufferSetVsync:LongWord; inline;
function FramebufferSetBacklight(Brightness:LongWord):LongWord; inline;
Touch functions
function TouchGetBuffer(var Address:LongWord):LongWord; inline;
function TouchSetBuffer(Address:PtrUInt):LongWord; inline;
Cursor functions
function CursorSetDefault:LongWord; inline;
function CursorSetInfo(Width,Height,HotspotX,HotspotY:LongWord; Pixels:Pointer; Length:LongWord):LongWord; inline;
function CursorSetState(Enabled:Boolean; X,Y:LongWord; Relative:Boolean):LongWord; inline;
DMA functions
function DMATransfer(Data:PDMAData; Direction,Peripheral:LongWord):LongWord; inline;
function DMAFillMemory(Dest:Pointer; Size:LongWord; Value:Byte):LongWord; inline;
function DMACopyMemory(Source,Dest:Pointer; Size:LongWord):LongWord; inline;
function DMAReadPeripheral(Address,Dest:Pointer; Size,Peripheral:LongWord):LongWord; inline;
function DMAWritePeripheral(Source,Address:Pointer; Size,Peripheral:LongWord):LongWord; inline;
function DMAAllocateBuffer(Size:LongWord):Pointer; inline;
function DMAAllocateBufferEx(var Size:LongWord):Pointer; inline;
function DMAReleaseBuffer(Buffer:Pointer):LongWord; inline;
function DMAGetChannels:LongWord; inline;
Handle functions
function HandleCreate(Data:THandle; AType:LongWord):THandle; inline;
function HandleCreateEx(const Name:String; Flags:LongWord; Data:THandle; AType:LongWord):PHandleEntry;
function HandleDestroy(Handle:THandle):LongWord;
function HandleGet(Handle:THandle):PHandleEntry;
function HandleFind(const Name:String):PHandleEntry;
function HandleEnumerate(Callback:THandleEnumerate; Data:Pointer):LongWord;
function HandleClose(Handle:THandle):LongWord; inline;
function HandleDuplicate(Handle:THandle):THandle;
GPIO functions
function GPIORead(Reg:LongWord):LongWord; inline;
procedure GPIOWrite(Reg,Value:LongWord); inline;
function GPIOInputGet(Pin:LongWord):LongWord; inline;
function GPIOInputWait(Pin,Trigger,Timeout:LongWord):LongWord; inline;
function GPIOInputEvent(Pin,Trigger,Timeout:LongWord; Callback:TGPIOCallback; Data:Pointer):LongWord; inline;
function GPIOOutputSet(Pin,Level:LongWord):LongWord; inline;
function GPIOPullGet(Pin:LongWord):LongWord; inline;
function GPIOPullSelect(Pin,Mode:LongWord):LongWord; inline;
function GPIOFunctionGet(Pin:LongWord):LongWord; inline;
function GPIOFunctionSelect(Pin,Mode:LongWord):LongWord; inline;
Virtual GPIO functions
function VirtualGPIOInputGet(Pin:LongWord):LongWord; inline;
function VirtualGPIOOutputSet(Pin,Level:LongWord):LongWord; inline;
function VirtualGPIOFunctionGet(Pin:LongWord):LongWord; inline;
function VirtualGPIOFunctionSelect(Pin,Mode:LongWord):LongWord; inline;
SPI functions
function SPIStart(Mode,ClockRate,ClockPhase,ClockPolarity:LongWord):LongWord; inline;
function SPIStop:LongWord; inline;
function SPIRead(ChipSelect:Word; Dest:Pointer; Size:LongWord; var Count:LongWord):LongWord; inline;
function SPIWrite(ChipSelect:Word; Source:Pointer; Size:LongWord; var Count:LongWord):LongWord; inline;
function SPIWriteRead(ChipSelect:Word; Source,Dest:Pointer; Size:LongWord; var Count:LongWord):LongWord; inline;
function SPIGetMode:LongWord; inline;
function SPISetMode(Mode:LongWord):LongWord; inline;
function SPIGetClockRate(ChipSelect:Word):LongWord; inline;
function SPISetClockRate(ChipSelect:Word;ClockRate:LongWord):LongWord; inline;
function SPIGetClockPhase:LongWord; inline;
function SPISetClockPhase(ClockPhase:LongWord):LongWord; inline;
function SPIGetClockPolarity:LongWord; inline;
function SPISetClockPolarity(ClockPolarity:LongWord):LongWord; inline;
function SPIGetSelectPolarity(ChipSelect:Word):LongWord; inline;
function SPISetSelectPolarity(ChipSelect:Word; SelectPolarity:LongWord):LongWord; inline;
I2C functions
function I2CStart(Rate:LongWord):LongWord; inline;
function I2CStop:LongWord; inline;
function I2CRead(Address:Word; Buffer:Pointer; Size:LongWord; var Count:LongWord):LongWord; inline;
function I2CWrite(Address:Word; Buffer:Pointer; Size:LongWord; var Count:LongWord):LongWord; inline;
function I2CWriteRead(Address:Word; Initial:Pointer; Len:LongWord; Data:Pointer; Size:LongWord; var Count:LongWord):LongWord; inline;
function I2CWriteWrite(Address:Word; Initial:Pointer; Len:LongWord; Data:Pointer; Size:LongWord; var Count:LongWord):LongWord; inline;
function I2CGetRate:LongWord; inline;
function I2CSetRate(Rate:LongWord):LongWord; inline;
function I2CGetAddress:Word; inline;
function I2CSetAddress(Address:Word):LongWord; inline;
PWM functions
function PWMWrite(Value:LongWord):LongWord; inline;
function PWMSetMode(Mode:LongWord):LongWord; inline;
function PWMSetRange(Range:LongWord):LongWord; inline;
function PWMSetFrequency(Frequency:LongWord):LongWord; inline;
function PWMConfigure(DutyNS,PeriodNS:LongWord):LongWord; inline;
RTC functions
function RTCAvailable:Boolean; inline;
function RTCGetTime:Int64; inline;
function RTCSetTime(const Time:Int64):Int64; inline;
Serial functions
function SerialAvailable:Boolean; inline;
function SerialOpen(BaudRate,DataBits,StopBits,Parity,FlowControl,ReceiveDepth,TransmitDepth:LongWord):LongWord; inline;
function SerialClose:LongWord; inline;
function SerialRead(Buffer:Pointer; Size:LongWord; var Count:LongWord):LongWord; inline;
function SerialWrite(Buffer:Pointer; Size:LongWord; var Count:LongWord):LongWord; inline;
Peripheral functions
function PeripheralGetBase:PtrUInt; inline;
function PeripheralGetSize:LongWord; inline;
function PeripheralRead(Base,Reg:LongWord):LongWord; inline;
procedure PeripheralWrite(Base,Reg,Value:LongWord); inline;
function LocalPeripheralGetBase:PtrUInt; inline;
function LocalPeripheralGetSize:LongWord; inline;
System functions
function SaveIRQ:TIRQMask; inline;
function RestoreIRQ(IRQMask:TIRQMask):TIRQMask; inline;
function SaveFIQ:TFIQMask; inline;
function RestoreFIQ(FIQMask:TFIQMask):TFIQMask; inline;
procedure EnableIRQFIQ; inline;
procedure DisableIRQFIQ; inline;
function SaveIRQFIQ:TIRQFIQMask; inline;
function RestoreIRQFIQ(IRQFIQMask:TIRQFIQMask):TIRQFIQMask; inline;
function SaveAbort:TAbortMask; inline;
function RestoreAbort(AbortMask:TAbortMask):TAbortMask; inline;
procedure Pause; inline;
function HaltThread(ExitCode:LongWord):LongWord; inline;
procedure SendEvent; inline;
procedure WaitForInterrupt; inline;
procedure ReadMemoryBarrier; inline;
procedure WriteMemoryBarrier; inline;
procedure DataMemoryBarrier; inline;
procedure DataSynchronizationBarrier; inline;
procedure InstructionMemoryBarrier; inline;
procedure InvalidateTLB; inline;
procedure InvalidateDataTLB; inline;
procedure InvalidateInstructionTLB; inline;
procedure InvalidateCache; inline;
procedure CleanDataCache; inline;
procedure InvalidateDataCache; inline;
procedure CleanAndInvalidateDataCache; inline;
procedure InvalidateInstructionCache; inline;
procedure CleanDataCacheRange(Address,Size:LongWord); inline;
procedure InvalidateDataCacheRange(Address,Size:LongWord); inline;
procedure CleanAndInvalidateDataCacheRange(Address,Size:LongWord); inline;
procedure InvalidateInstructionCacheRange(Address,Size:LongWord); inline;
procedure FlushPrefetchBuffer; inline;
procedure FlushBranchTargetCache; inline;
procedure ContextSwitch(OldStack,NewStack:Pointer; NewThread:TThreadHandle); inline;
procedure ContextSwitchIRQ(OldStack,NewStack:Pointer; NewThread:TThreadHandle); inline;
procedure ContextSwitchFIQ(OldStack,NewStack:Pointer; NewThread:TThreadHandle); inline;
procedure ContextSwitchSWI(OldStack,NewStack:Pointer; NewThread:TThreadHandle); inline;
function InterlockedOr(var Target:LongInt;Value:LongInt):LongInt; inline;
function InterlockedXor(var Target:LongInt; Value:LongInt):LongInt; inline;
function InterlockedAnd(var Target:LongInt; Value:LongInt):LongInt; inline;
function InterlockedDecrement(var Target:LongInt):LongInt; inline;
function InterlockedIncrement(var Target:LongInt):LongInt; inline;
function InterlockedExchange(var Target:LongInt; Source:LongInt):LongInt; inline;
function InterlockedAddExchange(var Target:LongInt; Source:LongInt):LongInt; inline;
function InterlockedCompareExchange(var Target:LongInt; Source,Compare:LongInt):LongInt; inline;
function PageTableGetBase:PtrUInt; inline;
function PageTableGetSize:LongWord; inline;
function PageTableGetEntry(Address:PtrUInt):TPageTableEntry; overload;
procedure PageTableGetEntry(Address:PtrUInt; var Entry:TPageTableEntry); inline; overload;
function PageTableSetEntry(const Entry:TPageTableEntry):LongWord; inline;
function PageTableGetPageSize(Address:PtrUInt):LongWord; inline;
function PageTableGetPageFlags(Address:PtrUInt):LongWord; inline;
function PageTableGetPagePhysical(Address:PtrUInt):PtrUInt; inline;
function PageTablesGetAddress:PtrUInt; inline;
function PageTablesGetLength:LongWord; inline;
function PageTablesGetCount:LongWord; inline;
function PageTablesGetShift:LongWord; inline;
function PageTablesGetNext:PtrUInt; inline;
function PageTablesGetUsed:LongWord; inline;
function PageTablesGetFree:LongWord; inline;
function VectorTableGetBase:PtrUInt; inline;
function VectorTableGetSize:LongWord; inline;
function VectorTableGetCount:LongWord; inline;
function VectorTableGetEntry(Number:LongWord):PtrUInt; inline;
function VectorTableSetEntry(Number:LongWord; Address:PtrUInt):LongWord; inline;
Exception functions
procedure HardwareException(AType:LongWord; Address,Frame:Pointer);
procedure UnhandledException(Obj:TObject; Addr:CodePointer; FrameCount:LongInt; Frames:PCodePointer); {[public,alias:'FPC_BREAK_UNHANDLED_EXCEPTION'];}
Text IO functions
procedure TextIOOpen(var F:Text; AWrite:TTextIOWriteChar; ARead:TTextIOReadChar; AMode:LongInt; AUserData:Pointer);
procedure TextIOClose(var T:TextRec);
procedure TextIORead(var T:TextRec);
procedure TextIOWrite(var T:TextRec);
function TextIOReadData(ARead:TTextIOReadChar; AUserData:Pointer; ABuffer:PChar; ACount:LongInt):LongInt;
function TextIOWriteChar(ACh:Char; AUserData:Pointer):Boolean; inline;
function TextIOReadChar(var ACh:Char; AUserData:Pointer):Boolean; inline;
function TextIOWriteBuffer(ABuffer:PChar; ACount:LongInt; AUserData:Pointer):LongInt;
Console functions
function ConsoleGetKey(var ACh:Char; AUserData:Pointer):Boolean; inline;
function ConsolePeekKey(var ACh:Char; AUserData:Pointer):Boolean; inline;
function ConsoleWriteChar(ACh:Char; AUserData:Pointer):Boolean; inline;
function ConsoleReadChar(var ACh:Char; AUserData:Pointer):Boolean; inline;
function ConsoleReadWideChar(var ACh:WideChar; AUserData:Pointer):Boolean; inline;
function ConsoleHideMouse(AUserData:Pointer):Boolean; inline;
function ConsoleShowMouse(X,Y:LongWord; AUserData:Pointer):Boolean; inline;
function ConsoleReadMouse(var X,Y,Buttons:LongWord; AUserData:Pointer):Boolean; inline;
CodePage functions
Name functions
function HostSetDomain(const ADomain:String):Boolean; inline;
Module functions
Symbol functions
function SymbolAdd(AHandle:THandle; const AName:String; AAddress:PtrUInt):Boolean; inline;
function SymbolRemove(AHandle:THandle; const AName:String):Boolean; inline;
function SymbolGetAddress(AHandle:THandle; const AName:String):PtrUInt; inline;
Logging functions
procedure LoggingOutputEx(AFacility,ASeverity:LongWord; const ATag,AContent:String); inline;
Utility functions
function FirstBitSet(Value:LongWord):LongWord; inline;
function CountLeadingZeros(Value:LongWord):LongWord; inline;
function PhysicalToIOAddress(Address:Pointer):PtrUInt; inline;
function IOAddressToPhysical(Address:Pointer):PtrUInt; inline;
function PhysicalToBusAddress(Address:Pointer):PtrUInt; inline;
function BusAddressToPhysical(Address:Pointer):PtrUInt; inline;
procedure NanosecondDelay(Nanoseconds:LongWord);
procedure MicrosecondDelay(Microseconds:LongWord);
procedure MillisecondDelay(Milliseconds:LongWord);
procedure NanosecondDelayEx(Nanoseconds:LongWord; Wait:Boolean);
procedure MicrosecondDelayEx(Microseconds:LongWord; Wait:Boolean);
procedure MillisecondDelayEx(Milliseconds:LongWord; Wait:Boolean);
System random functions
Dos conversion functions
Dos info/date/time functions
Dos environment functions
SysUtils tick functions
SysUtils locale functions
procedure SysUtilsGetLocalTime(var SystemTime:TSystemTime);
procedure SysUtilsSetLocalTime(const SystemTime:TSystemTime);
function SysUtilsGetLocalTimeOffset:Integer;
Platform helper functions
Return to Unit Reference