Gleb Klochkov / Mbed OS Climatcontroll_Main

Dependencies:   esp8266-driver

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers critical_section_test.h Source File

critical_section_test.h

00001 /* mbed Microcontroller Library
00002  * Copyright (c) 2018 ARM Limited
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 /** \addtogroup hal_critical_tests
00018  *  @{
00019  */
00020 
00021 #ifndef MBED_CRITICAL_SECTION_TEST_H
00022 #define MBED_CRITICAL_SECTION_TEST_H
00023 
00024 /** Template for HAL critical section tests
00025  *
00026  * Test critical section
00027  * Given a critical section HAL mechanism
00028  * When before critical section
00029  * Then interrupts are enabled
00030  * When inside critical section
00031  * Then interrupts are disabled
00032  * When after critical section
00033  * Then interrupts are enabled again
00034  *
00035  * Test critical section - nested lock
00036  * Given a critical section HAL mechanism
00037  * When before critical section
00038  * Then interrupts are enabled
00039  * When inside nested critical section
00040  * Then interrupts are disabled
00041  * When after nested critical section
00042  * Then interrupts are enabled again
00043  *
00044  */
00045 template <int N>
00046 void test_critical_section();
00047 
00048 
00049 /**@}*/
00050 
00051 #endif // MBED_CRITICAL_SECTION_TEST_H