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_bufferBuffer 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]detailsPopulated details about the current firmware version
[in]version_str_bufferString 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_bufferBuffer 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
bufferBuffer 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.