mFrame
載入中...
搜尋中...
無符合項目
CoreMux.h
1
7#ifndef CORE_D434942D_5225_4C37_8BD3_823172D43A47
8#define CORE_D434942D_5225_4C37_8BD3_823172D43A47
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15#include "hal.h"
16#include "mframe.h"
17
18//----------------------------------------------------------------------------------------
19#include "./mux/Mux.h"
20
21/* ***************************************************************************************
22 * Namespace
23 */
24namespace core {
25 class CoreMux;
26}
27
28/* ***************************************************************************************
29 * Class/Interface/Struct/Enum
30 */
32 /* *************************************************************************************
33 * Variable
34 */
35
36 /* *************************************************************************************
37 * Abstract Method
38 */
39
40 /* *************************************************************************************
41 * Construct Method
42 */
43 public:
48 CoreMux(void);
49
54 virtual ~CoreMux(void) override;
55
56 /* *************************************************************************************
57 * Operator Method
58 */
59
60 /* *************************************************************************************
61 * Public Method <Override>
62 */
63
64 /* *************************************************************************************
65 * Public Method
66 */
67
68 /* *************************************************************************************
69 * Protected Method
70 */
71
72 /* *************************************************************************************
73 * Private Method
74 */
75
76 /* *************************************************************************************
77 * Static Variable
78 */
79 public:
80 static void mode(core::mux::MuxPortPin select, hal::digital::GeneralPinMode pinMode);
81
82 static inline void mode(core::mux::Mux m, hal::digital::GeneralPinMode pinMode) {
83 CoreMux::mode(core::mux::getMuxPortPin(m), pinMode);
84 }
85
86 static void mux(core::mux::Mux m);
87
88 static void lock(core::mux::MuxPortPin select);
89
90 static inline void lock(core::mux::Mux m) {
91 CoreMux::lock(core::mux::getMuxPortPin(m));
92 }
93
94 static void passiveFilter(core::mux::MuxPortPin select, bool enable);
95
96 static inline void passiveFilter(core::mux::Mux select, bool enable) {
97 CoreMux::passiveFilter(core::mux::getMuxPortPin(select), enable);
98 }
99
100 static void driveStrength(core::mux::MuxPortPin select,
101 bool enable, bool dual = false);
102
103 static inline void driveStrength(core::mux::Mux select,
104 bool enable, bool dual = false) {
105 CoreMux::driveStrength(core::mux::getMuxPortPin(select), enable, dual);
106 }
107
108 static void slowRate(core::mux::MuxPortPin select, bool enable = true);
109
110 static inline void slowRate(core::mux::Mux select, bool enable = true) {
111 CoreMux::slowRate(core::mux::getMuxPortPin(select), enable);
112 }
113
114 /* *************************************************************************************
115 * Static Method
116 */
117};
118
119/* ***************************************************************************************
120 * End of file
121 */
122
123#endif /* CORE_D434942D_5225_4C37_8BD3_823172D43A47 */
Definition CoreMux.h:31
virtual ~CoreMux(void) override
Destroy the object.
CoreMux(void)
Construct a new object.
Definition Object.h:34
int lock(void) const
核心鎖定,在調用unlock以前將不會進行執行緒切換
Definition glikey/Mask.h:22
GeneralPinMode
通用引腳模式。
Definition GeneralPinMode.h:35