In the transition from v3 to v4 of Smart Shooter, there were a few breaking changes to the message spec used by the External API feature (and note, CaptureGRID 4 is in line with Smart Shooter 4).
Firstly, the API docs in the bitbucket repo was branched.
So for v3, please refer to this branch:
And for v4, this branch:
Here is a brief summary of the changes:
“Msg” suffix dropped from msg_id name fields
For example, the “DetectCamerasMsg” is renamed to “DetectCameras”.
UTF8 BOM (byte order mark) is no longer added to outgoing messages
“msg_ref_num” field renamed to “msg_seq_num”
“Result” field renamed to “msg_result”
“GridSequenceNum” field renamed to “PhotoSequenceNum”
“GridBatchNum” field renamed to “PhotoBatchNum”
For a complete list, please refer to the commits made to the bitbucket repo.
In additional, the bitbucket repo also now contains a reference implementation of a python library, for reading/writing messages and maintaining state about cameras and photos. The code is available here:
The app itself has a embedded python interpreter, for running the built-in scripts, and this python library is used there.