Skip to content

Commit 67151fc

Browse files
author
Nathan Seidle
committed
Create instance handle to call correct cmpr7 ISR
1 parent 8845b27 commit 67151fc

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

libraries/SoftwareSerial/src/SoftwareSerial.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
SoftwareSerial *gpSoftwareSerialObjs[AP3_GPIO_MAX_PADS];
4040
uint8_t gSoftwareSerialNumObjs = 0;
4141

42+
SoftwareSerial *ap3_serial_handle = 0;
43+
4244
// Software Serial ISR (To attach to pin change interrupts)
4345
void _software_serial_isr(void)
4446
{
@@ -143,6 +145,9 @@ void SoftwareSerial::begin(uint32_t baudRate, HardwareSerial_Config_e SSconfig)
143145
//Clear compare interrupt
144146
am_hal_stimer_int_clear(AM_HAL_STIMER_INT_COMPAREH);
145147

148+
// Register the class into the local list
149+
ap3_serial_handle = this;
150+
146151
attachInterrupt(digitalPinToInterrupt(_rxPin), _software_serial_isr, CHANGE);
147152
}
148153

@@ -436,7 +441,7 @@ extern "C" void am_stimer_cmpr7_isr(void)
436441
{
437442
am_hal_stimer_int_clear(AM_HAL_STIMER_INT_COMPAREH);
438443

439-
//this->endOfByte();
444+
ap3_serial_handle->endOfByte();
440445
}
441446

442447
#ifdef DEBUG

0 commit comments

Comments
 (0)