libuav original
Dependents: UAVCAN UAVCAN_Subscriber
internal.hpp
00001 /* 00002 * Copyright (C) 2014 Pavel Kirienko <pavel.kirienko@gmail.com> 00003 */ 00004 00005 #pragma once 00006 00007 #include <cstdint> 00008 #include <chip.h> 00009 00010 /* 00011 * Compiler version check 00012 */ 00013 #ifdef __GNUC__ 00014 # if (__GNUC__ * 10 + __GNUC_MINOR__) < 49 00015 # error "Use GCC 4.9 or newer" 00016 # endif 00017 #endif 00018 00019 00020 namespace uavcan_lpc11c24 00021 { 00022 00023 /** 00024 * Locks UAVCAN driver interrupts. 00025 * TODO: priority. 00026 */ 00027 struct CriticalSectionLocker 00028 { 00029 CriticalSectionLocker() 00030 { 00031 __disable_irq(); 00032 } 00033 ~CriticalSectionLocker() 00034 { 00035 __enable_irq(); 00036 } 00037 }; 00038 00039 /** 00040 * Internal for the driver 00041 */ 00042 namespace clock 00043 { 00044 00045 std::uint64_t getUtcUSecFromCanInterrupt(); 00046 00047 } 00048 00049 }
Generated on Tue Jul 12 2022 17:17:32 by 1.7.2