diff options
author | Jack Humbert <jack.humb@gmail.com> | 2015-10-27 14:52:18 -0400 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2015-10-27 14:52:18 -0400 |
commit | d311fd8d1a0af3b767d26b520d399bf0db22f058 (patch) | |
tree | b9de5704143ac205b4e26222f9d7551e9b161924 /tmk_core/protocol/lufa/midi/bytequeue/interrupt_setting.c | |
parent | a766918d5c48204375f4c207b30bbbf1389df14f (diff) | |
parent | 6f3141965e88c4ee0ebf7c18a243e4c2d9c5021b (diff) |
Merge pull request #34 from jackhumbert/tmk-master
merging from tmk, new_project script and template
Diffstat (limited to 'tmk_core/protocol/lufa/midi/bytequeue/interrupt_setting.c')
-rwxr-xr-x | tmk_core/protocol/lufa/midi/bytequeue/interrupt_setting.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tmk_core/protocol/lufa/midi/bytequeue/interrupt_setting.c b/tmk_core/protocol/lufa/midi/bytequeue/interrupt_setting.c new file mode 100755 index 0000000000..eafef527c0 --- /dev/null +++ b/tmk_core/protocol/lufa/midi/bytequeue/interrupt_setting.c @@ -0,0 +1,36 @@ +//Copyright 20010 Alex Norman +//writen by Alex Norman +// +//This file is part of avr-bytequeue. +// +//avr-bytequeue 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. +// +//avr-bytequeue 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 avr-bytequeue. If not, see <http://www.gnu.org/licenses/>. + + +//AVR specific code +//should be able to port to other systems by simply providing chip specific +//implementations of the typedef and these functions + +#include "interrupt_setting.h" +#include <avr/interrupt.h> + +interrupt_setting_t store_and_clear_interrupt(void) { + uint8_t sreg = SREG; + cli(); + return sreg; +} + +void restore_interrupt_setting(interrupt_setting_t setting) { + SREG = setting; +} + |