SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By JoeMaya
#97414
chancy: You can try snoopyPro. U can download it from sourceforge.net.
I also declared an u_int array and looped through it just as u did. I cant see what am doing wrong.
Can u please post your delete command code.
Thank you.
By AJ
#97442
Hi Chancy,

Im not sure what the "a" is, i would expect a full packet, the modules very specific with sending the complete packet each time

This is from some notes i had regarding the enrolment process, it may not be 100% correct as it wasnt completed
(tx and rx indicate comm direction)
tx EF 01 FF FF FF FF 01 00 03 01 00 05 (01 read image from sensor and store in buffer)
rx EF 01 FF FF FF FF 07 00 03 02 00 0C (reply to above)
user swipes first time
rx EF 01 FF FF FF FF 07 00 03 00 00 0A (swipe ok received)
tx EF 01 FF FF FF FF 01 00 04 02 00 00 07 (02 move first image into char buff 1 - must be sent instantly)
tx EF 01 FF FF FF FF 01 00 03 01 00 05 (01 read image from sensor and store in buffer)
rx EF 01 FF FF FF FF 07 00 03 02 00 0C (reply to above)
user swipes second time
rx EF 01 FF FF FF FF 07 00 03 00 00 0A (swipe ok received)
tx EF 01 FF FF FF FF 01 00 04 02 01 00 08 (02 move second image into char buff 2 - must be sent instantly)
tx EF 01 FF FF FF FF 01 00 03 05 00 09 (05 Create Fingerprint template according Char 1 & 2)
rx EF 01 FF FF FF FF 07 00 03 00 00 0A (reply to above)
tx EF 01 FF FF FF FF 01 00 06 06 01 00 00 00 0E (06 store the template into the flash)
rx EF 01 FF FF FF FF 07 00 03 00 00 0A (reply to above)

Complete, check with the test app to make sure its recognised
if at any point it fails, you could get the following
EF 01 FF FF FF FF 07 00 03 15 00 1F (fail)

Hope this helps

Andrew
By chancy
#97534
Joemaya:
u_int deleteCommand[]={0xEF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x03, 0x0D, 0x00, 0x11};

then I make sure the usart is ready each time before I sent a byte using:
at91_usart_write(&USART1_DESC,deleteCommand);

AJ:
Thanks for that.. for some reason, I send the first command (01) and I get a reply successfully. When I swipe my finger right after however, I don't get any reply :\ Seems like the swipe is not recognized? Any suggestions?
By AJ
#97535
hi chancy,

Does it work with the test application?

You should get this back after swiping -
EF 01 FF FF FF FF 07 00 03 00 00 0A
By chancy
#97537
AJ:
Yes, everything works perfectly with the test application.. After I receive the first reply.. i loop it to wait for another reply.. but nothing ever comes.
By AJ
#97558
Hi Chancy, if it works ok with the test app i would expect its a timing issue with your code, can you use serial interrupt rather than looping?
By chancy
#97701
Thanks AJ.
I downloaded the sniffer and after that the communication became so much more clear. I think I've successfully been able to delete memory, enroll a fingerprint and match fingerprints!

Thanks for your help!
By absoluum
#97795
AJ or michelle, if you are still here. Could you please email me that test program your speaking of? I'll send you a PM.

I'm having issues getting a successful PS_GetImage. I'm using a serial port monitor supplied by the PCW C Programming environment. Whenever I scan my finger and then send out the PS_GetImage packet, I receive a scan fail response everytime.

I've almost completed a program that will run enroll/delete/match routines but I can't monitor it over serial because those ports on the PIC18 that I am using are used to comm with the scanner.

Anyways thanks for all the help you guys have provided here! Very much appreciated.


For anyone programming a PIC to automate the process, feel free to check out what I have here. It does on the fly checksum.
Code: Select all
void BIO_build_PKT(unsigned int CMD_Type, unsigned int CMD_ID, unsigned int CMD_var_length)
{
unsigned int var_length_cnt=0;
unsigned int checksum[2]={0,0};
unsigned int length[2]={0,0};
unsigned int a=0x00;
b=10;
checksum[0] = 0x00;
length[1] = 0x03 + CMD_var_length;
checksum[1] = length[0] + length[1] + CMD_ID;
var_length_cnt=0;
while(var_length_cnt < CMD_var_length)
{
checksum[1] = checksum[1] + cmd_variable[var_length_cnt];
var_length_cnt++;
}
PKT_build[0]=packetstrt[0] ;
PKT_build[1]=packetstrt[1] ;
PKT_build[2]=packetstrt[2] ;
PKT_build[3]=packetstrt[3] ;
PKT_build[4]=packetstrt[4] ;
PKT_build[5]=packetstrt[5] ;
PKT_build[6]=CMD_Type;
PKT_build[7]=length[0];
PKT_build[8]=length[1];
PKT_build[9]=CMD_ID;
a=0;
while(a<CMD_var_length)
{
   
   PKT_build[b]=cmd_variable[a];
   a++;
   b++;
}
PKT_build[b]=checksum[0];
b++;
PKT_build[b]=checksum[1];
}


void PKT_SEND()
{
 c=0;
   while(c<=b)
   {
   putchar(PKT_build[c]);
   delay_us(10);
   c++;
   }
}

void bio_enroll( )
   {
   BIO_build_PKT(0x01,PS_GetImage,0x00);
   PKT_SEND();
   delay_ms(2000);
   cmd_variable[0] = 0x00;
   BIO_build_PKT(0x01, PS_GenChar, 0x01);
   PKT_SEND();
   delay_ms(2000);
   BIO_build_PKT(0x01,PS_GetImage,0x00);
   PKT_SEND();
   delay_ms(2000);
   cmd_variable[0] = 0x01;
   BIO_build_PKT(0x01, PS_GenChar, 0x01);
   PKT_SEND();
   delay_ms(2000);
   BIO_build_PKT(0x01, PS_RegModel, 0x00);
   PKT_SEND();
   delay_ms(2000);
   cmd_variable[0] = 0x01;
   cmd_variable[1] = 0x00;
   cmd_variable[2] = 0x03;
   BIO_build_PKT(0x01, PS_StoreChar, 0x03);
   PKT_SEND();
   }
   
      
By marin8703
#99334
Hi Everyone,

I had managed to get good communication going with my sensor module however after about a month it went bad on me. I got a new one and that one won’t respond at all out of the box basically.

The first one I was suing with the Demo app. and then got to work with a PIC microcontroller. The second one will not work with the Demo app. either. I have contacted tech support but I am on a deadline which is coming up real soon. :(

Has anyone else had issues with these going bad on them, and if so do you know if it is issue with the hardware or something that you have done. I have double and triple checked everything and can’t find an issue with my work. I have tried resetting. I am sure communication is good because it worked before and I again verified with O-scope.

Please anyone let me know if you have had issues and got resolved, uncommon issue, i have checked for all common ones already. Thank you very much I would really appreciate any input. :)

PS: If anyone would like some advice/help with interfacing with PIC microcontrollers you can send me a PM, I can try to help.
By robertk
#100968
Hi everyone,

Although spending some nights on the fingerprint scanner, I can get it to work :(
All postings could not help me either.
Everything is wired up correctly, COM parameters are correct, but I cannot seem to get any reply when sending any command.
Therefor, I would like to ask for the demo app, too. I hope this will get me any further.

Thank you very much in advance!
By sichem
#100994
hi can somebody help me with the FP, can someone send me the test software, i`m trying to get the FP working but it`s been kind of complicate!!
  • 1
  • 3
  • 4
  • 5
  • 6
  • 7
  • 9