OpenWSN Firmware
Scheduler

Minimal FCFS scheduler for the GINA2.2b/c board. More...

Data Structures

struct  task_llist_t
 
struct  scheduler_vars_t
 
struct  scheduler_dbg_t
 

Macros

#define TASK_LIST_DEPTH   10
 

Typedefs

typedef void(* task_cbt )(void)
 
typedef struct task_llist_t taskList_item_t
 

Enumerations

enum  task_prio_t {
  TASKPRIO_NONE = 0x00, TASKPRIO_SIXTOP_NOTIF_RX = 0x01, TASKPRIO_SIXTOP_NOTIF_TXDONE = 0x02, TASKPRIO_SIXTOP = 0x03,
  TASKPRIO_RPL = 0x04, TASKPRIO_TCP_TIMEOUT = 0x05, TASKPRIO_COAP = 0x06, TASKPRIO_ADAPTIVE_SYNC = 0x07,
  TASKPRIO_OTF = 0x08, TASKPRIO_BUTTON = 0x09, TASKPRIO_SIXTOP_TIMEOUT = 0x0a, TASKPRIO_MAX = 0x0b
}
 

Functions

void scheduler_init (void)
 
void scheduler_start (void)
 
void scheduler_push_task (task_cbt task_cb, task_prio_t prio)
 
void isr_ieee154e_newSlot (void)
 Indicates a new slot has just started. More...
 
void isr_ieee154e_timer (void)
 Indicates the FSM timer has fired. More...
 
void isr_adc (void)
 

Detailed Description

Minimal FCFS scheduler for the GINA2.2b/c board.

Author
Thomas Watteyne watte.nosp@m.yne@.nosp@m.eecs..nosp@m.berk.nosp@m.eley..nosp@m.edu, August 2010
Ankur Mehta mehta.nosp@m.nk@e.nosp@m.ecs.b.nosp@m.erke.nosp@m.ley.e.nosp@m.du, October 2010

Macro Definition Documentation

#define TASK_LIST_DEPTH   10

Typedef Documentation

typedef void(* task_cbt)(void)
typedef struct task_llist_t taskList_item_t

Enumeration Type Documentation

Enumerator
TASKPRIO_NONE 
TASKPRIO_SIXTOP_NOTIF_RX 
TASKPRIO_SIXTOP_NOTIF_TXDONE 
TASKPRIO_SIXTOP 
TASKPRIO_RPL 
TASKPRIO_TCP_TIMEOUT 
TASKPRIO_COAP 
TASKPRIO_ADAPTIVE_SYNC 
TASKPRIO_OTF 
TASKPRIO_BUTTON 
TASKPRIO_SIXTOP_TIMEOUT 
TASKPRIO_MAX 

Function Documentation

void isr_adc ( void  )
void isr_ieee154e_newSlot ( void  )

Indicates a new slot has just started.

This function executes in ISR mode, when the new slot timer fires.

void isr_ieee154e_timer ( void  )

Indicates the FSM timer has fired.

This function executes in ISR mode, when the FSM timer fires.

void scheduler_init ( void  )
void scheduler_push_task ( task_cbt  task_cb,
task_prio_t  prio 
)
void scheduler_start ( void  )