Doxygen comment updates and fixes

pull/5372/head
Senthil Ramakrishnan 2017-10-24 10:05:45 -05:00
parent 97e2d4a8c5
commit 3ad298488c
48 changed files with 404 additions and 81 deletions

View File

@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places. # title of most generated pages and in a few other places.
# The default value is: My Project. # The default value is: My Project.
PROJECT_NAME = "My Project" PROJECT_NAME = "Mbed OS Reference"
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This # The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version

View File

@ -39,6 +39,13 @@
namespace mbed { namespace mbed {
/** \addtogroup drivers */
/** Class providing buffered UART communication functionality using separate circular buffer for send and receive channels
*
* @ingroup drivers
*/
class UARTSerial : private SerialBase, public FileHandle, private NonCopyable<UARTSerial> { class UARTSerial : private SerialBase, public FileHandle, private NonCopyable<UARTSerial> {
public: public:

View File

@ -24,6 +24,15 @@
#include <cstdarg> #include <cstdarg>
#include "Callback.h" #include "Callback.h"
namespace mbed {
/** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_ATCmdParser ATCmdParser class
* @{
*/
/** /**
* Parser class for parsing AT commands * Parser class for parsing AT commands
* *
@ -43,8 +52,6 @@
* @endcode * @endcode
*/ */
namespace mbed {
class ATCmdParser : private NonCopyable<ATCmdParser> class ATCmdParser : private NonCopyable<ATCmdParser>
{ {
private: private:
@ -299,6 +306,11 @@ public:
*/ */
bool process_oob(void); bool process_oob(void);
}; };
/**@}*/
/**@}*/
} //namespace mbed } //namespace mbed
#endif //MBED_ATCMDPARSER_H #endif //MBED_ATCMDPARSER_H

View File

@ -1,6 +1,10 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_CThunk CThunk class
* @{
*/
/* General C++ Object Thunking class /* General C++ Object Thunking class
* *
* - allows direct callbacks to non-static C++ class functions * - allows direct callbacks to non-static C++ class functions
@ -73,13 +77,11 @@
/* IRQ/Exception compatible thunk entry function */ /* IRQ/Exception compatible thunk entry function */
typedef void (*CThunkEntry)(void); typedef void (*CThunkEntry)(void);
/** @}*/
/** /**
* Class for created a pointer with data bound to it * Class for created a pointer with data bound to it
* *
* @note Synchronization level: Not protected * @note Synchronization level: Not protected
* @ingroup platform
*/ */
template<class T> template<class T>
class CThunk class CThunk
@ -243,5 +245,9 @@ class CThunk
} }
}; };
/**@}*/
/**@}*/
#endif/*__CTHUNK_H__*/ #endif/*__CTHUNK_H__*/

View File

@ -22,7 +22,17 @@
#include <string.h> #include <string.h>
namespace mbed { namespace mbed {
typedef Callback<void()> *pFunctionPointer_t;
class CallChainLink;
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_CallChain CallChain class
* @{
*/
/** Group one or more functions in an instance of a CallChain, then call them in /** Group one or more functions in an instance of a CallChain, then call them in
* sequence using CallChain::call(). Used mostly by the interrupt chaining code, * sequence using CallChain::call(). Used mostly by the interrupt chaining code,
@ -60,12 +70,7 @@ namespace mbed {
* chain.call(); * chain.call();
* } * }
* @endcode * @endcode
* @ingroup platform
*/ */
typedef Callback<void()> *pFunctionPointer_t;
class CallChainLink;
class CallChain : private NonCopyable<CallChain> { class CallChain : private NonCopyable<CallChain> {
public: public:
/** Create an empty chain /** Create an empty chain
@ -183,6 +188,10 @@ private:
CallChainLink *_chain; CallChainLink *_chain;
}; };
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed
#endif #endif

View File

@ -24,12 +24,15 @@
namespace mbed { namespace mbed {
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_Callback Callback class
* @{
*/
/** Callback class based on template specialization /** Callback class based on template specialization
* *
* @note Synchronization level: Not protected * @note Synchronization level: Not protected
* @ingroup platform
*/ */
template <typename F> template <typename F>
class Callback; class Callback;
@ -67,7 +70,6 @@ namespace detail {
/** Callback class based on template specialization /** Callback class based on template specialization
* *
* @note Synchronization level: Not protected * @note Synchronization level: Not protected
* @ingroup platform
*/ */
template <typename R> template <typename R>
class Callback<R()> { class Callback<R()> {
@ -642,7 +644,6 @@ private:
/** Callback class based on template specialization /** Callback class based on template specialization
* *
* @note Synchronization level: Not protected * @note Synchronization level: Not protected
* @ingroup platform
*/ */
template <typename R, typename A0> template <typename R, typename A0>
class Callback<R(A0)> { class Callback<R(A0)> {
@ -1218,7 +1219,6 @@ private:
/** Callback class based on template specialization /** Callback class based on template specialization
* *
* @note Synchronization level: Not protected * @note Synchronization level: Not protected
* @ingroup platform
*/ */
template <typename R, typename A0, typename A1> template <typename R, typename A0, typename A1>
class Callback<R(A0, A1)> { class Callback<R(A0, A1)> {
@ -1795,7 +1795,6 @@ private:
/** Callback class based on template specialization /** Callback class based on template specialization
* *
* @note Synchronization level: Not protected * @note Synchronization level: Not protected
* @ingroup platform
*/ */
template <typename R, typename A0, typename A1, typename A2> template <typename R, typename A0, typename A1, typename A2>
class Callback<R(A0, A1, A2)> { class Callback<R(A0, A1, A2)> {
@ -2373,7 +2372,6 @@ private:
/** Callback class based on template specialization /** Callback class based on template specialization
* *
* @note Synchronization level: Not protected * @note Synchronization level: Not protected
* @ingroup platform
*/ */
template <typename R, typename A0, typename A1, typename A2, typename A3> template <typename R, typename A0, typename A1, typename A2, typename A3>
class Callback<R(A0, A1, A2, A3)> { class Callback<R(A0, A1, A2, A3)> {
@ -2952,7 +2950,6 @@ private:
/** Callback class based on template specialization /** Callback class based on template specialization
* *
* @note Synchronization level: Not protected * @note Synchronization level: Not protected
* @ingroup platform
*/ */
template <typename R, typename A0, typename A1, typename A2, typename A3, typename A4> template <typename R, typename A0, typename A1, typename A2, typename A3, typename A4>
class Callback<R(A0, A1, A2, A3, A4)> { class Callback<R(A0, A1, A2, A3, A4)> {
@ -4546,6 +4543,9 @@ Callback<R(A0, A1, A2, A3, A4)> callback(const volatile U *obj, R (*func)(const
return Callback<R(A0, A1, A2, A3, A4)>(func, obj); return Callback<R(A0, A1, A2, A3, A4)>(func, obj);
} }
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed

View File

@ -20,11 +20,15 @@
namespace mbed { namespace mbed {
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_CircularBuffer CircularBuffer functions
* @{
*/
/** Templated Circular buffer class /** Templated Circular buffer class
* *
* @note Synchronization level: Interrupt safe * @note Synchronization level: Interrupt safe
* @ingroup platform
*/ */
template<typename T, uint32_t BufferSize, typename CounterType = uint32_t> template<typename T, uint32_t BufferSize, typename CounterType = uint32_t>
class CircularBuffer { class CircularBuffer {
@ -112,6 +116,10 @@ private:
volatile bool _full; volatile bool _full;
}; };
/**@}*/
/**@}*/
} }
#endif #endif

View File

@ -22,6 +22,13 @@
namespace mbed { namespace mbed {
/** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_CriticalSectionLock CriticalSectionLock functions
* @{
*/
/** RAII object for disabling, then restoring, interrupt state /** RAII object for disabling, then restoring, interrupt state
* Usage: * Usage:
* @code * @code
@ -65,6 +72,9 @@ public:
} }
}; };
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed

View File

@ -22,6 +22,12 @@
namespace mbed { namespace mbed {
/** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_DeepSleepLock DeepSleepLock functions
* @{
*/
/** RAII object for disabling, then restoring the deep sleep mode /** RAII object for disabling, then restoring the deep sleep mode
* Usage: * Usage:
@ -82,6 +88,11 @@ public:
} }
}; };
/**@}*/
/**@}*/
} }
#endif #endif

View File

@ -23,6 +23,11 @@
namespace mbed { namespace mbed {
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_DirHandle DirHandle functions
* @{
*/
/** Represents a directory stream. Objects of this type are returned /** Represents a directory stream. Objects of this type are returned
@ -40,7 +45,6 @@ namespace mbed {
* *
* @note to create a directory, @see Dir * @note to create a directory, @see Dir
* @note Synchronization level: Set by subclass * @note Synchronization level: Set by subclass
* @ingroup platform
*/ */
class DirHandle : private NonCopyable<DirHandle> { class DirHandle : private NonCopyable<DirHandle> {
public: public:
@ -142,7 +146,9 @@ public:
virtual void seekdir(off_t location) { seek(location); } virtual void seekdir(off_t location) { seek(location); }
}; };
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed
#endif /* MBED_DIRHANDLE_H */ #endif /* MBED_DIRHANDLE_H */

View File

@ -27,19 +27,22 @@ typedef int FILEHANDLE;
#include "platform/NonCopyable.h" #include "platform/NonCopyable.h"
namespace mbed { namespace mbed {
/** \addtogroup platform */
/** @{*/
typedef enum { typedef enum {
FilePathType, FilePathType,
FileSystemPathType FileSystemPathType
} PathType; } PathType;
/** @}*/
/** \addtogroup platform */
/** @{*/
/** /**
* @class FileBase * \defgroup platform_FileBase FileBase class
* @ingroup platform * @{
*/ */
/** Class FileBase
*
*/
class FileBase : private NonCopyable<FileBase> { class FileBase : private NonCopyable<FileBase> {
public: public:
FileBase(const char *name, PathType t); FileBase(const char *name, PathType t);
@ -62,6 +65,10 @@ private:
const PathType _path_type; const PathType _path_type;
}; };
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed
#endif #endif

View File

@ -26,6 +26,11 @@ typedef int FILEHANDLE;
namespace mbed { namespace mbed {
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_FileHandle FileHandle functions
* @{
*/
/** Class FileHandle /** Class FileHandle
@ -36,7 +41,6 @@ namespace mbed {
* *
* @note to create a file, @see File * @note to create a file, @see File
* @note Synchronization level: Set by subclass * @note Synchronization level: Set by subclass
* @ingroup platform
*/ */
class FileHandle : private NonCopyable<FileHandle> { class FileHandle : private NonCopyable<FileHandle> {
public: public:
@ -254,6 +258,11 @@ public:
std::FILE *fdopen(FileHandle *fh, const char *mode); std::FILE *fdopen(FileHandle *fh, const char *mode);
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed
#endif #endif

View File

@ -23,14 +23,17 @@
namespace mbed { namespace mbed {
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/
/**
/* Class FileLike * \defgroup platform_FileLike FileLike class
* @{
*/
/** Class FileLike
*
* A file-like object is one that can be opened with fopen by * A file-like object is one that can be opened with fopen by
* fopen("/name", mode). * fopen("/name", mode).
* *
* @note Synchronization level: Set by subclass * @note Synchronization level: Set by subclass
* @ingroup platform
*/ */
class FileLike : public FileHandle, public FileBase, private NonCopyable<FileLike> { class FileLike : public FileHandle, public FileBase, private NonCopyable<FileLike> {
public: public:
@ -42,6 +45,9 @@ public:
virtual ~FileLike() {} virtual ~FileLike() {}
}; };
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed

View File

@ -23,15 +23,23 @@
namespace mbed { namespace mbed {
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/
/** /**
* @class FileSystem * \defgroup platform_FilePath FilePath class
* @ingroup platform * @{
*/ */
class FileSystem;
class FileSystem;
/** Class FilePath
*
*/
class FilePath { class FilePath {
public: public:
/** Constructor FilePath
*
* @param file_path The path of file.
*/
FilePath(const char* file_path); FilePath(const char* file_path);
const char* fileName(void); const char* fileName(void);
@ -48,6 +56,10 @@ private:
FileBase* fb; FileBase* fb;
}; };
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed
#endif #endif

View File

@ -26,6 +26,10 @@
namespace mbed { namespace mbed {
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_FileSystemHandle FileSystemHandle functions
* @{
*/
/** A filesystem-like object is one that can be used to open file-like /** A filesystem-like object is one that can be used to open file-like
@ -91,7 +95,9 @@ public:
*/ */
virtual int mkdir(const char *path, mode_t mode); virtual int mkdir(const char *path, mode_t mode);
}; };
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed

View File

@ -25,6 +25,11 @@
namespace mbed { namespace mbed {
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_FileSystemLike FileSystemLike functions
* @{
*/
/** A filesystem-like object is one that can be used to open file-like /** A filesystem-like object is one that can be used to open file-like
@ -34,7 +39,6 @@ namespace mbed {
* of the rest of the functions just return error values). * of the rest of the functions just return error values).
* *
* @note Synchronization level: Set by subclass * @note Synchronization level: Set by subclass
* @ingroup platform
*/ */
class FileSystemLike : public FileSystemHandle, public FileBase, private NonCopyable<FileSystemLike> { class FileSystemLike : public FileSystemHandle, public FileBase, private NonCopyable<FileSystemLike> {
public: public:
@ -79,6 +83,9 @@ public:
} }
}; };
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed

View File

@ -23,13 +23,14 @@
namespace mbed { namespace mbed {
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_FunctionPointer FunctionPointer class
* @{
*/
// Declarations for backwards compatibility // Declarations for backwards compatibility
// To be foward compatible, code should adopt the Callback class // To be foward compatible, code should adopt the Callback class
/**
* @ingroup platform
*/
template <typename R, typename A1> template <typename R, typename A1>
class FunctionPointerArg1 : public Callback<R(A1)> { class FunctionPointerArg1 : public Callback<R(A1)> {
public: public:
@ -61,9 +62,6 @@ public:
} }
}; };
/**
* @ingroup platform
*/
template <typename R> template <typename R>
class FunctionPointerArg1<R, void> : public Callback<R()> { class FunctionPointerArg1<R, void> : public Callback<R()> {
public: public:
@ -97,6 +95,10 @@ public:
typedef FunctionPointerArg1<void, void> FunctionPointer; typedef FunctionPointerArg1<void, void> FunctionPointer;
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed

View File

@ -27,9 +27,12 @@
namespace mbed { namespace mbed {
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_LocalFileSystem LocalFileSystem functions
* @{
*/
FILEHANDLE local_file_open(const char* name, int flags); FILEHANDLE local_file_open(const char* name, int flags);
/** @}*/
/** /**
* @class LocalFileHandle * @class LocalFileHandle
@ -112,6 +115,10 @@ public:
virtual int remove(const char *filename); virtual int remove(const char *filename);
}; };
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed
#endif #endif

View File

@ -1,5 +1,10 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_PlatformMutex PlatformMutex class
* @{
*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2006-2013 ARM Limited * Copyright (c) 2006-2013 ARM Limited
* *
@ -25,7 +30,6 @@
typedef rtos::Mutex PlatformMutex; typedef rtos::Mutex PlatformMutex;
#else #else
/** A stub mutex for when an RTOS is not present /** A stub mutex for when an RTOS is not present
* @ingroup platform
*/ */
class PlatformMutex : private mbed::NonCopyable<PlatformMutex> { class PlatformMutex : private mbed::NonCopyable<PlatformMutex> {
public: public:
@ -50,3 +54,6 @@ public:
#endif #endif
/**@}*/
/**@}*/

View File

@ -1,6 +1,10 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_SingletonPtr SingletonPtr class
* @{
*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2006-2013 ARM Limited * Copyright (c) 2006-2013 ARM Limited
* *
@ -55,7 +59,6 @@ inline static void singleton_unlock(void)
osMutexRelease (singleton_mutex_id); osMutexRelease (singleton_mutex_id);
#endif #endif
} }
/** @}*/
/** Utility class for creating an using a singleton /** Utility class for creating an using a singleton
* *
@ -68,7 +71,6 @@ inline static void singleton_unlock(void)
* @note: This class is lazily initialized on first use. * @note: This class is lazily initialized on first use.
* This class is a POD type so if it is not used it will * This class is a POD type so if it is not used it will
* be garbage collected. * be garbage collected.
* @ingroup platform
*/ */
template <class T> template <class T>
struct SingletonPtr { struct SingletonPtr {
@ -108,4 +110,6 @@ struct SingletonPtr {
}; };
#endif #endif
/**@}*/
/**@}*/

View File

@ -26,16 +26,18 @@
namespace mbed { namespace mbed {
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_Stream Stream class
* @{
*/
extern void mbed_set_unbuffered_stream(std::FILE *_file); extern void mbed_set_unbuffered_stream(std::FILE *_file);
extern int mbed_getc(std::FILE *_file); extern int mbed_getc(std::FILE *_file);
extern char* mbed_gets(char *s, int size, std::FILE *_file); extern char* mbed_gets(char *s, int size, std::FILE *_file);
/** @}*/
/** File stream /** File stream
* *
* @note Synchronization level: Set by subclass * @note Synchronization level: Set by subclass
* @ingroup platform
*/ */
class Stream : public FileLike, private NonCopyable<Stream> { class Stream : public FileLike, private NonCopyable<Stream> {
@ -82,7 +84,9 @@ protected:
// Stub // Stub
} }
}; };
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed
#endif #endif

View File

@ -21,9 +21,13 @@
namespace mbed { namespace mbed {
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_Transaction Transaction class
* @{
*/
/** Transaction structure /** Transaction structure
* @ingroup platform
*/ */
typedef struct { typedef struct {
void *tx_buffer; /**< Tx buffer */ void *tx_buffer; /**< Tx buffer */
@ -38,7 +42,6 @@ typedef struct {
/** Transaction class defines a transaction. /** Transaction class defines a transaction.
* *
* @note Synchronization level: Not protected * @note Synchronization level: Not protected
* @ingroup platform
*/ */
template<typename Class> template<typename Class>
class Transaction { class Transaction {
@ -72,7 +75,9 @@ private:
Class* _obj; Class* _obj;
transaction_t _data; transaction_t _data;
}; };
/**@}*/
/**@}*/
} }
#endif #endif

View File

@ -1,6 +1,3 @@
/** \addtogroup platform */
/** @{*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2017-2017 ARM Limited * Copyright (c) 2017-2017 ARM Limited
* *
@ -16,6 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
#ifndef MBED_APPLICATION_H #ifndef MBED_APPLICATION_H
#define MBED_APPLICATION_H #define MBED_APPLICATION_H
@ -52,4 +50,3 @@ void mbed_start_application(uintptr_t address);
#endif #endif
/** @}*/

View File

@ -1,6 +1,10 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_Assert Assert macros
* @{
*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2006-2013 ARM Limited * Copyright (c) 2006-2013 ARM Limited
* *
@ -39,6 +43,19 @@ void mbed_assert_internal(const char *expr, const char *file, int line);
} }
#endif #endif
/** MBED_ASSERT
* Declare runtime assertions: results in runtime error if condition is false
*
* @note
* Use of MBED_ASSERT is limited debug builds only.
*
* @code
*
* int Configure(serial_t *obj) {
* MBED_ASSERT(obj);
* }
* @endcode
*/
#ifdef NDEBUG #ifdef NDEBUG
#define MBED_ASSERT(expr) ((void)0) #define MBED_ASSERT(expr) ((void)0)
@ -110,4 +127,7 @@ do { \
#endif #endif
/** @}*/ /**@}*/
/**@}*/

View File

@ -1,6 +1,4 @@
/** \addtogroup platform */
/** @{*/
/* /*
* Copyright (c) 2015-2016, ARM Limited, All Rights Reserved * Copyright (c) 2015-2016, ARM Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
@ -29,6 +27,12 @@
extern "C" { extern "C" {
#endif #endif
/** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_critical critical section function
* @{
*/
/** Determine the current interrupts enabled state /** Determine the current interrupts enabled state
* *
@ -363,8 +367,11 @@ void *core_util_atomic_decr_ptr(void **valuePtr, ptrdiff_t delta);
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif #endif
/**@}*/
/**@}*/
#endif // __MBED_UTIL_CRITICAL_H__ #endif // __MBED_UTIL_CRITICAL_H__
/** @}*/

View File

@ -1,6 +1,11 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_debug Debug functions
* @{
*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2006-2013 ARM Limited * Copyright (c) 2006-2013 ARM Limited
* *
@ -68,4 +73,7 @@ static inline void debug_if(int condition, const char *format, ...) {
#endif #endif
/** @}*/ /**@}*/
/**@}*/

View File

@ -1,6 +1,10 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_error Error functions
* @{
*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2006-2013 ARM Limited * Copyright (c) 2006-2013 ARM Limited
* *
@ -75,3 +79,4 @@ void error(const char* format, ...);
#endif #endif
/** @}*/ /** @}*/
/** @}*/

View File

@ -1,6 +1,11 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_interface Network interface and other utility functions
* @{
*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2006-2013 ARM Limited * Copyright (c) 2006-2013 ARM Limited
* *
@ -42,6 +47,11 @@ extern "C" {
#if DEVICE_SEMIHOST #if DEVICE_SEMIHOST
/**
* \defgroup platform_interface interface functions
* @{
*/
/** Functions to control the mbed interface /** Functions to control the mbed interface
* *
* mbed Microcontrollers have a built-in interface to provide functionality such as * mbed Microcontrollers have a built-in interface to provide functionality such as
@ -137,6 +147,7 @@ void mbed_error_printf(const char* format, ...);
* *
*/ */
void mbed_error_vfprintf(const char * format, va_list arg); void mbed_error_vfprintf(const char * format, va_list arg);
/** @}*/
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -1,6 +1,7 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2006-2016 ARM Limited * Copyright (c) 2006-2016 ARM Limited
* *
@ -35,6 +36,11 @@ enum {
MBED_MEM_TRACE_FREE MBED_MEM_TRACE_FREE
}; };
/**
* \defgroup platform_mem_trace mem_trace functions
* @{
*/
/* Prefix for the output of the default tracer */ /* Prefix for the output of the default tracer */
#define MBED_MEM_DEFAULT_TRACER_PREFIX "#" #define MBED_MEM_DEFAULT_TRACER_PREFIX "#"
@ -133,6 +139,8 @@ void mbed_mem_trace_free(void *ptr, void *caller);
*/ */
void mbed_mem_trace_default_callback(uint8_t op, void *res, void *caller, ...); void mbed_mem_trace_default_callback(uint8_t op, void *res, void *caller, ...);
/** @}*/
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -28,6 +28,11 @@
extern "C" { extern "C" {
#endif #endif
/**
* \defgroup platform_mktime mktime functions
* @{
*/
/** Compute if a year is a leap year or not. /** Compute if a year is a leap year or not.
* *
* @param year The year to test it shall be in the range [70:138]. Year 0 is * @param year The year to test it shall be in the range [70:138]. Year 0 is
@ -89,6 +94,8 @@ time_t _rtc_mktime(const struct tm* calendar_time);
*/ */
bool _rtc_localtime(time_t timestamp, struct tm* calendar_time); bool _rtc_localtime(time_t timestamp, struct tm* calendar_time);
/** @}*/
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -27,7 +27,11 @@ namespace mbed {
class FileHandle; class FileHandle;
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_poll poll functions
* @{
*/
struct pollfh { struct pollfh {
FileHandle *fh; FileHandle *fh;
@ -47,6 +51,10 @@ struct pollfh {
*/ */
int poll(pollfh fhs[], unsigned nfhs, int timeout); int poll(pollfh fhs[], unsigned nfhs, int timeout);
/**@}*/
/**@}*/
} // namespace mbed } // namespace mbed
#endif //MBED_POLL_H #endif //MBED_POLL_H

View File

@ -1,5 +1,10 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_preprocessor preprocessor macros
* @{
*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2006-2013 ARM Limited * Copyright (c) 2006-2013 ARM Limited
* *
@ -51,3 +56,4 @@
#endif #endif
/** @}*/ /** @}*/
/** @}*/

View File

@ -58,13 +58,21 @@ typedef unsigned int gid_t; ///< Group ID
#endif #endif
/** \addtogroup platform */
/** @{*/
/**
* \defgroup platform_retarget Retarget functions
* @{
*/
/* DIR declarations must also be here */ /* DIR declarations must also be here */
#if __cplusplus #if __cplusplus
namespace mbed { namespace mbed {
class FileHandle; class FileHandle;
class DirHandle; class DirHandle;
std::FILE *mbed_fdopen(FileHandle *fh, const char *mode); std::FILE *mbed_fdopen(FileHandle *fh, const char *mode);
} }
typedef mbed::DirHandle DIR; typedef mbed::DirHandle DIR;
#else #else
@ -438,4 +446,8 @@ enum {
DT_SOCK, ///< This is a UNIX domain socket. DT_SOCK, ///< This is a UNIX domain socket.
}; };
/**@}*/
/**@}*/
#endif /* RETARGET_H */ #endif /* RETARGET_H */

View File

@ -1,6 +1,10 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_rtc_time rtc_time functions
* @{
*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2006-2013 ARM Limited * Copyright (c) 2006-2013 ARM Limited
* *
@ -90,3 +94,4 @@ void attach_rtc(time_t (*read_rtc)(void), void (*write_rtc)(time_t), void (*init
#endif #endif
/** @}*/ /** @}*/
/** @}*/

View File

@ -1,6 +1,4 @@
/** \addtogroup platform */
/** @{*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2006-2013 ARM Limited * Copyright (c) 2006-2013 ARM Limited
* *
@ -95,4 +93,4 @@ int semihost_disabledebug(void);
#endif #endif
/** @}*/

View File

@ -1,6 +1,11 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_sleep Sleep functions
* @{
*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2006-2017 ARM Limited * Copyright (c) 2006-2017 ARM Limited
* *
@ -169,3 +174,4 @@ __INLINE static void deepsleep(void)
#endif #endif
/** @}*/ /** @}*/
/** @}*/

View File

@ -1,6 +1,10 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_stats stats functions
* @{
*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2016-2016 ARM Limited * Copyright (c) 2016-2016 ARM Limited
* *
@ -25,6 +29,9 @@
extern "C" { extern "C" {
#endif #endif
/**
* struct mbed_stats_heap_t definition
*/
typedef struct { typedef struct {
uint32_t current_size; /**< Bytes allocated currently. */ uint32_t current_size; /**< Bytes allocated currently. */
uint32_t max_size; /**< Max bytes allocated at a given time. */ uint32_t max_size; /**< Max bytes allocated at a given time. */
@ -41,6 +48,9 @@ typedef struct {
*/ */
void mbed_stats_heap_get(mbed_stats_heap_t *stats); void mbed_stats_heap_get(mbed_stats_heap_t *stats);
/**
* struct mbed_stats_stack_t definition
*/
typedef struct { typedef struct {
uint32_t thread_id; /**< Identifier for thread that owns the stack or 0 if multiple threads. */ uint32_t thread_id; /**< Identifier for thread that owns the stack or 0 if multiple threads. */
uint32_t max_size; /**< Maximum number of bytes used on the stack. */ uint32_t max_size; /**< Maximum number of bytes used on the stack. */
@ -73,3 +83,5 @@ size_t mbed_stats_stack_get_each(mbed_stats_stack_t *stats, size_t count);
#endif #endif
/** @}*/ /** @}*/
/** @}*/

View File

@ -1,6 +1,11 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_toolchain Toolchain functions
* @{
*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2006-2013 ARM Limited * Copyright (c) 2006-2013 ARM Limited
* *
@ -382,3 +387,4 @@ typedef int FILEHANDLE;
#endif #endif
/** @}*/ /** @}*/
/** @}*/

View File

@ -1,6 +1,11 @@
/** \addtogroup platform */ /** \addtogroup platform */
/** @{*/ /** @{*/
/**
* \defgroup platform_wait_api wait_api functions
* @{
*/
/* mbed Microcontroller Library /* mbed Microcontroller Library
* Copyright (c) 2006-2013 ARM Limited * Copyright (c) 2006-2013 ARM Limited
* *
@ -70,3 +75,4 @@ void wait_us(int us);
#endif #endif
/** @}*/ /** @}*/
/** @}*/

View File

@ -32,7 +32,11 @@
namespace rtos { namespace rtos {
/** \addtogroup rtos */ /** \addtogroup rtos */
/** @{*/ /** @{*/
/**
* \defgroup rtos_EventFlags EventFlags class
* @{
*/
/** The EventFlags class is used to signal or wait for an arbitrary event or events. /** The EventFlags class is used to signal or wait for an arbitrary event or events.
@note @note
EventFlags support 31 flags so the MSB flag is ignored, it is used to return an error code (@a osFlagsError) EventFlags support 31 flags so the MSB flag is ignored, it is used to return an error code (@a osFlagsError)
@ -94,7 +98,9 @@ private:
mbed_rtos_storage_event_flags_t _obj_mem; mbed_rtos_storage_event_flags_t _obj_mem;
}; };
/** @}*/
/** @}*/
} }
#endif #endif
/** @}*/

View File

@ -38,7 +38,11 @@ using namespace rtos;
namespace rtos { namespace rtos {
/** \addtogroup rtos */ /** \addtogroup rtos */
/** @{*/ /** @{*/
/**
* \defgroup rtos_Mail Mail class
* @{
*/
/** The Mail class allow to control, send, receive, or wait for mail. /** The Mail class allow to control, send, receive, or wait for mail.
A mail is a memory block that is send to a thread or interrupt service routine. A mail is a memory block that is send to a thread or interrupt service routine.
@tparam T data type of a single message element. @tparam T data type of a single message element.
@ -103,9 +107,12 @@ private:
MemoryPool<T, queue_sz> _pool; MemoryPool<T, queue_sz> _pool;
}; };
/** @}*/
/** @}*/
} }
#endif #endif
/** @}*/

View File

@ -33,7 +33,11 @@
namespace rtos { namespace rtos {
/** \addtogroup rtos */ /** \addtogroup rtos */
/** @{*/ /** @{*/
/**
* \defgroup rtos_MemoryPool MemoryPool class
* @{
*/
/** Define and manage fixed-size memory pools of objects of a given type. /** Define and manage fixed-size memory pools of objects of a given type.
@tparam T data type of a single object (element). @tparam T data type of a single object (element).
@tparam queue_sz maximum number of objects (elements) in the memory pool. @tparam queue_sz maximum number of objects (elements) in the memory pool.
@ -100,8 +104,10 @@ private:
char _pool_mem[((sizeof(T) + 3) & ~3) * pool_sz]; char _pool_mem[((sizeof(T) + 3) & ~3) * pool_sz];
mbed_rtos_storage_mem_pool_t _obj_mem; mbed_rtos_storage_mem_pool_t _obj_mem;
}; };
/** @}*/
/** @}*/
} }
#endif #endif
/** @}*/

View File

@ -32,7 +32,11 @@
namespace rtos { namespace rtos {
/** \addtogroup rtos */ /** \addtogroup rtos */
/** @{*/ /** @{*/
/**
* \defgroup rtos_Mutex Mutex class
* @{
*/
/** The Mutex class is used to synchronize the execution of threads. /** The Mutex class is used to synchronize the execution of threads.
This is for example used to protect access to a shared resource. This is for example used to protect access to a shared resource.
@ -85,8 +89,9 @@ private:
osMutexAttr_t _attr; osMutexAttr_t _attr;
mbed_rtos_storage_mutex_t _obj_mem; mbed_rtos_storage_mutex_t _obj_mem;
}; };
/** @}*/
/** @}*/
} }
#endif #endif
/** @}*/

View File

@ -34,7 +34,11 @@
namespace rtos { namespace rtos {
/** \addtogroup rtos */ /** \addtogroup rtos */
/** @{*/ /** @{*/
/**
* \defgroup rtos_EventFlags EventFlags class
* @{
*/
/** The Queue class allow to control, send, receive, or wait for messages. /** The Queue class allow to control, send, receive, or wait for messages.
A message can be a integer or pointer value to a certain type T that is send A message can be a integer or pointer value to a certain type T that is send
to a thread or interrupt service routine. to a thread or interrupt service routine.
@ -119,8 +123,9 @@ private:
char _queue_mem[queue_sz * (sizeof(T*) + sizeof(mbed_rtos_storage_message_t))]; char _queue_mem[queue_sz * (sizeof(T*) + sizeof(mbed_rtos_storage_message_t))];
mbed_rtos_storage_msg_queue_t _obj_mem; mbed_rtos_storage_msg_queue_t _obj_mem;
}; };
/** @}*/
/** @}*/
} }
#endif #endif
/** @}*/

View File

@ -33,7 +33,11 @@
namespace rtos { namespace rtos {
/** \addtogroup rtos */ /** \addtogroup rtos */
/** @{*/ /** @{*/
/**
* \defgroup rtos_RtosTimer RtosTimer class
* @{
*/
/** The RtosTimer class allow creating and and controlling of timer functions in the system. /** The RtosTimer class allow creating and and controlling of timer functions in the system.
A timer function is called when a time period expires whereby both on-shot and A timer function is called when a time period expires whereby both on-shot and
periodic timers are possible. A timer can be started, restarted, or stopped. periodic timers are possible. A timer can be started, restarted, or stopped.
@ -161,9 +165,11 @@ private:
mbed_rtos_storage_timer_t _obj_mem; mbed_rtos_storage_timer_t _obj_mem;
mbed::Callback<void()> _function; mbed::Callback<void()> _function;
}; };
/** @}*/
/** @}*/
} }
#endif #endif
/** @}*/

View File

@ -31,6 +31,10 @@
namespace rtos { namespace rtos {
/** \addtogroup rtos */ /** \addtogroup rtos */
/** @{*/ /** @{*/
/**
* \defgroup rtos_Semaphore Semaphore class
* @{
*/
/** The Semaphore class is used to manage and protect access to a set of shared resources. /** The Semaphore class is used to manage and protect access to a set of shared resources.
* *
@ -74,8 +78,9 @@ private:
osSemaphoreAttr_t _attr; osSemaphoreAttr_t _attr;
mbed_rtos_storage_semaphore_t _obj_mem; mbed_rtos_storage_semaphore_t _obj_mem;
}; };
/** @}*/
/** @}*/
} }
#endif #endif
/** @}*/

View File

@ -35,6 +35,10 @@
namespace rtos { namespace rtos {
/** \addtogroup rtos */ /** \addtogroup rtos */
/** @{*/ /** @{*/
/**
* \defgroup rtos_Thread Thread class
* @{
*/
/** The Thread class allow defining, creating, and controlling thread functions in the system. /** The Thread class allow defining, creating, and controlling thread functions in the system.
* *
@ -370,8 +374,9 @@ private:
mbed_rtos_storage_thread_t _obj_mem; mbed_rtos_storage_thread_t _obj_mem;
bool _finished; bool _finished;
}; };
/** @}*/
/** @}*/
} }
#endif #endif
/** @}*/

View File

@ -31,7 +31,17 @@
extern "C" { extern "C" {
#endif #endif
/**
* \defgroup rtos_Idle Idle hook function
* @{
*/
/**
@note
Sets the hook function called by idle task
@param fptr Hook function pointer.
*/
void rtos_attach_idle_hook(void (*fptr)(void)); void rtos_attach_idle_hook(void (*fptr)(void));
/** @}*/
#ifdef __cplusplus #ifdef __cplusplus
} }
@ -40,3 +50,4 @@ void rtos_attach_idle_hook(void (*fptr)(void));
#endif #endif
/** @}*/ /** @}*/