Miscellaneous

Miscellaneous system functions. More...

Functions

gos_result_t gos_system_reboot (void)
Reboot the device. More...
char * gos_system_get_version_str (char *version_str_buffer)
Return the current firmware version as a string. More...
gos_result_t gos_system_get_version_details ( gos_version_details_t *details, char *version_str_buffer)
Return details about the current firmware version. More...
char * gos_system_get_uuid_str (char *uuid_str_buffer)
Return the device's UUID as a string. More...
void gos_system_set_irq_callback (gos_platform_irq_t irq, gos_handler_noarg_t callback)
Register an interrupt callback. More...
void gos_system_set_system_tick_callback ( gos_handler_noarg_t callback)
Register a system tick callback. More...
void gos_system_reset_faults (void)
Clear all system faults. More...
gos_result_t gos_system_retrieve_faults (char *buffer)
Populate the given buffer with the current system faults string. More...
uint32_t gos_system_get_faults_count (void)
Return the number of system faults. More...
void gos_system_reset_safemode_app_counters (uint32_t mask)
Clear a safemode app counter. More...
uint32_t gos_system_get_safemode_app_counters (void)
Get the current safemode app counters. More...
void gos_system_kick_watchdog (void)
Kick the watchdog timer.

Detailed Description

Miscellaneous system functions.

Function Documentation

gos_system_get_faults_count()

uint32_t gos_system_get_faults_count ( void )

Return the number of system faults.

See Gecko OS Command API documentation: faults_reset

gos_system_get_safemode_app_counters()

uint32_t gos_system_get_safemode_app_counters ( void )

Get the current safemode app counters.

See the Safemode app documentation for more details: Safemode App

gos_system_get_uuid_str()

char* gos_system_get_uuid_str ( char * uuid_str_buffer )

Return the device's UUID as a string.

This returns the device's UUID as a string.

The supplied uuid_str_buffer should be a buffer of at least 41 bytes.

Parameters
[out] uuid_str_buffer Buffer to hold UUID string
Returns
Device's UUID string (this is the same pointer as the supplied uuid_str_buffer argument)
Examples:
dms/telemetry/main.c .

gos_system_get_version_details()

gos_result_t gos_system_get_version_details ( gos_version_details_t * details,
char * version_str_buffer
)

Return details about the current firmware version.

This populates gos_version_details_t based on the current version string. See Gecko OS Command API documentation: version .

Note
If version_str_buffer is NULL then only the kernel.version and bundle.version fields are populated.
Parameters
[out] details Populated details about the current firmware version
[in] version_str_buffer String buffer to hold parsed version string, must be at least 96 bytes

gos_system_get_version_str()

char* gos_system_get_version_str ( char * version_str_buffer )

Return the current firmware version as a string.

This returns the current firmware version as a string. See Gecko OS Command API documentation: version .

The supplied version_str_buffer should be a buffer of at least 96 bytes.

Parameters
[out] version_str_buffer Buffer to hold version string
Returns
Current firmware version string (this is the same pointer as the supplied version_str_buffer argument)
Examples:
dms/messages/main.c .

gos_system_reboot()

gos_result_t gos_system_reboot ( void )

Reboot the device.

See Gecko OS Command API documentation: reboot .

Examples:
wifi/device_setup/main.c .

gos_system_reset_faults()

void gos_system_reset_faults ( void )

Clear all system faults.

See Gecko OS Command API documentation: faults_reset

gos_system_reset_safemode_app_counters()

void gos_system_reset_safemode_app_counters ( uint32_t mask )

Clear a safemode app counter.

See the Safemode app documentation for more details: Safemode App

Note
Extreme caution should be used with this API!

To clear all counters, use the mask: GOS_SAFEMODE_COUNTER_ALL,e.g.

gos_system_reset_safemode_app_counters (GOS_SAFEMODE_COUNTER_ALL);

gos_system_retrieve_faults()

gos_result_t gos_system_retrieve_faults ( char * buffer )

Populate the given buffer with the current system faults string.

Parameters
buffer Buffer to hold faults string, this buffer but be at least 512 bytes
Returns
The result of the API, see gos_result_t

gos_system_set_irq_callback()

void gos_system_set_irq_callback ( gos_platform_irq_t irq,
gos_handler_noarg_t callback
)

Register an interrupt callback.

This registers an interrupt handler for the specificied interrupt vector.

The corresponding interrupt must be enabled using the appropriate MCU registers before the callback is triggered.

Note
Extreme care should be taken when registering an irq callback. The stability of the OS cannot be guaranteed with this is used.

gos_system_set_system_tick_callback()

void gos_system_set_system_tick_callback ( gos_handler_noarg_t callback )

Register a system tick callback.

Register a callback to be called every system tick = 1 millisecond.

Note
The callback MUST be extremely simple as the system tick is used by the RTOS scheduler.