Files
BoilerControlUnit_Firmware/autogen/sl_iostream_handles.c
GClarkson 9d06f983af Imported more library files
Not compiling currently
2025-04-12 23:37:19 +01:00

61 lines
2.0 KiB
C

#include "sl_iostream.h"
#include "sl_iostream_handles.h"
#include "string.h"
const sl_iostream_instance_info_t *sl_iostream_instances_info[] = {
&sl_iostream_instance_rtt_info,
};
const uint32_t sl_iostream_instances_count = sizeof(sl_iostream_instances_info) / sizeof(sl_iostream_instances_info[0]);
sl_iostream_t *sl_iostream_recommended_console_stream = NULL;
/***************************************************************************//**
* Get iostream instance handle for a given name
*
* @return Instance handle if it exist, NULL otherwise.
******************************************************************************/
sl_iostream_t *sl_iostream_get_handle(char *name)
{
for (uint32_t i = 0; i < sl_iostream_instances_count; i++) {
if (strcmp(sl_iostream_instances_info[i]->name, name) == 0) {
return sl_iostream_instances_info[i]->handle;
}
}
return NULL;
}
/***************************************************************************//**
* Set iostream recommended instance for a console
******************************************************************************/
void sl_iostream_set_console_instance(void)
{
sl_iostream_type_t console = SL_IOSTREAM_TYPE_UNDEFINED;
for (uint32_t i = 0; i < sl_iostream_instances_count; i++) {
switch (sl_iostream_instances_info[i]->type) {
case SL_IOSTREAM_TYPE_UART:
case SL_IOSTREAM_TYPE_RTT:
if (console != SL_IOSTREAM_TYPE_UART) {
console = sl_iostream_instances_info[i]->type;
sl_iostream_recommended_console_stream = sl_iostream_instances_info[i]->handle;
}
break;
case SL_IOSTREAM_TYPE_VUART:
if (console != SL_IOSTREAM_TYPE_UART && console != SL_IOSTREAM_TYPE_RTT) {
console = sl_iostream_instances_info[i]->type;
sl_iostream_recommended_console_stream = sl_iostream_instances_info[i]->handle;
}
break;
case SL_IOSTREAM_TYPE_LOOPBACK:
default:
// Ignore loopback interface
break;
}
}
}