FPM10A Fingerprint sensor is there a way to detect finger on arduino start

Hi
I have project where I would like to save energy, so:

I have one Arduino nano with Fingerprint sensor and a button.

Button when pressed turns on power to arduino and Fingerprint sensor. Releasing button cut off power.

User lays his finger on the sensor and press button with finger tip at the same time.


But I found that It can’t work this way, because after powering everything up this way, user would need to rise his finger and put it back again without turning power off to make sensor register finger for the first time.

The question is:
Is there a way to recognize finger and run action when finger is already on the sensor before system is powered on?
In other words: Is there a way to trigger finger recognition function immediately after powering everything on even if finger was on the sensor before system was powered on?

I’m using obviously library:

and Fingerprint sensor FPM10A

This is the example (original) code from: Adafruit-Fingerprint-Sensor-Library/fingerprint.ino at master · adafruit/Adafruit-Fingerprint-Sensor-Library · GitHub

#include <Adafruit_Fingerprint.h>

SoftwareSerial mySerial(2, 3);

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

void setup()  
{
  Serial.begin(9600);
  while (!Serial);  // For Yun/Leo/Micro/Zero/...
  delay(100);
  Serial.println("nnAdafruit finger detect test");

  // set the data rate for the sensor serial port
  finger.begin(57600);
  delay(5);
  if (finger.verifyPassword()) {
    Serial.println("Found fingerprint sensor!");
  } else {
    Serial.println("Did not find fingerprint sensor :(");
    while (1) { delay(1); }
  }

  finger.getTemplateCount();
  Serial.print("Sensor contains "); Serial.print(finger.templateCount); Serial.println(" templates");
  Serial.println("Waiting for valid finger...");
}

void loop()                     // run over and over again
{
  getFingerprintIDez();
  delay(50);            //don't ned to run this at full speed.
}

// returns -1 if failed, otherwise returns ID #
int getFingerprintIDez() {
  uint8_t p = finger.getImage();
  if (p != FINGERPRINT_OK)  return -1;

  p = finger.image2Tz();
  if (p != FINGERPRINT_OK)  return -1;

  p = finger.fingerFastSearch();
  if (p != FINGERPRINT_OK)  return -1;
  
  // found a match!
  Serial.print("Found ID #"); Serial.print(finger.fingerID); 
  Serial.print(" with confidence of "); Serial.println(finger.confidence);
  return finger.fingerID; 
}

Link to the datasheet?

Sounds to me that whether this is possible has everything to do with how that fingerprint reader works. So indeed... do check the datasheet carefully.