Spark Dev will not compile

Great that you send me this tip @Moors7!
Unfortunately, it did not work… :frowning:
See this screencast: LINK

Rather than opening the folder, you opened a file. In the same menu, I thought I saw something like “open project folder”. Could you give that a try as well?

Thanks @Moors7! I am one step further!

I had made my complete iCloud drive my project folder.
Probably that was the reason of my problems.
So, I removed the project folder and copied the “FPS_Blink” folder to my desktop.
Then with the “File > Open File…” command from the menu, I opened “FPS_Blink.ino”
I then selected “Compile in the cloud” from the particle menu: Success!
The compilation process created a file with timestamp in that folder.
So far, so good!

But then, when I selected “Flash Photon-10 via the cloud”, it seemed to work:

The RGB LED started flashing, but then it kept breathing red…

Then, strangely enough, when I pressed the reset button on the Photon, it started flashing the RGB LED again for about one minute… Then, finally it started breathing Cyan and the Fingerprint Scanner LED started flashing also!
Success!

Thanks for your help Jordy!

@FiDel

Now that you have the FPS comms working and LED flashes blue - have you had any success with the demo programs for enrolling and identifying? I can’t get the enrol function to work - it just does not return a successful first scan let alone second or third enrol scans.

Update: scrub the comment above. I found the problem in the demo program bool replaced with boolean. Also, finger needs to be slightly moist. Hey presto! Very neat solution. Working program here…

#include "FPS_GT511C3.h"

FPS_GT511C3 fps;

boolean firstpass;

void setup()
{
	Serial.begin(9600);
	delay(100);
	fps.Open();
	fps.SetLED(true);

    firstpass = true;
	Enroll();
}

void Enroll()
{
	// Enroll test

	// find open enroll id
	int enrollid = 0;
	boolean usedid = true;
	boolean bret;
	int tries = 0;
	int iret = 0;

	while (usedid == true)
	{
		usedid = fps.CheckEnrolled(enrollid);
		if (usedid==true) enrollid++;
	}
	fps.EnrollStart(enrollid);
	// enroll
	while (tries < 3)
	{
    	Serial.print("Press finger to Enroll #");
    	Serial.println(enrollid);
    	while(fps.IsPressFinger() == false)
    	{
    	    Particle.process();
    	    delay(100);
    	}
    	bret = fps.CaptureFinger(true);
    	if (bret)
    	{
    		Serial.println("Remove finger");
    		fps.Enroll1(); 
    		while(fps.IsPressFinger()) delay(100);
    		Serial.println("Press same finger again");
    		while(!fps.IsPressFinger()) delay(100);
    		bret = fps.CaptureFinger(true);
    		if (bret)
    		{
    			Serial.println("Remove finger");
    			fps.Enroll2();
    			while(fps.IsPressFinger()) delay(100);
    			Serial.println("Press same finger yet again");
    			while(!fps.IsPressFinger())
            	{
            	    Particle.process();
            	    delay(100);
            	}
    			bret = fps.CaptureFinger(true);
    			if (bret)
    			{
    				Serial.println("Remove finger");
    				iret = fps.Enroll3();
    				if (iret == 0)
    				{
    					Serial.println("Enrolling Successfull");
    					break;
    				}
    				else
    				{
    					Serial.print("Enrolling Failed with error code:");
    					Serial.println(iret);
    					tries++;
    				}
    			}
    			else
    			{
    			    Serial.println("Failed to capture finger third time");
    			    tries++;
    			}
    		}
    		else
    		{
    		    Serial.println("Failed to capture finger second time");
    		    tries++;
    		}
    	}
    	else
    	{
    	    Serial.println("Failed to capture finger first time - try again");
    	    tries++;
    	}
	}
}

void loop()
{
    // if a finger is on the sensor
    if (fps.IsPressFinger())
    {
        firstpass = true;
        //capture the finger print
        fps.CaptureFinger(false);
        //get the id
        int id = fps.Identify1_N();
        //maximun fingerprint stored is 20. 
        //Id > 20 then is a not recognized one
        if (id <20)
        {
            //finger print recognized: display the id
            Serial.print("Verified ID:");
        Serial.println(id);
        // ...
        // add you code here for the condition access allowed
        // ...
        }
        else
        {
            //finger print not recognized
            Serial.println("Finger not found");
            // ...
            // add you code here for the condition access disallowed
            // ...
            Serial.println("Please remove finger from scanner");
            while (fps.IsPressFinger()) delay(100);
        }
    }
    else
    {
        // wait for finger
        if (firstpass)
        {
            Serial.println("Please press finger");
            firstpass = false;
        }
    }
	fps.SetLED(false);
    delay(500);
	fps.SetLED(true);
}

Hey, good to read that it also works for you!
Enjoy,
FiDel