feat: publish FreeRTOS C FC05 card
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
#ifndef TASK01_QUEUE_H
|
||||
#define TASK01_QUEUE_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "FreeRTOS.h"
|
||||
#include "queue.h"
|
||||
#include "task.h"
|
||||
#include "task01_queue_model.h"
|
||||
|
||||
#define FC05_QUEUE_LENGTH 1U
|
||||
#define FC05_TASK_STACK_WORDS 256U
|
||||
#define FC05_RECEIVER_PRIORITY 3U
|
||||
#define FC05_SENDER_PRIORITY 2U
|
||||
#define FC05_VERIFIER_PRIORITY 1U
|
||||
#define FC05_EVENT_CAPACITY 12U
|
||||
#define FC05_TIMEOUT_TICKS 20U
|
||||
|
||||
typedef struct QueueExperiment
|
||||
{
|
||||
QueueHandle_t queue;
|
||||
TaskHandle_t receiver_handle;
|
||||
TaskHandle_t sender_handle;
|
||||
TaskHandle_t verifier_handle;
|
||||
QueueMessage received[ 3 ];
|
||||
QueueMessage mutated_source;
|
||||
eTaskState sender_state_when_full;
|
||||
UBaseType_t waiting_when_full;
|
||||
uintptr_t receiver_sp;
|
||||
uintptr_t sender_sp;
|
||||
uint32_t receiver_done;
|
||||
uint32_t sender_done;
|
||||
uint32_t pass;
|
||||
uint32_t evidence_digest;
|
||||
} QueueExperiment;
|
||||
|
||||
extern QueueExperiment g_fc05;
|
||||
extern QueueEvidence g_fc05_events[ FC05_EVENT_CAPACITY ];
|
||||
extern volatile uint32_t g_fc05_event_count;
|
||||
extern volatile uint32_t g_fc05_last_checkpoint;
|
||||
extern volatile uint32_t g_fc05_pass;
|
||||
|
||||
void fc05_checkpoint_committed( uint32_t point, const void * subject );
|
||||
void fc05_receiver_entry( void * context );
|
||||
void fc05_sender_entry( void * context );
|
||||
void fc05_verifier_entry( void * context );
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user