Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of OmniWheels by
fnet_isr.h
00001 /************************************************************************** 00002 * 00003 * Copyright 2011-2016 by Andrey Butok. FNET Community. 00004 * Copyright 2008-2010 by Andrey Butok. Freescale Semiconductor, Inc. 00005 * 00006 *************************************************************************** 00007 * 00008 * Licensed under the Apache License, Version 2.0 (the "License"); you may 00009 * not use this file except in compliance with the License. 00010 * You may obtain a copy of the License at 00011 * 00012 * http://www.apache.org/licenses/LICENSE-2.0 00013 * 00014 * Unless required by applicable law or agreed to in writing, software 00015 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 00016 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00017 * See the License for the specific language governing permissions and 00018 * limitations under the License. 00019 * 00020 **********************************************************************/ 00021 /*! 00022 * @brief Private. Interrupt dispatcher API. 00023 * 00024 ***************************************************************************/ 00025 00026 #ifndef _FNET_ISR_H_ 00027 00028 #define _FNET_ISR_H_ 00029 00030 #ifndef FNET_ISR_HANDLER 00031 #define FNET_ISR_HANDLER fnet_cpu_isr 00032 #endif 00033 #ifndef FNET_ISR_HANDLER_INSTALL 00034 #define FNET_ISR_HANDLER_INSTALL fnet_cpu_isr_install 00035 #endif 00036 00037 /* Defines number of the first event handler. MUST be higher than any HW-vector number. */ 00038 #define FNET_EVENT_VECTOR_NUMBER (1025) 00039 00040 /************************************************************************ 00041 * Events 00042 *************************************************************************/ 00043 typedef fnet_int32_t fnet_event_desc_t; 00044 00045 /************************************************************************ 00046 * Function Prototypes 00047 *************************************************************************/ 00048 #if defined(__cplusplus) 00049 extern "C" { 00050 #endif 00051 00052 fnet_return_t fnet_isr_vector_init( fnet_uint32_t vector_number, void (*handler_top)(fnet_uint32_t cookie), void (*handler_bottom)(fnet_uint32_t cookie), fnet_uint32_t priority, fnet_uint32_t cookie ); 00053 fnet_event_desc_t fnet_event_init(void (*event_handler)(fnet_uint32_t cookie), fnet_uint32_t cookie); 00054 void fnet_event_raise(fnet_event_desc_t event_number); 00055 void fnet_isr_vector_release(fnet_uint32_t vector_number); 00056 void fnet_isr_lock(void); 00057 void fnet_isr_unlock(void); 00058 void fnet_isr_init(void); 00059 void fnet_isr_handler(fnet_uint32_t vector_number); 00060 fnet_return_t fnet_cpu_isr_install(fnet_uint32_t vector_number, fnet_uint32_t priority); 00061 00062 #if defined(__cplusplus) 00063 } 00064 #endif 00065 00066 #endif
Generated on Fri Jul 22 2022 04:53:49 by
1.7.2
