Loading...
Searching...
No Matches

Auto-initialization utilities. More...

Detailed Description

Auto-initialization utilities.

A module priority value in RIOTs auto-initialization sequence is, as of now, a hard coded 4-digit number, but is likely to be changed and automatically generated in the future. Modules are initialized in ascending (alpha)numerical order of their priority, which means that modules with lower priorities are initialized first, as long as their priorities comply with the current rules.

Warning
This feature is experimental!
Author
Fabian Hüßler fabia.nosp@m.n.hu.nosp@m.essle.nosp@m.r@ov.nosp@m.gu.de

Definition in file auto_init_utils.h.

#include <stdint.h>
#include "xfa.h"
#include "macros/xtstr.h"
#include "modules.h"
+ Include dependency graph for auto_init_utils.h:

Go to the source code of this file.

Data Structures

struct  auto_init_module_t
 Type to represent a module to be auto-initialized. More...
 

Macros

#define CONFIG_AUTO_INIT_ENABLE_DEBUG   0
 Print a debug message before a module is initialized.
 
#define AUTO_INIT(function, priority)
 Add a module to the auto-initialization array.
 
#define AUTO_INIT_PRIORITY_AFTER(priority)   RIOT_PP_SUCCESSOR(priority)
 Construct a priority value equal to priority + 1, to be used with AUTO_INIT.
 

Typedefs

typedef void(* auto_init_fn_t) (void)
 Auto-init function type.
 
typedef uint16_t auto_init_prio_t
 Data type to store the priority of a module.