Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers mbed_version.h Source File

mbed_version.h

00001 /* mbed Microcontroller Library
00002  * Copyright (c) 2018-2019 ARM Limited
00003  * SPDX-License-Identifier: Apache-2.0
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *     http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef MBED_VERSION_H
00019 #define MBED_VERSION_H
00020 
00021 /** \addtogroup platform-public-api */
00022 /** @{*/
00023 
00024 /**
00025  * \defgroup platform_version Version macros
00026  * @{
00027  */
00028 
00029 /** MBED_MAJOR_VERSION
00030   * Mbed OS major version
00031   *
00032   * @note 99 is default value for development version (master branch)
00033   */
00034 #define MBED_MAJOR_VERSION  5
00035 
00036 /** MBED_MINOR_VERSION
00037   * Mbed OS minor version
00038   *
00039   * @note 99 is default value for development version (master branch)
00040   */
00041 #define MBED_MINOR_VERSION  15
00042 
00043 /** MBED_PATCH_VERSION
00044   * Mbed OS patch version
00045   *
00046   * @note 99 is default value for development version (master branch)
00047   */
00048 #define MBED_PATCH_VERSION  0
00049 
00050 #define MBED_ENCODE_VERSION(major, minor, patch) ((major)*10000 + (minor)*100 + (patch))
00051 
00052 /** MBED_VERSION
00053   * Mbed OS 5 version (MMmmpp - M(Major); m(minor); p(patch))
00054   *
00055   * @note 999999 is default value for development version (master branch)
00056   */
00057 #define MBED_VERSION MBED_ENCODE_VERSION(MBED_MAJOR_VERSION, MBED_MINOR_VERSION, MBED_PATCH_VERSION)
00058 
00059 /** MBED_VERSION_CHECK
00060   * Macro can be used to check minimum Mbed OS version required for feature/library. If current version
00061   * is less than required, it will assert.
00062   *
00063   * @note: Version of master branch will be 999999 as default, hence no assert/warning is provided for
00064   * master branch code
00065   */
00066 #define MBED_VERSION_CHECK(major, minor, patch) do { \
00067                                        MBED_STATIC_ASSERT((MBED_VERSION >= MBED_ENCODE_VERSION((major),(minor),(patch))), "Incompatible mbed-os version detected!!"); \
00068                                      } while(0)
00069 
00070 #endif
00071 
00072 /** @}*/
00073 /** @}*/