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.