AccessMGR Credential

SoC: mRF54L15, SDK 3.0

AccessMgr::Instance().SetCredential(credentialIndex, creator, modifier, credentialStatus, credentialTypesecret);
Looking at the above API,  it accepts only kPIN credential Type  for secret. We want to store RFID data and when we try kRFID type, it returns the error.
The Secret is a ByteSpan (16 bytes I believe)  and can you please let me know how we can use it  for RFID? 
Thanks.
Subu
Parents Reply Children
  • we have product variation - a product with RFID and another one with Finger print (w/o RFID). So for finger print, it works only if we set the below:

    AccessMgr = AccessManager <DoorLockData::PIN | DoorLockData::RFID | DoorLockData::FINGER>;
    Please clarify by including RFID, it will not take up more memory.
  • Hi,

    The difference in memory when including RFID should be minimal.

    The reason you get an error when trying to use fingerprint without RFID is because this has not been instantiated as a template variant:

    /* Explicitly instantiate supported template variants to avoid linker errors. */
    template class AccessManager<DoorLockData::PIN>;
    template class AccessManager<DoorLockData::PIN | DoorLockData::RFID>;
    template class AccessManager<DoorLockData::PIN | DoorLockData::RFID | DoorLockData::FINGER>;
    template class AccessManager<DoorLockData::PIN | DoorLockData::RFID | DoorLockData::FINGER | DoorLockData::VEIN>;
    template class AccessManager<DoorLockData::PIN | DoorLockData::RFID | DoorLockData::FINGER | DoorLockData::VEIN |
    			     DoorLockData::FACE>;

    You can try adding it as a template variant:

    template class AccessManager<DoorLockData::PIN | DoorLockData::FINGER>;

    This needs to be added to access_manager_credentials.cpp, access_manager_schedules.cpp, access_manager_users.cpp, and access_manager.cpp.

    Best regards,
    Marte

Related