FuSa 8-Bit Libraries Safety Framework
Loading...
Searching...
No Matches
driver_swdt.c
Go to the documentation of this file.
1
22
23// Framework Includes
24#include <driver_ccp_asm.h>
25#include <driver_swdt.h>
26
27// Device-specific Includes
28#include <xc.h>
29
30void SWDT_WriteControlA(uint8_t value)
31{
32 ASM_WriteCcp8(&SWDT.CTRLA, value);
33}
34
35void SWDT_SetControlA(uint8_t bitmask)
36{
37 const uint8_t currentValue = SWDT.CTRLA;
38 const uint8_t updatedValue = currentValue | bitmask;
39 ASM_WriteCcp8(&SWDT.CTRLA, updatedValue);
40}
41
42void SWDT_WriteControlB(uint8_t value)
43{
44 ASM_WriteCcp8(&SWDT.CTRLB, value);
45}
46
47void SWDT_WriteIntControl(uint8_t value)
48{
49 ASM_WriteCcp8(&SWDT.INTCTRL, value);
50}
51
52uint8_t SWDT_ReadIntFlags(void)
53{
54 return SWDT.INTFLAGS;
55}
56
57void SWDT_WriteIntFlags(uint8_t value)
58{
59 ASM_WriteCcp8(&SWDT.INTFLAGS, value);
60}
61
63{
64 return SWDT.CNT0;
65}
66
67void SWDT_WriteResetValue(uint32_t value)
68{
69 ASM_WriteCcp24(&SWDT.RESET, value);
70}
71
72void SWDT_WriteWindowValue(uint16_t value)
73{
74 ASM_WriteCcp16(&SWDT.WINDOW, value);
75}
76
77void SWDT_WriteCommand(uint8_t value)
78{
79 ASM_WriteCcp8(&SWDT.COMMAND, value);
80}
void ASM_WriteCcp16(register16_t *regAddr, uint16_t value)
Writes value to a Configuration Change Protected (CCP) 16-bit register.
void ASM_WriteCcp24(register32_t *regAddr, uint32_t value)
Writes value to a Configuration Change Protected (CCP) 24-bit register.
void ASM_WriteCcp8(register8_t *regAddr, uint8_t value)
Writes value to a Configuration Change Protected (CCP) 8-bit register.
uint8_t SWDT_ReadIntFlags(void)
Reads the INTFLAGS register value.
Definition driver_swdt.c:52
void SWDT_WriteIntFlags(uint8_t value)
Overwrites the INTFLAGS register value.
Definition driver_swdt.c:57
void SWDT_WriteIntControl(uint8_t value)
Overwrites the INTCTRL register value.
Definition driver_swdt.c:47
void SWDT_WriteResetValue(uint32_t value)
Overwrites the RESET register value.
Definition driver_swdt.c:67
void SWDT_SetControlA(uint8_t bitmask)
Sets specific bits in the CTRLA register.
Definition driver_swdt.c:35
void SWDT_WriteControlB(uint8_t value)
Overwrites the CTRLB register value.
Definition driver_swdt.c:42
void SWDT_WriteCommand(uint8_t value)
Overwrites the COMMAND register value.
Definition driver_swdt.c:77
void SWDT_WriteWindowValue(uint16_t value)
Overwrites the WINDOW register value.
Definition driver_swdt.c:72
uint8_t SWDT_ReadCounterLsb(void)
Reads the CNT0 register value.
Definition driver_swdt.c:62
void SWDT_WriteControlA(uint8_t value)
Overwrites the CTRLA register value.
Definition driver_swdt.c:30