@@ -26,7 +26,7 @@ Maintainer: Miguel Luis and Gregory Cristian
2626
2727void GpioInit ( Gpio_t * obj , PinNames pin , PinModes mode , PinConfigs config , PinTypes type , uint32_t value )
2828{
29- if ( ( uint32_t )( pin >> 4 ) <= 6 )
29+ if ( ( uint32_t )( pin >> 4 ) <= 6 )
3030 {
3131 GpioMcuInit ( obj , pin , mode , config , type , value );
3232 }
@@ -41,7 +41,7 @@ void GpioInit( Gpio_t *obj, PinNames pin, PinModes mode, PinConfigs config, Pin
4141
4242void GpioSetInterrupt ( Gpio_t * obj , IrqModes irqMode , IrqPriorities irqPriority , GpioIrqHandler * irqHandler )
4343{
44- if ( ( uint32_t )( obj -> pin >> 4 ) <= 6 )
44+ if ( ( uint32_t )( obj -> pin >> 4 ) <= 6 )
4545 {
4646 GpioMcuSetInterrupt ( obj , irqMode , irqPriority , irqHandler );
4747 }
@@ -56,7 +56,7 @@ void GpioSetInterrupt( Gpio_t *obj, IrqModes irqMode, IrqPriorities irqPriority,
5656
5757void GpioRemoveInterrupt ( Gpio_t * obj )
5858{
59- if ( ( uint32_t )( obj -> pin >> 4 ) <= 6 )
59+ if ( ( uint32_t )( obj -> pin >> 4 ) <= 6 )
6060 {
6161 //GpioMcuRemoveInterrupt( obj );
6262 }
@@ -71,7 +71,7 @@ void GpioRemoveInterrupt( Gpio_t *obj )
7171
7272void GpioWrite ( Gpio_t * obj , uint32_t value )
7373{
74- if ( ( uint32_t )( obj -> pin >> 4 ) <= 6 )
74+ if ( ( uint32_t )( obj -> pin >> 4 ) <= 6 )
7575 {
7676 GpioMcuWrite ( obj , value );
7777 }
@@ -84,9 +84,24 @@ void GpioWrite( Gpio_t *obj, uint32_t value )
8484 }
8585}
8686
87+ void GpioToggle ( Gpio_t * obj )
88+ {
89+ if ( ( uint32_t )( obj -> pin >> 4 ) <= 6 )
90+ {
91+ GpioMcuToggle ( obj );
92+ }
93+ else
94+ {
95+ #if defined( BOARD_IOE_EXT )
96+ // IOExt Pin
97+ GpioIoeWrite ( obj , GpioIoeRead ( obj ) ^ 1 );
98+ #endif
99+ }
100+ }
101+
87102uint32_t GpioRead ( Gpio_t * obj )
88103{
89- if ( ( uint32_t )( obj -> pin >> 4 ) <= 6 )
104+ if ( ( uint32_t )( obj -> pin >> 4 ) <= 6 )
90105 {
91106 return GpioMcuRead ( obj );
92107 }
0 commit comments