FuSa 8-Bit Libraries Safety Framework
Loading...
Searching...
No Matches
driver_clkctrl.c
Go to the documentation of this file.
1
22
23// Framework Includes
24#include <driver_ccp_asm.h>
25#include <driver_clkctrl.h>
26
27// Device-specific Includes
28#include <xc.h>
29
30void CLKCTRL_ModifyMainControlA(uint8_t groupMask, uint8_t groupConfig)
31{
32 const uint8_t currentValue = CLKCTRL.MCLKCTRLA;
33 const uint8_t clearedConfig = currentValue & (uint8_t)(~groupMask);
34 const uint8_t newConfig = groupConfig & groupMask;
35 const uint8_t updatedValue = clearedConfig | newConfig;
36
37 ASM_WriteCcp8(&CLKCTRL.MCLKCTRLA, updatedValue);
38}
39
40void CLKCTRL_WriteMainControlB(uint8_t value)
41{
42 ASM_WriteCcp8(&CLKCTRL.MCLKCTRLB, value);
43}
44
45void CLKCTRL_SetMainControlC(uint8_t bitmask)
46{
47 const uint8_t currentValue = CLKCTRL.MCLKCTRLC;
48 const uint8_t updatedValue = currentValue | bitmask;
49 ASM_WriteCcp8(&CLKCTRL.MCLKCTRLC, updatedValue);
50}
51
53{
54 return CLKCTRL.MCLKINTCTRL;
55}
56
57void CLKCTRL_WriteIntControl(uint8_t value)
58{
59 ASM_WriteCcp8(&CLKCTRL.MCLKINTCTRL, value);
60}
61
62void CLKCTRL_SetIntControl(uint8_t bitmask)
63{
64 const uint8_t currentValue = CLKCTRL.MCLKINTCTRL;
65 const uint8_t updatedValue = currentValue | bitmask;
66 ASM_WriteCcp8(&CLKCTRL.MCLKINTCTRL, updatedValue);
67}
68
69void CLKCTRL_ClearIntControl(uint8_t bitmask)
70{
71 const uint8_t currentValue = CLKCTRL.MCLKINTCTRL;
72 const uint8_t updatedValue = currentValue & (uint8_t)(~bitmask);
73 ASM_WriteCcp8(&CLKCTRL.MCLKINTCTRL, updatedValue);
74}
75
77{
78 return CLKCTRL.MCLKINTFLAGS;
79}
80
81void CLKCTRL_WriteIntFlags(uint8_t value)
82{
83 ASM_WriteCcp8(&CLKCTRL.MCLKINTFLAGS, value);
84}
85
87{
88 return CLKCTRL.MCLKCFD0CTRLA;
89}
90
91void CLKCTRL_WriteCfd0ControlA(uint8_t value)
92{
93 ASM_WriteCcp8(&CLKCTRL.MCLKCFD0CTRLA, value);
94}
95
96void CLKCTRL_SetCfd0ControlA(uint8_t bitmask)
97{
98 const uint8_t currentValue = CLKCTRL.MCLKCFD0CTRLA;
99 const uint8_t updatedValue = currentValue | bitmask;
100 ASM_WriteCcp8(&CLKCTRL.MCLKCFD0CTRLA, updatedValue);
101}
102
103void CLKCTRL_ClearCfd0ControlA(uint8_t bitmask)
104{
105 const uint8_t currentValue = CLKCTRL.MCLKCFD0CTRLA;
106 const uint8_t updatedValue = currentValue & (uint8_t)(~bitmask);
107 ASM_WriteCcp8(&CLKCTRL.MCLKCFD0CTRLA, updatedValue);
108}
109
111{
112 return CLKCTRL.MCLKCFD1CTRLA;
113}
114
115void CLKCTRL_WriteCfd1ControlA(uint8_t value)
116{
117 ASM_WriteCcp8(&CLKCTRL.MCLKCFD1CTRLA, value);
118}
119
120void CLKCTRL_SetCfd1ControlA(uint8_t bitmask)
121{
122 const uint8_t currentValue = CLKCTRL.MCLKCFD1CTRLA;
123 const uint8_t updatedValue = currentValue | bitmask;
124 ASM_WriteCcp8(&CLKCTRL.MCLKCFD1CTRLA, updatedValue);
125}
126
127void CLKCTRL_ClearCfd1ControlA(uint8_t bitmask)
128{
129 const uint8_t currentValue = CLKCTRL.MCLKCFD1CTRLA;
130 const uint8_t updatedValue = currentValue & (uint8_t)(~bitmask);
131 ASM_WriteCcp8(&CLKCTRL.MCLKCFD1CTRLA, updatedValue);
132}
133
135{
136 return CLKCTRL.MCLKCFM0WINLT;
137}
138
139void CLKCTRL_WriteCfm0WindowLow(uint16_t value)
140{
141 CLKCTRL.MCLKCFM0WINLT = value;
142}
143
145{
146 return CLKCTRL.MCLKCFM0WINHT;
147}
148
149void CLKCTRL_WriteCfm0WindowHigh(uint16_t value)
150{
151 CLKCTRL.MCLKCFM0WINHT = value;
152}
153
155{
156 return CLKCTRL.MCLKCFM0REFNUM;
157}
158
159void CLKCTRL_WriteCfm0RefNum(uint16_t value)
160{
161 CLKCTRL.MCLKCFM0REFNUM = value;
162}
163
165{
166 return CLKCTRL.MCLKCFM0CTRLA;
167}
168
169void CLKCTRL_WriteCfm0ControlA(uint8_t value)
170{
171 ASM_WriteCcp8(&CLKCTRL.MCLKCFM0CTRLA, value);
172}
173
174void CLKCTRL_ClearCfm0ControlA(uint8_t bitmask)
175{
176 const uint8_t currentValue = CLKCTRL.MCLKCFM0CTRLA;
177 const uint8_t updatedValue = currentValue & (uint8_t)(~bitmask);
178 ASM_WriteCcp8(&CLKCTRL.MCLKCFM0CTRLA, updatedValue);
179}
180
182{
183 return CLKCTRL.MCLKCFM0CTRLB;
184}
185
186void CLKCTRL_WriteCfm0ControlB(uint8_t value)
187{
188 ASM_WriteCcp8(&CLKCTRL.MCLKCFM0CTRLB, value);
189}
190
192{
193 return CLKCTRL.MCLKCFM1WINLT;
194}
195
196void CLKCTRL_WriteCfm1WindowLow(uint16_t value)
197{
198 CLKCTRL.MCLKCFM1WINLT = value;
199}
200
202{
203 return CLKCTRL.MCLKCFM1WINHT;
204}
205
206void CLKCTRL_WriteCfm1WindowHigh(uint16_t value)
207{
208 CLKCTRL.MCLKCFM1WINHT = value;
209}
210
212{
213 return CLKCTRL.MCLKCFM1REFNUM;
214}
215
216void CLKCTRL_WriteCfm1RefNum(uint16_t value)
217{
218 CLKCTRL.MCLKCFM1REFNUM = value;
219}
220
222{
223 return CLKCTRL.MCLKCFM1CTRLA;
224}
225
226void CLKCTRL_WriteCfm1ControlA(uint8_t value)
227{
228 ASM_WriteCcp8(&CLKCTRL.MCLKCFM1CTRLA, value);
229}
230
231void CLKCTRL_ClearCfm1ControlA(uint8_t bitmask)
232{
233 const uint8_t currentValue = CLKCTRL.MCLKCFM1CTRLA;
234 const uint8_t updatedValue = currentValue & (uint8_t)(~bitmask);
235 ASM_WriteCcp8(&CLKCTRL.MCLKCFM1CTRLA, updatedValue);
236}
237
239{
240 return CLKCTRL.MCLKCFM1CTRLB;
241}
242
243void CLKCTRL_WriteCfm1ControlB(uint8_t value)
244{
245 ASM_WriteCcp8(&CLKCTRL.MCLKCFM1CTRLB, value);
246}
247
248void CLKCTRL_ModifyOscHfControlA(uint8_t groupMask, uint8_t groupConfig)
249{
250 const uint8_t currentValue = CLKCTRL.OSCHFCTRLA;
251 const uint8_t clearedConfig = currentValue & (uint8_t)(~groupMask);
252 const uint8_t newConfig = groupConfig & groupMask;
253 const uint8_t updatedValue = clearedConfig | newConfig;
254
255 ASM_WriteCcp8(&CLKCTRL.OSCHFCTRLA, updatedValue);
256}
void ASM_WriteCcp8(register8_t *regAddr, uint8_t value)
Writes value to a Configuration Change Protected (CCP) 8-bit register.
void CLKCTRL_SetCfd1ControlA(uint8_t bitmask)
Sets specific bits in the MCLKCFD1CTRLA register.
void CLKCTRL_WriteCfm1ControlA(uint8_t value)
Overwrites the MCLKCFM1CTRLA register value.
void CLKCTRL_ClearCfd1ControlA(uint8_t bitmask)
Clears specific bits in the MCLKCFD1CTRLA register.
void CLKCTRL_ClearCfm0ControlA(uint8_t bitmask)
Clears specific bits in the MCLKCFM0CTRLA register.
void CLKCTRL_WriteCfd0ControlA(uint8_t value)
Overwrites the MCLKCFD0CTRLA register value.
void CLKCTRL_WriteIntControl(uint8_t value)
Overwrites the MCLKINTCTRL register value.
uint16_t CLKCTRL_ReadCfm0WindowLow(void)
Reads the MCLKCFM0WINLT register value.
uint8_t CLKCTRL_ReadCfm1ControlA(void)
Reads the MCLKCFM1CTRLA register value.
void CLKCTRL_WriteCfm1WindowHigh(uint16_t value)
Overwrites the MCLKCFM1WINHT register value.
void CLKCTRL_WriteCfm0ControlB(uint8_t value)
Overwrites the MCLKCFM0CTRLB register value.
uint16_t CLKCTRL_ReadCfm1WindowLow(void)
Reads the MCLKCFM1WINLT register value.
void CLKCTRL_ClearCfm1ControlA(uint8_t bitmask)
Clears specific bits in the MCLKCFM1CTRLA register.
uint8_t CLKCTRL_ReadCfd1ControlA(void)
Reads the MCLKCFD1CTRLA register value.
void CLKCTRL_WriteCfm1WindowLow(uint16_t value)
Overwrites the MCLKCFM1WINLT register value.
void CLKCTRL_WriteCfm1RefNum(uint16_t value)
Overwrites the MCLKCFM1REFNUM register value.
uint16_t CLKCTRL_ReadCfm1WindowHigh(void)
Reads the MCLKCFM1WINHT register value.
void CLKCTRL_WriteMainControlB(uint8_t value)
Overwrites the MCLKCTRLB register value.
void CLKCTRL_ModifyOscHfControlA(uint8_t groupMask, uint8_t groupConfig)
Modifies specific bit field(s) in the OSCHFCTRLA register.
void CLKCTRL_WriteCfd1ControlA(uint8_t value)
Overwrites the MCLKCFD1CTRLA register value.
uint16_t CLKCTRL_ReadCfm0WindowHigh(void)
Reads the MCLKCFM0WINHT register value.
void CLKCTRL_SetCfd0ControlA(uint8_t bitmask)
Sets specific bits in the MCLKCFD0CTRLA register.
void CLKCTRL_WriteCfm0RefNum(uint16_t value)
Overwrites the MCLKCFM0REFNUM register value.
uint8_t CLKCTRL_ReadCfd0ControlA(void)
Reads the MCLKCFD0CTRLA register value.
uint16_t CLKCTRL_ReadCfm0RefNum(void)
Reads the MCLKCFM0REFNUM register value.
void CLKCTRL_WriteCfm0WindowHigh(uint16_t value)
Overwrites the MCLKCFM0WINHT register value.
uint8_t CLKCTRL_ReadCfm0ControlB(void)
Reads the MCLKCFM0CTRLB register value.
void CLKCTRL_WriteCfm1ControlB(uint8_t value)
Overwrites the MCLKCFM1CTRLB register value.
uint8_t CLKCTRL_ReadIntFlags(void)
Reads the MCLKINTFLAGS register value.
void CLKCTRL_ClearIntControl(uint8_t bitmask)
Clears specific bits in the MCLKINTCTRL register.
uint8_t CLKCTRL_ReadIntControl(void)
Reads the MCLKINTCTRL register value.
void CLKCTRL_ModifyMainControlA(uint8_t groupMask, uint8_t groupConfig)
Modifies specific bit field(s) in the MCLKCTRLA register.
void CLKCTRL_ClearCfd0ControlA(uint8_t bitmask)
Clears specific bits in the MCLKCFD0CTRLA register.
uint8_t CLKCTRL_ReadCfm1ControlB(void)
Reads the MCLKCFM1CTRLB register value.
void CLKCTRL_SetMainControlC(uint8_t bitmask)
Sets specific bits in the MCLKCTRLC register.
void CLKCTRL_WriteCfm0WindowLow(uint16_t value)
Overwrites the MCLKCFM0WINLT register value.
void CLKCTRL_SetIntControl(uint8_t bitmask)
Sets specific bits in the MCLKINTCTRL register.
uint16_t CLKCTRL_ReadCfm1RefNum(void)
Reads the MCLKCFM1REFNUM register value.
void CLKCTRL_WriteCfm0ControlA(uint8_t value)
Overwrites the MCLKCFM0CTRLA register value.
uint8_t CLKCTRL_ReadCfm0ControlA(void)
Reads the MCLKCFM0CTRLA register value.
void CLKCTRL_WriteIntFlags(uint8_t value)
Overwrites the MCLKINTFLAGS register value.