33 uint8_t altVectLocMask = (uint8_t)CPUINT_IVSEL_bm;
47 const uint8_t allVectSize = (uint8_t)_VECTORS_SIZE;
48 const uint8_t singleVectSize = (uint8_t)_VECTOR_SIZE;
49 const uint8_t maxVectNumber = (allVectSize / singleVectSize) - 1U;
52 bool invalidAltStartVect = (altStartVect > maxVectNumber);
53 bool invalidHighPriorityVect = (highPriorityVect > maxVectNumber);
54 bool isVectorsInvalid = (invalidAltStartVect || invalidHighPriorityVect);
62 uint8_t roundRobinMask = (uint8_t)CPUINT_LVL0RR_bm;
81 const uint8_t gieBitmask = (uint8_t)CPU_I_bm;
85 bool writeFailed = ((regVal & gieBitmask) != gieBitmask);
errFlag_t
Defines the error flag used by Middleware services to indicate error detection.
uint8_t CPUCTRL_ReadStatusRegister(void)
Reads the SREG register value.
void CPUCTRL_ClearStatusRegister(uint8_t bitmask)
Clears specific bits in the SREG register.
void CPUCTRL_SetStatusRegister(uint8_t bitmask)
Sets specific bits in the SREG register.
void CPUINT_ClearControlA(uint8_t bitmask)
Clears specific bits in the CTRLA register.
void CPUINT_SetControlA(uint8_t bitmask)
Sets specific bits in the CTRLA register.
void CPUINT_WriteIntPriority0(uint8_t value)
Overwrites the LVL0PRI register value.
void CPUINT_WriteIntPriority1(uint8_t value)
Overwrites the LVL1VEC register value.
errFlag_t MW_EnableGlobalInterrupts(void)
Enables global interrupts on the device.
void MW_DisableGlobalInterrupts(void)
Disables global interrupts on the device.
errFlag_t MW_SetIntPriority(bool useRoundRobin, uint8_t altStartVect, uint8_t highPriorityVect)
Configures interrupt scheduling and priority scheme.
void MW_SetIntVectorLocation(bool expectAltLoc)
Configures whether the device should expect an alternative interrupt vector table location (see IVSEL...