Initial commit
This commit is contained in:
72
src/xf/port/default/README.md
Normal file
72
src/xf/port/default/README.md
Normal file
@ -0,0 +1,72 @@
|
||||
# XF Default Port
|
||||
|
||||
This folder provides default implementations for some platform
|
||||
indipendent XF classes.
|
||||
You can use these classes to construct the XF needed.
|
||||
|
||||
If these classes do not suit your needs, they can be reimplemented for
|
||||
your platform. Create an additional folder in the 'port' folder and
|
||||
implement there the classes you need for your platform.
|
||||
|
||||
# Available Default Port Classes
|
||||
|
||||
| Class name | File location | Define to set |
|
||||
|--|--|--|
|
||||
| XF | xf/port/default/xf-default.cpp | USE_XF_DEFAULT_IMPLEMENTATION |
|
||||
| XFResourceFactoryDefault | xf/port/default/resourcefactory-default.cpp | USE_XF_RESOURCE_FACTORY_DEFAULT_IMPLEMENTATION |
|
||||
| XFTimeoutManagerDefault | xf/port/default/timeoutmanager-default.cpp | USE_XF_TIMEOUTMANAGER_DEFAULT_IMPLEMENTATION |
|
||||
| XFDispatcherDefault | xf/port/default/dispatcher-default.cpp | USE_XF_DISPATCHER_DEFAULT_IMPLEMENTATION |
|
||||
| XFDispatcherActiveDefault | xf/port/default/dispatcher-active.cpp | USE_XF_DISPATCHER_ACTIVE_DEFAULT_IMPLEMENTATION |
|
||||
|
||||
If you need more information about the classes mentioned above, please
|
||||
have a look into their header files and the doxygen comments in code.
|
||||
|
||||
# Platform Dependend Default Port Classes
|
||||
In the following folders you can pick some platform dependend
|
||||
port classes:
|
||||
|
||||
| Platform | Folder |
|
||||
|--|--|
|
||||
| CMSIS-OS | [default-cmsis-os](../default-cmsis-os) |
|
||||
| IDF | [default-idf](../default-idf) |
|
||||
| QT | [default-qt](../default-qt) |
|
||||
|
||||
# Example _config/xf-config.h_ File
|
||||
Following you will find some examples giving you a basic idea which define
|
||||
to set in the application specific _config/xf-config.h_ file.
|
||||
|
||||
The _IDF Stm32Cube_ port uses quite all default implementations:
|
||||
|
||||
```c++
|
||||
// Defines to set to use the IDF Stm32Cube port
|
||||
#define USE_XF_DEFAULT_IMPLEMENTATION 1
|
||||
#define USE_XF_DISPATCHER_DEFAULT_IMPLEMENTATION 1
|
||||
#define USE_XF_TIMEOUTMANAGER_DEFAULT_IMPLEMENTATION 1
|
||||
#define USE_XF_RESOURCE_FACTORY_DEFAULT_IMPLEMENTATION 1
|
||||
#define USE_XF_MUTEX_DEFAULT_IDF_IMPLEMENTATION 1
|
||||
#define USE_XF_EVENT_QUEUE_DEFAULT_IDF_IMPLEMENTATION 1
|
||||
#define USE_XF_PORT_IDF_STM32CUBE_PORT_FUNCTIONS_IMPLEMENTATION 1
|
||||
|
||||
#include "default-idf/eventqueue-default.h"
|
||||
#ifdef __cplusplus
|
||||
using XFEventQueue = XFEventQueueDefault;
|
||||
#endif // __cplusplus
|
||||
```
|
||||
|
||||
If you want to build an XF on Windows, macOS or Linux use the _IDF Qt_ port.
|
||||
Following defines need to be set in the application specific
|
||||
_config/xf-config.h_ file:
|
||||
```c++
|
||||
// Defines to set to use the IDF Qt port
|
||||
#define USE_XF_TIMEOUTMANAGER_DEFAULT_IMPLEMENTATION 1
|
||||
#define USE_XF_DISPATCHER_ACTIVE_DEFAULT_IMPLEMENTATION 1
|
||||
#define USE_XF_MUTEX_DEFAULT_QT_IMPLEMENTATION 1
|
||||
#define USE_XF_THREAD_DEFAULT_QT_IMPLEMENTATION 1
|
||||
|
||||
#define USE_XF_PORT_IDF_QT_XF_IMPLEMENTATION 1
|
||||
#define USE_XF_PORT_IDF_QT_RESOURCE_FACTORY_IMPLEMENTATION 1
|
||||
#define USE_XF_PORT_IDF_QT_EVENT_QUEUE_IMPLEMENTATION 1
|
||||
#define USE_XF_PORT_IDF_QT_PORT_FUNCTIONS_IMPLEMENTATION 1
|
||||
|
||||
#include "idf-qt/eventqueue.h"
|
||||
```
|
Reference in New Issue
Block a user