#include "femtoos_code.h"
Include dependency graph for code_TestPasson.c:
Go to the source code of this file.
Defines | |
#define | taskMutexRelease(Slot) taskSyncRelease(Slot) |
This file is solely for demonstration purposes. | |
#define | setLed(lednr, state) if (state) { devLedPORT |= (1 << lednr); } else { devLedPORT &= ~(1 << lednr); } |
#define | taskMutexRequest(Slot, TicksToWait) taskSyncRequest(Slot,0,TicksToWait) |
Functions | |
void | appBoot (void) |
Prototype for the general initialization. | |
static void | HandOver (Tuint08 uiLed) __attribute__((naked |
void | appLoop_LEDtask0 (void) |
void | appLoop_LEDtask1 (void) |
void | appLoop_LEDtask2 (void) |
void | appLoop_LEDtask3 (void) |
void | appLoop_LEDtask4 (void) |
void | appLoop_LEDtask5 (void) |
void | appLoop_LEDtask6 (void) |
void | appLoop_LEDtask7 (void) |
void | appLoop_Reset (void) |
void | appLoop_AutoStart (void) |
Variables | |
static void | noreturn |
static void | always_inline |
#define setLed | ( | lednr, | |||
state | ) | if (state) { devLedPORT |= (1 << lednr); } else { devLedPORT &= ~(1 << lednr); } |
Definition at line 53 of file code_TestPasson.c.
#define taskMutexRelease | ( | Slot | ) | taskSyncRelease(Slot) |
This file is solely for demonstration purposes.
This demo is use to demonstrate the power of mutexes and reentrant behaviour. Every led gets a state (on/off) from its right neighbour and tries to pass that on to the left. The last led (to the left) is coupled to the led on the right, so the form a circle. Every 30 seconds a seed is given to the right most led to get the processes running.
Definition at line 41 of file code_TestPasson.c.
Referenced by appLoop_AutoStart(), appLoop_Reset(), and HandOver().
#define taskMutexRequest | ( | Slot, | |||
TicksToWait | ) | taskSyncRequest(Slot,0,TicksToWait) |
Definition at line 78 of file code_TestPasson.c.
Referenced by appLoop_AutoStart(), appLoop_Reset(), and HandOver().
void appBoot | ( | void | ) |
Prototype for the general initialization.
This example is made to demonstrate how the tick hooks can be used. There are three tick hooks present. One on every tick, one on every tick block (256 ticks) and one on every rollover (65536 ticks). They all are coupled to a counter and with one switch you can switch between the different hooks. The counter is display on the ledport. (PORTA on the ATtiny861)
Definition at line 46 of file code_TestPasson.c.
void appLoop_AutoStart | ( | void | ) |
Definition at line 178 of file code_TestPasson.c.
References defLockBlockInfinite, taskDelayFromNow(), taskMutexRelease, taskMutexRequest, and Tuint08.
Here is the call graph for this function:
void appLoop_LEDtask0 | ( | void | ) |
Definition at line 118 of file code_TestPasson.c.
References HandOver().
Here is the call graph for this function:
void appLoop_LEDtask1 | ( | void | ) |
Definition at line 122 of file code_TestPasson.c.
References HandOver().
Here is the call graph for this function:
void appLoop_LEDtask2 | ( | void | ) |
Definition at line 126 of file code_TestPasson.c.
References HandOver().
Here is the call graph for this function:
void appLoop_LEDtask3 | ( | void | ) |
Definition at line 130 of file code_TestPasson.c.
References HandOver().
Here is the call graph for this function:
void appLoop_LEDtask4 | ( | void | ) |
Definition at line 134 of file code_TestPasson.c.
References HandOver().
Here is the call graph for this function:
void appLoop_LEDtask5 | ( | void | ) |
Definition at line 138 of file code_TestPasson.c.
References HandOver().
Here is the call graph for this function:
void appLoop_LEDtask6 | ( | void | ) |
Definition at line 142 of file code_TestPasson.c.
References HandOver().
Here is the call graph for this function:
void appLoop_LEDtask7 | ( | void | ) |
Definition at line 146 of file code_TestPasson.c.
References HandOver().
Here is the call graph for this function:
void appLoop_Reset | ( | void | ) |
Definition at line 157 of file code_TestPasson.c.
References defLockBlockInfinite, taskDelayFromNow(), taskMutexRelease, taskMutexRequest, and Tuint08.
Here is the call graph for this function:
static void HandOver | ( | Tuint08 | uiLed | ) | [static] |
Definition at line 80 of file code_TestPasson.c.
References defLockBlockInfinite, defLockDoNotBlock, setLed, taskDelayFromNow(), taskMutexRelease, taskMutexRequest, and Tuint08.
Referenced by appLoop_LEDtask0(), appLoop_LEDtask1(), appLoop_LEDtask2(), appLoop_LEDtask3(), appLoop_LEDtask4(), appLoop_LEDtask5(), appLoop_LEDtask6(), and appLoop_LEDtask7().
Here is the call graph for this function:
Here is the caller graph for this function:
void always_inline |
Definition at line 58 of file code_TestPasson.c.
void noreturn |
Definition at line 58 of file code_TestPasson.c.