idfhack/main/tasks.h
2025-07-08 14:17:57 +02:00

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