49 lines
874 B
C
49 lines
874 B
C
#ifndef TASKS_H
|
|
#define TASKS_H
|
|
|
|
#include <stdint.h>
|
|
|
|
/*
|
|
* This file exports all the individual tasks, avoiding tons of semi-empty headers.
|
|
*/
|
|
|
|
typedef uint8_t u8;
|
|
typedef uint16_t u16;
|
|
typedef uint32_t u32;
|
|
typedef uint64_t u64;
|
|
|
|
typedef int8_t s8;
|
|
typedef int16_t s16;
|
|
typedef int32_t s32;
|
|
typedef int64_t s64;
|
|
|
|
typedef float f32;
|
|
typedef double f64;
|
|
|
|
/* Begin: task_blink.c */
|
|
|
|
#define LED_PIN 2
|
|
#define RATE_PER_S 10
|
|
#define BLINK_DELAY (1000 / 2 / RATE_PER_S)
|
|
|
|
typedef enum {
|
|
BLINK_RATE = 0,
|
|
BLINK_STATE = 1,
|
|
} BlinkCmdVariant;
|
|
|
|
typedef struct {
|
|
BlinkCmdVariant variant;
|
|
union {
|
|
u32 rate; //!< Set to blink at intervals of 'rate'
|
|
u32 state; //!< 1=ON, 0=OFF
|
|
};
|
|
} BlinkCmd_t;
|
|
|
|
void task_blink(void *pvParams);
|
|
void task_blink_cycle(void *pvParams);
|
|
|
|
/* End: task_blink.c */
|
|
|
|
void vPeriodicTask(void *pvParameters);
|
|
|
|
#endif
|