agileRTOS (zrtos)  Version 0.8.0 (ghostbuster)
vheap_task.h File Reference
#include <zrtos/error.h>
#include <zrtos/errno.h>
#include <zrtos/vheap_chunk_uid.h>
Include dependency graph for vheap_task.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _zrtos_vheap_task_t
 

Typedefs

typedef uint16_t zrtos_vheap_task_delay_t
 
typedef unsigned int zrtos_vheap_task_tick_type_t
 
typedef unsigned int zrtos_vheap_task_id_t
 
typedef struct _zrtos_vheap_task_t zrtos_vheap_task_t
 

Functions

bool zrtos_vheap_task__init (zrtos_vheap_task_t *thiz, zrtos_arch_stack_t *heap, size_t stacksize_min, zrtos_arch_callback_t callback, void *args)
 
void zrtos_vheap_task__set_delay_ms (zrtos_vheap_task_t *thiz, zrtos_vheap_task_tick_type_t ms)
 
void zrtos_vheap_task__on_tick (zrtos_vheap_task_t *thiz)
 
bool zrtos_vheap_task__is_idle (zrtos_vheap_task_t *thiz)
 
void zrtos_vheap_task__set_stack_ptr (zrtos_vheap_task_t *thiz, zrtos_arch_stack_t *stack_ptr)
 
zrtos_arch_stack_tzrtos_vheap_task__get_stack_ptr (zrtos_vheap_task_t *thiz)
 
void zrtos_vheap_task__set_errno (zrtos_vheap_task_t *thiz, zrtos_error_t errno)
 
zrtos_error_t zrtos_vheap_task__get_errno (zrtos_vheap_task_t *thiz)
 
size_t zrtos_vheap_task__get_stack_size_min (zrtos_vheap_task_t *thiz)
 
void zrtos_vheap_task__set_return_value (zrtos_vheap_task_t *thiz, void *return_value)
 
void * zrtos_vheap_task__get_return_value (zrtos_vheap_task_t *thiz)
 

Typedef Documentation

◆ zrtos_vheap_task_delay_t

typedef uint16_t zrtos_vheap_task_delay_t

Definition at line 24 of file vheap_task.h.

◆ zrtos_vheap_task_id_t

typedef unsigned int zrtos_vheap_task_id_t

Definition at line 26 of file vheap_task.h.

◆ zrtos_vheap_task_t

◆ zrtos_vheap_task_tick_type_t

typedef unsigned int zrtos_vheap_task_tick_type_t

Definition at line 25 of file vheap_task.h.

Function Documentation

◆ zrtos_vheap_task__get_errno()

zrtos_error_t zrtos_vheap_task__get_errno ( zrtos_vheap_task_t thiz)

Definition at line 90 of file vheap_task.h.

90  {
91  return thiz->errno;
92 }
zrtos_error_t errno
Definition: vheap_task.h:34
Here is the caller graph for this function:

◆ zrtos_vheap_task__get_return_value()

void* zrtos_vheap_task__get_return_value ( zrtos_vheap_task_t thiz)

Definition at line 102 of file vheap_task.h.

102  {
103  return thiz->return_value;
104 }
Here is the caller graph for this function:

◆ zrtos_vheap_task__get_stack_ptr()

zrtos_arch_stack_t* zrtos_vheap_task__get_stack_ptr ( zrtos_vheap_task_t thiz)

Definition at line 82 of file vheap_task.h.

82  {
83  return thiz->stack_ptr;
84 }
zrtos_arch_stack_t * stack_ptr
Definition: vheap_task.h:30
Here is the caller graph for this function:

◆ zrtos_vheap_task__get_stack_size_min()

size_t zrtos_vheap_task__get_stack_size_min ( zrtos_vheap_task_t thiz)

Definition at line 94 of file vheap_task.h.

94  {
95  return thiz->stacksize_min;
96 }
Here is the caller graph for this function:

◆ zrtos_vheap_task__init()

bool zrtos_vheap_task__init ( zrtos_vheap_task_t thiz,
zrtos_arch_stack_t heap,
size_t  stacksize_min,
zrtos_arch_callback_t  callback,
void *  args 
)

Definition at line 37 of file vheap_task.h.

44  {
46  heap
47  //,heap_size
48  ,callback
49  ,args
50  );
51  thiz->return_value = 0;
52  thiz->stacksize_min = stacksize_min;
53  thiz->ticks = 0;
54  thiz->errno = 0;
55 
56  return true;
57 }
zrtos_error_t errno
Definition: vheap_task.h:34
zrtos_arch_stack_t * stack_ptr
Definition: vheap_task.h:30
#define zrtos_arch__cpu_state_init
Definition: atmega2560.h:187
Here is the caller graph for this function:

◆ zrtos_vheap_task__is_idle()

bool zrtos_vheap_task__is_idle ( zrtos_vheap_task_t thiz)

Definition at line 71 of file vheap_task.h.

71  {
72  return thiz->ticks > 0;
73 }
Here is the caller graph for this function:

◆ zrtos_vheap_task__on_tick()

void zrtos_vheap_task__on_tick ( zrtos_vheap_task_t thiz)

Definition at line 67 of file vheap_task.h.

67  {
68  thiz->ticks -= (thiz->ticks > 0);
69 }
Here is the caller graph for this function:

◆ zrtos_vheap_task__set_delay_ms()

void zrtos_vheap_task__set_delay_ms ( zrtos_vheap_task_t thiz,
zrtos_vheap_task_tick_type_t  ms 
)

Definition at line 59 of file vheap_task.h.

59  {
60 #if ZRTOS_BOARD__TICK_PERIOD_MS == 1
61  thiz->ticks = ms;
62 #else
63  thiz->ticks = ms ? (ms / ZRTOS_BOARD__TICK_PERIOD_MS) : 0;
64 #endif
65 }
#define ZRTOS_BOARD__TICK_PERIOD_MS
Definition: ansi_c.h:18
Here is the caller graph for this function:

◆ zrtos_vheap_task__set_errno()

void zrtos_vheap_task__set_errno ( zrtos_vheap_task_t thiz,
zrtos_error_t  errno 
)

Definition at line 86 of file vheap_task.h.

86  {
87  thiz->errno = errno;
88 }
zrtos_error_t errno
Definition: vheap_task.h:34
zrtos_error_t errno
Definition: errno.h:17
Here is the caller graph for this function:

◆ zrtos_vheap_task__set_return_value()

void zrtos_vheap_task__set_return_value ( zrtos_vheap_task_t thiz,
void *  return_value 
)

Definition at line 98 of file vheap_task.h.

98  {
99  thiz->return_value = return_value;
100 }
Here is the caller graph for this function:

◆ zrtos_vheap_task__set_stack_ptr()

void zrtos_vheap_task__set_stack_ptr ( zrtos_vheap_task_t thiz,
zrtos_arch_stack_t stack_ptr 
)

Definition at line 75 of file vheap_task.h.

78  {
79  thiz->stack_ptr = stack_ptr;
80 }
zrtos_arch_stack_t * stack_ptr
Definition: vheap_task.h:30
Here is the caller graph for this function: