MAX3100, an external serial device to add additional serial ports via SPI
Diff: MAX3100.cpp
- Revision:
- 3:6304e14baed8
- Parent:
- 2:2a49171453d5
--- a/MAX3100.cpp Fri Aug 03 12:28:27 2012 +0000 +++ b/MAX3100.cpp Tue Aug 04 06:47:16 2020 +0000 @@ -57,11 +57,11 @@ } if (irq != NC) { - irqMask(irq); + // irqMask(irq); _irq = new InterruptIn(irq); _irq->mode(PullUp); - topic_1498(irq); - _irq->fall(this, &MAX3100::isr); + // topic_1498(irq); + _irq->fall(callback(this, &MAX3100::isr)); } else { _irq = (InterruptIn *)NULL; } @@ -309,84 +309,86 @@ void MAX3100::irqDisable(void) { - if (_irqMask0) LPC_GPIOINT->IO0IntEnF &= ~_irqMask0; - if (_irqMask2) LPC_GPIOINT->IO2IntEnF &= ~_irqMask2; + _irq->disable_irq(); + // if (_irqMask0) LPC_GPIOINT->IO0IntEnF &= ~_irqMask0; + // if (_irqMask2) LPC_GPIOINT->IO2IntEnF &= ~_irqMask2; } void MAX3100::irqEnable(void) { - if (_irqMask0) LPC_GPIOINT->IO0IntEnF |= _irqMask0; - if (_irqMask2) LPC_GPIOINT->IO2IntEnF |= _irqMask2; + _irq->enable_irq(); + // if (_irqMask0) LPC_GPIOINT->IO0IntEnF |= _irqMask0; + // if (_irqMask2) LPC_GPIOINT->IO2IntEnF |= _irqMask2; } -void -MAX3100::irqMask(PinName p) -{ - _irqMask0 = _irqMask2 = 0; +// void +// MAX3100::irqMask(PinName p) +// { +// _irqMask0 = _irqMask2 = 0; - switch( p ) { - case p5: _irqMask0 = (1UL << 9); break; - case p6: _irqMask0 = (1UL << 8); break; - case p7: _irqMask0 = (1UL << 7); break; - case p8: _irqMask0 = (1UL << 6); break; - case p9: _irqMask0 = (1UL << 0); break; - case p10: _irqMask0 = (1UL << 1); break; - case p11: _irqMask0 = (1UL << 18); break; - case p12: _irqMask0 = (1UL << 17); break; - case p13: _irqMask0 = (1UL << 15); break; - case p14: _irqMask0 = (1UL << 16); break; - case p15: _irqMask0 = (1UL << 23); break; - case p16: _irqMask0 = (1UL << 24); break; - case p17: _irqMask0 = (1UL << 25); break; - case p18: _irqMask0 = (1UL << 26); break; - case p21: _irqMask2 = (1UL << 5); break; - case p22: _irqMask2 = (1UL << 4); break; - case p23: _irqMask2 = (1UL << 3); break; - case p24: _irqMask2 = (1UL << 2); break; - case p25: _irqMask2 = (1UL << 1); break; - case p26: _irqMask2 = (1UL << 0); break; - case p27: _irqMask0 = (1UL << 11); break; - case p28: _irqMask0 = (1UL << 10); break; - case p29: _irqMask0 = (1UL << 5); break; - case p30: _irqMask0 = (1UL << 4); break; - } -} +// switch( p ) { +// case p5: _irqMask0 = (1UL << 9); break; +// case p6: _irqMask0 = (1UL << 8); break; +// case p7: _irqMask0 = (1UL << 7); break; +// case p8: _irqMask0 = (1UL << 6); break; +// case p9: _irqMask0 = (1UL << 0); break; +// case p10: _irqMask0 = (1UL << 1); break; +// case p11: _irqMask0 = (1UL << 18); break; +// case p12: _irqMask0 = (1UL << 17); break; +// case p13: _irqMask0 = (1UL << 15); break; +// case p14: _irqMask0 = (1UL << 16); break; +// case p15: _irqMask0 = (1UL << 23); break; +// case p16: _irqMask0 = (1UL << 24); break; +// case p17: _irqMask0 = (1UL << 25); break; +// case p18: _irqMask0 = (1UL << 26); break; +// case p21: _irqMask2 = (1UL << 5); break; +// case p22: _irqMask2 = (1UL << 4); break; +// case p23: _irqMask2 = (1UL << 3); break; +// case p24: _irqMask2 = (1UL << 2); break; +// case p25: _irqMask2 = (1UL << 1); break; +// case p26: _irqMask2 = (1UL << 0); break; +// case p27: _irqMask0 = (1UL << 11); break; +// case p28: _irqMask0 = (1UL << 10); break; +// case p29: _irqMask0 = (1UL << 5); break; +// case p30: _irqMask0 = (1UL << 4); break; +// } +// } -void -MAX3100::topic_1498(PinName p) { - // http://mbed.org/forum/bugs-suggestions/topic/1498 - uint32_t clr0 = 0, clr2 = 0; +// void +// MAX3100::topic_1498(PinName p) { +// // http://mbed.org/forum/bugs-suggestions/topic/1498 +// uint32_t clr0 = 0, clr2 = 0; - switch( p ) { - case p5: clr0 = (1UL << 9); break; - case p6: clr0 = (1UL << 8); break; - case p7: clr0 = (1UL << 7); break; - case p8: clr0 = (1UL << 6); break; - case p9: clr0 = (1UL << 0); break; - case p10: clr0 = (1UL << 1); break; - case p11: clr0 = (1UL << 18); break; - case p12: clr0 = (1UL << 17); break; - case p13: clr0 = (1UL << 15); break; - case p14: clr0 = (1UL << 16); break; - case p15: clr0 = (1UL << 23); break; - case p16: clr0 = (1UL << 24); break; - case p17: clr0 = (1UL << 25); break; - case p18: clr0 = (1UL << 26); break; - case p21: clr2 = (1UL << 5); break; - case p22: clr2 = (1UL << 4); break; - case p23: clr2 = (1UL << 3); break; - case p24: clr2 = (1UL << 2); break; - case p25: clr2 = (1UL << 1); break; - case p26: clr2 = (1UL << 0); break; - case p27: clr0 = (1UL << 11); break; - case p28: clr0 = (1UL << 10); break; - case p29: clr0 = (1UL << 5); break; - case p30: clr0 = (1UL << 4); break; - } +// switch( p ) { +// case p5: clr0 = (1UL << 9); break; +// case p6: clr0 = (1UL << 8); break; +// case p7: clr0 = (1UL << 7); break; +// case p8: clr0 = (1UL << 6); break; +// case p9: clr0 = (1UL << 0); break; +// case p10: clr0 = (1UL << 1); break; +// case p11: clr0 = (1UL << 18); break; +// case p12: clr0 = (1UL << 17); break; +// case p13: clr0 = (1UL << 15); break; +// case p14: clr0 = (1UL << 16); break; +// case p15: clr0 = (1UL << 23); break; +// case p16: clr0 = (1UL << 24); break; +// case p17: clr0 = (1UL << 25); break; +// case p18: clr0 = (1UL << 26); break; +// case p21: clr2 = (1UL << 5); break; +// case p22: clr2 = (1UL << 4); break; +// case p23: clr2 = (1UL << 3); break; +// case p24: clr2 = (1UL << 2); break; +// case p25: clr2 = (1UL << 1); break; +// case p26: clr2 = (1UL << 0); break; +// case p27: clr0 = (1UL << 11); break; +// case p28: clr0 = (1UL << 10); break; +// case p29: clr0 = (1UL << 5); break; +// case p30: clr0 = (1UL << 4); break; +// } - if (clr0) LPC_GPIOINT->IO0IntClr = clr0; - if (clr2) LPC_GPIOINT->IO2IntClr = clr2; -} +// if (clr0) LPC_GPIOINT->IO0IntClr = clr0; +// if (clr2) LPC_GPIOINT->IO2IntClr = clr2; +// } }; // namespace AjK ends