APIs
Calling AMMC using API from other languages does not invoke complete AMMC but has rather several limitations:
- this only converts binary messages to JSON - only PASSING messages
- socket handling must be done inside calling application
- currently there is AMB-based decoders support only
JavaScript developers
AMMC is compiled to WASM modules that can be linked to your JavaScript based application. The module in NPM repository with description
C/C++/C# developers
AMMC zip file contains libammc.h
and dll/so files. This contains functions char *p3_to_json(const char *msg);
that converts AMB's binary messages to JSON.
Python developers
Python developers can use DLL loading that is delivered in AMMC zip file. There is also
example script in Python lib_test.py
that converts binary message into JSON:
# pip install cffi
from cffi import FFI
lib = "windows64\\libammc.dll"
print(f"Trying to open AMMC lib from path: {lib}")
C = ffi.dlopen(lib)
p3_msg = "8e023300e5630000010001047a00000003041fd855000408589514394cd8040005026d0006025000080200008104501304008f"
result = C.p3_to_json(p3_msg.encode('ascii'))
assert 'PASSING' in result
Android developers
For Android support see our AMMC Demo timing app (source code Github) using AMMC lib for timing compatible with AMB and Vostok decoders. Contact us for your timing app support on Android or other platform support
Java Developers
Java developers can use JNI to call dll or so libraries from operating system that are part of AMMC zip file delivery.