This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
rc2007-soccer/source/AVR_Studio/Soccer/hal/board.h

76 lines
1.4 KiB
C
Raw Normal View History

#ifndef _BOARD_H_
#define _BOARD_H_
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdlib.h>
//#include "uart.h"
2007-02-14 17:47:03 +00:00
#include "../global.h"
//#define abs(a) ((a < 0)? -a : a)
#define BEEPER_PIN PG2
2007-02-15 19:03:00 +00:00
// Definiere Konstanten f<>r die Motoren/Dribbler
#define MOTOR0_PORT PORTB
#define MOTOR0_PWM OCR1A
#define MOTOR0_A (1 << 0)
#define MOTOR0_B (1 << 1)
2007-02-13 19:43:03 +00:00
2007-02-15 19:03:00 +00:00
#define MOTOR1_PORT PORTB
#define MOTOR1_PWM OCR1B
#define MOTOR1_A (1 << 2)
#define MOTOR1_B (1 << 3)
2007-02-13 19:43:03 +00:00
2007-02-15 19:03:00 +00:00
#define MOTOR2_PORT PORTD
#define MOTOR2_PWM OCR3A
#define MOTOR2_A (1 << 5)
#define MOTOR2_B (1 << 4)
// Dribbler
2007-02-15 19:03:00 +00:00
#define DRIBBLER_PORT PORTD
#define DRIBBLER_AN PORTA |= (1 << 5);
#define DRIBBLER_AUS PORTA &= ~(1 << 5);
2007-02-15 19:03:00 +00:00
#define DRIBBLER_A (1 << 6)
#define DRIBBLER_B (1 << 7)
// Kicker
#define KICKER_AN PORTG |= (1 << PG3);
#define KICKER_AUS PORTG &= ~(1 << PG3);
#define KICKER_USLEEP 10
2007-02-14 17:47:03 +00:00
// Definiere Konstanten f<>r Abstandsensoren
#define ABSTAND_PORT PORTC
#define ABSTAND_DDR DDRC
#define ABSTAND_PIN PINC
#define UART_BAUD_RATE 9600
class Board
{
private:
public:
Board();
~Board();
2007-02-14 17:47:03 +00:00
int GetADC(uint8_t channel);
int GetAbstand(int i);
void beep(int freq);
void ledOn();
void ledOff();
void led(bool status);
void motor(int i, int speed);
2007-02-15 19:03:00 +00:00
void kicker();
void dribbler(bool status);
void dribblerOn();
void dribblerOff();
};
#endif