1
0
Fork 0
mirror of https://github.com/RobotechLille/cdf2018-principal synced 2024-11-14 20:36:03 +01:00
cdf2018-principal/arduino/AC.h

36 lines
932 B
C
Raw Normal View History

2018-02-14 18:27:04 +01:00
/*
* Définition des fonctions utilisées pour échager entre l'Arduino et le chef
*/
#ifndef __AC_H_
#define __AC_H_
2018-02-14 18:07:10 +01:00
#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;
2018-02-14 18:07:10 +01:00
typedef void (*rxHandler)(void);
rxHandler rxHandlersAC[256];
2018-02-14 18:07:10 +01:00
void registerRxHandlerAC(unsigned char code, rxHandler handler); // À utiliser après configureAC();
2018-02-14 18:07:10 +01:00
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é
2018-02-14 18:07:10 +01:00
void configureAC();
#endif