From b47595aa9d1ed5cbe34a1d07b6b73378423c1258 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 3 May 2014 14:49:34 +0000 Subject: fixed license header added initial keypad files cleaned up main() diff --git a/software/rhmixxx/Makefile b/software/rhmixxx/Makefile index cadfe65..231005b 100644 --- a/software/rhmixxx/Makefile +++ b/software/rhmixxx/Makefile @@ -1,28 +1,27 @@ ## -## spreadspace avr utils +## rhmidi ## +## Copyright (C) 2014 Christian Pointner ## -## Copyright (C) 2013 Christian Pointner +## This file is part of rhmidi. ## -## This file is part of spreadspace avr utils. -## -## spreadspace avr utils is free software: you can redistribute it and/or modify +## rhmidi 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 ## any later version. ## -## spreadspace avr utils is distributed in the hope that it will be useful, +## rhmidi 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 spreadspace avr utils. If not, see . +## along with rhmidi. If not, see . ## NAME := rhmixxx BOARD_TYPE := rhmixxx -OBJ := $(NAME).o +OBJ := $(NAME).o keypad.o LIBS := util led lufa-descriptor-midi EXTERNAL_LIBS := lufa diff --git a/software/rhmixxx/keypad.c b/software/rhmixxx/keypad.c new file mode 100644 index 0000000..96214e8 --- /dev/null +++ b/software/rhmixxx/keypad.c @@ -0,0 +1,37 @@ +/* + * rhmidi + * + * Copyright (C) 2014 Christian Pointner + * + * This file is part of rhmidi. + * + * rhmidi 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 + * any later version. + * + * rhmidi 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 rhmidi. If not, see . + */ + +#include "keypad.h" + +void keypad_init(void) +{ + +} + +void keypad_start_led_test(int cnt) +{ + +} + +void keypad_task(void) +{ + +} diff --git a/software/rhmixxx/keypad.h b/software/rhmixxx/keypad.h new file mode 100644 index 0000000..6f28b24 --- /dev/null +++ b/software/rhmixxx/keypad.h @@ -0,0 +1,30 @@ +/* + * rhmidi + * + * Copyright (C) 2014 Christian Pointner + * + * This file is part of rhmidi. + * + * rhmidi 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 + * any later version. + * + * rhmidi 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 rhmidi. If not, see . + */ + +#ifndef RHMIXXX_keypad_h_INCLUDED +#define RHMIXXX_keypad_h_INCLUDED + +void keypad_init(void); +void keypad_start_led_test(int cnt); + +void keypad_task(void); + +#endif diff --git a/software/rhmixxx/rhmixxx.c b/software/rhmixxx/rhmixxx.c index 91d65ec..20b523c 100644 --- a/software/rhmixxx/rhmixxx.c +++ b/software/rhmixxx/rhmixxx.c @@ -1,26 +1,24 @@ /* - * spreadspace avr utils + * rhmidi * + * Copyright (C) 2014 Christian Pointner * - * Copyright (C) 2013 Christian Pointner + * This file is part of rhmidi. * - * This file is part of spreadspace avr utils. - * - * spreadspace avr utils is free software: you can redistribute it and/or modify + * rhmidi 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 * any later version. * - * spreadspace avr utils is distributed in the hope that it will be useful, + * rhmidi 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 spreadspace avr utils. If not, see . + * along with rhmidi. If not, see . */ - #include #include #include @@ -76,22 +74,7 @@ void EVENT_USB_Device_ControlRequest(void) /* end LUFA MIDI Class driver specific definitions*/ #include "util.h" -#include "led.h" - -static FILE serial_stream; - -#define KEY_PIN PINA -#define KEY_PORT PORTA -#define KEY_DDR DDRA -#define KEY_BIT 0 - -#define KEY_LP_MAX 255 - -void key_init(void) -{ - KEY_DDR = 0x10; - KEY_PORT = 0xEF; -} +#include "keypad.h" int main(void) { @@ -99,58 +82,19 @@ int main(void) wdt_disable(); cpu_init(); - led_init(); - key_init(); - - Serial_Init(38400, 0); - Serial_CreateStream(&serial_stream); - stdin = stdout = stderr = &serial_stream; + keypad_init(); USB_Init(); sei(); - MIDI_EventPacket_t MIDIEventOn = (MIDI_EventPacket_t) - { - .CableNumber = 0, - .Command = (MIDI_COMMAND_NOTE_ON >> 4), - .Data1 = MIDI_COMMAND_NOTE_ON | 0, - .Data2 = 0, - .Data3 = 0x7F, - }; - MIDI_EventPacket_t MIDIEventOff = (MIDI_EventPacket_t) - { - .CableNumber = 0, - .Command = (MIDI_COMMAND_NOTE_OFF >> 4), - .Data1 = MIDI_COMMAND_NOTE_OFF | 0, - .Data2 = 0, - .Data3 = 0, - }; - - static uint8_t last_state = (1<= KEY_LP_MAX) { - MIDI_EventPacket_t* MIDIEvent = state ? &MIDIEventOff : &MIDIEventOn; - MIDI_Device_SendEventPacket(&Keyboard_MIDI_Interface, MIDIEvent); - MIDI_Device_Flush(&Keyboard_MIDI_Interface); - - last_state = state; - lp_cnt = 0; - } + // TODO: evaluate keypad and send out MIDI Events MIDI_Device_USBTask(&Keyboard_MIDI_Interface); USB_USBTask(); -- cgit v0.10.2