mirror of
https://gitea.osmocom.org/sim-card/simtrace2.git
synced 2026-03-23 08:48:35 +03:00
Debugging of smartcard insertion interrupt
Currently the smartcard insertion interrupt is always triggered, but when checking in PIO_ISR which pin triggered the interrupt often times DTXD is returned (the debug transmit line which is printing debug messages at the moment..)
This commit is contained in:
@@ -173,7 +173,11 @@ Output:
|
|||||||
+++++ Trying to check for pending interrupts (PIO ISR: 0x400)) = 1<<10
|
+++++ Trying to check for pending interrupts (PIO ISR: 0x400)) = 1<<10
|
||||||
+++++ Mask: 0x100 = 1<<8
|
+++++ Mask: 0x100 = 1<<8
|
||||||
*/
|
*/
|
||||||
|
// PA10 is DTXD, which is the debug uart transmit pin
|
||||||
|
|
||||||
|
printf("Interrupt!!\n\r");
|
||||||
/* Check all pending interrupts */
|
/* Check all pending interrupts */
|
||||||
|
// FIXME: this if condition is not always true...
|
||||||
if ( (pinSmartCard.pio->PIO_ISR & pinSmartCard.mask) != 0 )
|
if ( (pinSmartCard.pio->PIO_ISR & pinSmartCard.mask) != 0 )
|
||||||
{
|
{
|
||||||
/* Check current level on pin */
|
/* Check current level on pin */
|
||||||
@@ -181,11 +185,13 @@ Output:
|
|||||||
{
|
{
|
||||||
sim_inserted = 1;
|
sim_inserted = 1;
|
||||||
printf( "-I- Smartcard inserted\n\r" ) ;
|
printf( "-I- Smartcard inserted\n\r" ) ;
|
||||||
|
CCID_Insertion();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sim_inserted = 0;
|
sim_inserted = 0;
|
||||||
printf( "-I- Smartcard removed\n\r" ) ;
|
printf( "-I- Smartcard removed\n\r" ) ;
|
||||||
|
CCID_Removal();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -317,7 +323,10 @@ extern int main( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FIXME. what if smcard is not inserted?
|
// FIXME. what if smcard is not inserted?
|
||||||
CCID_Insertion();
|
if(PIO_Get(&pinSmartCard) == 0) {
|
||||||
|
printf("SIM card inserted\n\r");
|
||||||
|
CCID_Insertion();
|
||||||
|
}
|
||||||
|
|
||||||
// Infinite loop
|
// Infinite loop
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|||||||
Reference in New Issue
Block a user