LibJuno 1.0.1
LibJuno is a lightweight C11 library designed specifically for embedded systems.
Loading...
Searching...
No Matches
juno_sch_api.h File Reference

Cyclic executive (minor/major frame) scheduler API. More...

#include "juno/app/app_api.h"
#include "juno/status.h"
#include "juno/module.h"
#include "juno/time/time_api.h"
#include "juno/types.h"
Include dependency graph for juno_sch_api.h:

Go to the source code of this file.

Data Structures

struct  JUNO_SCH_API_TAG
 

Macros

#define JUNO_SCH_TABLE_NEW(ptArrName, zAppsPerMinorFrame, zNumMinorFrames, ...)   JUNO_APP_ROOT_T *ptArrName[zNumMinorFrames * zAppsPerMinorFrame] = {__VA_ARGS__}
 Declare and initialize a schedule table array.
 

Typedefs

typedef struct JUNO_SCH_API_TAG JUNO_SCH_API_T
 
typedef struct JUNO_SCH_ROOT_TAG JUNO_SCH_ROOT_T
 

Functions

struct JUNO_SCH_ROOT_TAG JUNO_MODULE_ROOT (JUNO_SCH_API_T, JUNO_TIME_ROOT_T *ptTime;JUNO_APP_ROOT_T **ptArrSchTable;size_t zAppsPerMinorFrame;size_t zNumMinorFrames;JUNO_TIMESTAMP_T tMinorFramePeriod;)
 Scheduler root containing time source and flattened schedule table.
 

Detailed Description

Cyclic executive (minor/major frame) scheduler API.

This API has been generated by LibJuno: https://www.robinonsay.com/libjuno/

Macro Definition Documentation

◆ JUNO_SCH_TABLE_NEW

#define JUNO_SCH_TABLE_NEW (   ptArrName,
  zAppsPerMinorFrame,
  zNumMinorFrames,
  ... 
)    JUNO_APP_ROOT_T *ptArrName[zNumMinorFrames * zAppsPerMinorFrame] = {__VA_ARGS__}

Declare and initialize a schedule table array.

Parameters
ptArrNameVariable name of the table array.
zAppsPerMinorFrameNumber of slots per minor frame.
zNumMinorFramesNumber of minor frames per major frame.
...Initializer list of JUNO_APP_ROOT_T* entries.

Typedef Documentation

◆ JUNO_SCH_API_T

◆ JUNO_SCH_ROOT_T

typedef struct JUNO_SCH_ROOT_TAG JUNO_SCH_ROOT_T

Function Documentation

◆ JUNO_MODULE_ROOT()

struct JUNO_SCH_ROOT_TAG JUNO_MODULE_ROOT ( JUNO_SCH_API_T  ,
JUNO_TIME_ROOT_T *ptTime;JUNO_APP_ROOT_T **ptArrSchTable;size_t zAppsPerMinorFrame;size_t zNumMinorFrames;JUNO_TIMESTAMP_T tMinorFramePeriod;   
)

Scheduler root containing time source and flattened schedule table.