1
0
Fork 0
mirror of https://github.com/RobotechLille/cdf2018-principal synced 2024-06-01 18:45:01 +02:00
cdf2018-principal/arduino/AC.h

36 lines
932 B
C

/*
* Définition des fonctions utilisées pour échager entre l'Arduino et le chef
*/
#ifndef __AC_H_
#define __AC_H_
#include <FreeRTOS.h>
#include <avr/interrupt.h>
#include <avr/io.h>
#include <queue.h>
#include <semphr.h>
#include <stdlib.h>
#include <task.h>
#include "ACsignals.h"
#define CPU_FREQ 16000000UL
#define AC_PRESCALER CPU_FREQ / (AC_BAUDRATE << 4) - 1
TaskHandle_t tReaderAC;
SemaphoreHandle_t sSendAC;
unsigned char* toSendAC;
size_t toSendSizeAC;
typedef void (*rxHandler)(void);
rxHandler rxHandlersAC[256];
void registerRxHandlerAC(unsigned char code, rxHandler handler); // À utiliser après configureAC();
void sendAC(unsigned char code, void* data, size_t size);
unsigned char readByteAC(); // À utiliser uniquement depuis un rxHandler
void readAC(void* data, size_t size); // À utiliser uniquement depuis un rxHandler
void TaskReaderAC(void* pvParameters); // Privé
void configureAC();
#endif