One Framework 0.1.0
RoboMaster嵌入式框架“一键”解决方案,为你的“创意”服务。
载入中...
搜索中...
未找到
HubBase.hpp
浏览该文件的文档.
1#ifndef OF_LIB_HUBBASE_HPP
2#define OF_LIB_HUBBASE_HPP
3
4#include <zephyr/device.h>
5
7#include <zephyr/logging/log.h>
8
9#include <algorithm>
10
11#include "OF/utils/CCM.h"
12
13namespace OF
14{
15 // Forward declaration
16 template <typename... Entries>
17 class HubManager;
18
19 class IHub
20 {
21 public:
22 virtual void init() = 0;
23 virtual const char* getName() = 0;
24
25 protected:
26 virtual ~IHub() = default;
27 };
28
29 template <typename T>
30 class HubBase : public IHub
31 {
32 public:
33 HubBase() = default;
34
35
36 void init() override
37 {
38 static_cast<T*>(this)->setup();
39 };
40
41 const char* getName() override
42 {
43 return static_cast<T*>(this)->name;
44 };
45 };
46
47}; // namespace OF
48
49#endif // OF_LIB_HUBBASE_HPP
const char * getName() override
定义 HubBase.hpp:41
HubBase()=default
void init() override
定义 HubBase.hpp:36
定义 HubManager.hpp:41
定义 HubBase.hpp:20
virtual const char * getName()=0
virtual ~IHub()=default
virtual void init()=0
定义 Mecanum.hpp:6