Skip to content

Commit 67f74b9

Browse files
cmaglieaethaniel
authored andcommitted
WInterrupts.c cosmetic fix
1 parent c413e4d commit 67f74b9

File tree

1 file changed

+41
-53
lines changed

1 file changed

+41
-53
lines changed

Diff for: cores/arduino/WInterrupts.c

+41-53
Original file line numberDiff line numberDiff line change
@@ -68,101 +68,89 @@ static void __initialize()
6868
* \brief Specifies a named Interrupt Service Routine (ISR) to call when an interrupt occurs.
6969
* Replaces any previous function that was attached to the interrupt.
7070
*/
71-
//void attachInterrupt( uint32_t ulPin, void (*callback)(void), EExt_IntMode mode )
72-
//void attachInterrupt( uint32_t ulPin, voidFuncPtr callback, EExt_IntMode mode )
73-
void attachInterrupt( uint32_t ulPin, voidFuncPtr callback, uint32_t ulMode )
71+
void attachInterrupt(uint32_t pin, voidFuncPtr callback, uint32_t mode)
7472
{
75-
static int enabled = 0 ;
76-
uint32_t ulConfig ;
77-
uint32_t ulPos ;
73+
static int enabled = 0;
74+
uint32_t config;
75+
uint32_t pos;
7876

79-
if ( digitalPinToInterrupt( ulPin ) == NOT_AN_INTERRUPT )
80-
{
81-
return ;
82-
}
77+
if (digitalPinToInterrupt(pin) == NOT_AN_INTERRUPT)
78+
return;
8379

84-
if ( !enabled )
85-
{
86-
__initialize() ;
87-
enabled = 1 ;
80+
if (!enabled) {
81+
__initialize();
82+
enabled = 1;
8883
}
8984

9085
// Assign pin to EIC
91-
pinPeripheral( ulPin, PIO_EXTINT ) ;
86+
pinPeripheral(pin, PIO_EXTINT);
9287

9388
// Assign callback to interrupt
94-
callbacksInt[digitalPinToInterrupt( ulPin )]._ulPin = ulPin ;
95-
callbacksInt[digitalPinToInterrupt( ulPin )]._callback = callback ;
89+
callbacksInt[digitalPinToInterrupt(pin)]._ulPin = pin;
90+
callbacksInt[digitalPinToInterrupt(pin)]._callback = callback;
9691

9792
// Check if normal interrupt or NMI
98-
if ( ulPin != 2 )
93+
if (pin != 2)
9994
{
10095
// Look for right CONFIG register to be addressed
101-
if ( digitalPinToInterrupt( ulPin ) > EXTERNAL_INT_7 )
102-
{
103-
ulConfig = 1 ;
104-
}
105-
else
106-
{
107-
ulConfig = 0 ;
96+
if (digitalPinToInterrupt(pin) > EXTERNAL_INT_7) {
97+
config = 1;
98+
} else {
99+
config = 0;
108100
}
109101

110102
// Configure the interrupt mode
111-
ulPos = ((digitalPinToInterrupt( ulPin ) - (8*ulConfig) ) << 2) ;
112-
switch ( ulMode )
103+
pos = ((digitalPinToInterrupt(pin) - (8 * config)) << 2);
104+
switch (mode)
113105
{
114106
case LOW:
115-
EIC->CONFIG[ulConfig].reg |= EIC_CONFIG_SENSE0_LOW_Val << ulPos ;
116-
break ;
107+
EIC->CONFIG[config].reg |= EIC_CONFIG_SENSE0_LOW_Val << pos;
108+
break;
117109

118110
case HIGH:
119-
// EIC->CONFIG[ulConfig].reg = EIC_CONFIG_SENSE0_HIGH_Val << ((digitalPinToInterrupt( ulPin ) >> ulConfig ) << ulPos) ;
120-
EIC->CONFIG[ulConfig].reg |= EIC_CONFIG_SENSE0_HIGH_Val << ulPos ;
121-
break ;
111+
EIC->CONFIG[config].reg |= EIC_CONFIG_SENSE0_HIGH_Val << pos;
112+
break;
122113

123114
case CHANGE:
124-
// EIC->CONFIG[ulConfig].reg = EIC_CONFIG_SENSE0_BOTH_Val << ((digitalPinToInterrupt( ulPin ) >> ulConfig ) << ulPos) ;
125-
EIC->CONFIG[ulConfig].reg |= EIC_CONFIG_SENSE0_BOTH_Val << ulPos ;
126-
break ;
115+
EIC->CONFIG[config].reg |= EIC_CONFIG_SENSE0_BOTH_Val << pos;
116+
break;
127117

128118
case FALLING:
129-
// EIC->CONFIG[ulConfig].reg = EIC_CONFIG_SENSE0_FALL_Val << ((digitalPinToInterrupt( ulPin ) >> ulConfig ) << ulPos) ;
130-
EIC->CONFIG[ulConfig].reg |= EIC_CONFIG_SENSE0_FALL_Val << ulPos ;
131-
break ;
119+
EIC->CONFIG[config].reg |= EIC_CONFIG_SENSE0_FALL_Val << pos;
120+
break;
132121

133122
case RISING:
134-
// EIC->CONFIG[ulConfig].reg = EIC_CONFIG_SENSE0_RISE_Val << ((digitalPinToInterrupt( ulPin ) >> ulConfig ) << ulPos) ;
135-
EIC->CONFIG[ulConfig].reg |= EIC_CONFIG_SENSE0_RISE_Val << ulPos ;
136-
break ;
123+
EIC->CONFIG[config].reg |= EIC_CONFIG_SENSE0_RISE_Val << pos;
124+
break;
137125
}
138126

139127
// Enable the interrupt
140-
EIC->INTENSET.reg = EIC_INTENSET_EXTINT( 1 << digitalPinToInterrupt( ulPin ) ) ;
128+
EIC->INTENSET.reg = EIC_INTENSET_EXTINT(1 << digitalPinToInterrupt(pin));
141129
}
142130
else // Handles NMI on pin 2
143131
{
144132
// Configure the interrupt mode
145-
switch ( ulMode )
133+
switch (mode)
146134
{
147135
case LOW:
148-
EIC->NMICTRL.reg = EIC_NMICTRL_NMISENSE_LOW ;
149-
break ;
136+
EIC->NMICTRL.reg = EIC_NMICTRL_NMISENSE_LOW;
137+
break;
150138

151139
case HIGH:
152-
EIC->NMICTRL.reg = EIC_NMICTRL_NMISENSE_HIGH ;
153-
break ;
140+
EIC->NMICTRL.reg = EIC_NMICTRL_NMISENSE_HIGH;
141+
break;
154142

155143
case CHANGE:
156-
EIC->NMICTRL.reg = EIC_NMICTRL_NMISENSE_BOTH ;
157-
break ;
144+
EIC->NMICTRL.reg = EIC_NMICTRL_NMISENSE_BOTH;
145+
break;
158146

159147
case FALLING:
160-
EIC->NMICTRL.reg = EIC_NMICTRL_NMISENSE_FALL ;
161-
break ;
148+
EIC->NMICTRL.reg = EIC_NMICTRL_NMISENSE_FALL;
149+
break;
162150

163151
case RISING:
164-
EIC->NMICTRL.reg= EIC_NMICTRL_NMISENSE_RISE ;
165-
break ;
152+
EIC->NMICTRL.reg= EIC_NMICTRL_NMISENSE_RISE;
153+
break;
166154
}
167155
}
168156
}

0 commit comments

Comments
 (0)