/***********************************************************************/ /* */ /* Heptagon */ /* */ /* Gwenael Delaval, LIG/INRIA, UJF */ /* Leonard Gerard, Parkas, ENS */ /* Adrien Guatto, Parkas, ENS */ /* Cedric Pasteur, Parkas, ENS */ /* Marc Pouzet, Parkas, ENS */ /* */ /* Copyright 2012 ENS, INRIA, UJF */ /* */ /* This file is part of the Heptagon compiler. */ /* */ /* Heptagon 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. */ /* */ /* Heptagon 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 Heptagon. If not, see */ /* */ /***********************************************************************/ /* Pervasives module for the Heptagon compiler */ #ifndef DECADES_AVR_H #define DECADES_AVR_H #ifdef __AVR__ #include #include void run_timers(); ISR(TIMER0_OVF_vect) { run_timers(); } static inline void atomic_memcpy(void *dest, const void *src, size_t size) { ATOMIC_BLOCK(ATOMIC_FORCEON) { memcpy(dest, src, size); } } #endif #endif