U.B.O.R
The [U]seless [B]ox [O]rganizing [R]obot. A FreeRTOS study project written in C which implements a multitasked control unit for a belt conveyor system with robotic sorting arms.
|
#include "display.h"
#include <FreeRTOS.h>
#include <stdio.h>
#include <task.h>
#include <queue.h>
#include <semphr.h>
#include <stdbool.h>
#include <string.h>
#include "ucan.h"
#include "bcs.h"
Go to the source code of this file.
Data Structures | |
struct | message_t |
BCS can message structure. More... | |
Macros | |
#define | STACKSIZE_TASK 256 |
Stack size of all bcs tasks. More... | |
#define | PRIORITY_TASK 2 |
Priority of all bcs tasks. More... | |
#define | MAX_BLOCK_COUNT 3 |
Number of blocks to work with. Must be between 2 and 4. More... | |
#define | SWITCH ((volatile unsigned char*)(0x6C000400)) |
Functions | |
struct | __attribute__ ((__packed__)) |
Status message received by belt conveyer system. More... | |
void | bcs_prepare_drop (enum belt_select belt) |
Prepares a block drop operation to a specific belt global. More... | |
void | bcs_signal_dropped (enum belt_select belt) |
Signal that a block has been dropped on a belt global. More... | |
void | bcs_signal_band_free (enum belt_select belt) |
Signal that a block has been removed from a belt and the belt is free again global. More... | |
int8_t | bcs_grab (enum belt_select belt) |
Instructs the system that we want to grab a block from the bcs global. More... | |
void | bcs_init () |
Initializes the belt conveyer system and starts the belt tasks global. More... | |
Variables | |
status_t | |