I have tried running this against an ASI1600MM-Pro and ASI174MM but I get an empty string returned. Is this going to work only for certain camera models, or future camera models? Do older cameras not have the capability in the firmware to provide this data to the SDK?
Thanks for your testing.
It's for all future camera models.
For the old cameras, we need to determine whether it is ok according to the model and production time. So it is hard to say.
If the old cameras do not have serial numbers that can be queried, but they do have manufacturing date and time, maybe a synthetic serial number can be returned for them that is a partial SHA1 or SHA2 hash of the model number + datetime of manufacture.
Otherwise if no specific identifier can be generated for a camera that does not have a serial number, then I suggest that ASIGetSerialNumber() return ASI_ERROR_GENERAL_ERROR instead of ASI_SUCCESS.
For the serial, good idea, but there are other problems, like we did not write the production data into our camera. sometimes, we will produce many same cameras at one day. So we did not support it for the old camera.
For the SN, Can you test your camera with our Demo? in our SDK, if it does not have SN, we will return an GENERAL_ERROR. For our SN, it is an 8-bit ASCII. Usually, we use its hex as the string number. So when you get it, you should show it in HEX.