// Copyright 2012 Olivier Gillet.
//
// Author: Olivier Gillet (ol.gillet@gmail.com)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
#ifndef GRIDS_HARDWARE_CONFIG_H_
#define GRIDS_HARDWARE_CONFIG_H_
#include "avrlib/base.h"
#include "avrlib/gpio.h"
#include "avrlib/parallel_io.h"
#include "avrlib/serial.h"
#include "avrlib/spi.h"
namespace grids {
enum AdcChannel {
ADC_CHANNEL_X_CV,
ADC_CHANNEL_Y_CV,
ADC_CHANNEL_RANDOMNESS_CV,
ADC_CHANNEL_BD_DENSITY_CV,
ADC_CHANNEL_SD_DENSITY_CV,
ADC_CHANNEL_HH_DENSITY_CV,
ADC_CHANNEL_TEMPO,
ADC_CHANNEL_LAST
};
enum LedBits {
LED_CLOCK = 1,
LED_BD = 8,
LED_SD = 4,
LED_HH = 2,
LED_ALL = LED_CLOCK | LED_BD | LED_SD | LED_HH
};
enum InputBits {
INPUT_CLOCK = 2,
INPUT_RESET = 4,
INPUT_SW_RESET = 8
};
using avrlib::Gpio;
using avrlib::ParallelPort;
using avrlib::PortB;
using avrlib::PortD;
using avrlib::Serial;
using avrlib::SerialPort0;
using avrlib::SpiMaster;
typedef ParallelPort Leds;
typedef ParallelPort Inputs;
typedef SpiMaster, avrlib::MSB_FIRST, 2> ShiftRegister;
typedef Serial MidiInput;
} // namespace grids
#endif // GRIDS_HARDWARE_CONFIG_H_