Generated languages
Encodix generates as a main output ANSI C code (C++ 100% compatible). It can also generate integration code for:
- SDL (ITU-T Z.100), for the Telelogic Tau tools;
- Visual Basic
Powerful generation
Encodix, after having read a message declaration source, produce several files as output. With the default modules, they generate:
- a C "friendly" data structure for each message (where, for example, bit-fields are mapped to integers, avoiding any bit wise operation);
- an encoding and a decoding function for each message: reading a char buffer, they fill an instance of the related C "friendly" data structure and vice versa;
- a set of ITU-T z100 standard SDL SIGNAL and NEWTYPE declarations, if SDL generation is requested;
- a set of environment functions allowing to seamless decode and send messages inside an SDL system (for Telelogic TAU tools);
- a lot more...
You need to just declare the messages and use them in your target language (Picture 2).
Generated C code
Encodix C-Output module generates plain ANSI-C that is 100% portable on any platform:
- code is designed to work unchanged with any word size;
- no specific structure alignment/packing is required since structures are never directly mapped over binary data;
- it works correctly with both little and big endian integer management;
- dynamic memory allocation is never used;
- no static buffers are used (it works on buffers and structures which allocation is done by the caller);
- very little stack is used;
- code is fully re-entrant and thread-safe;
- C library functions are never used, except for memset, which is used to initialise structures and buffers;
- code is 100% ANSI-C;
- generated code gives no warnings even when compiled with -Wall -pedantic;
- runtime libraries are extremely small and given in source format;
- royalty-free - code generated by Encodix can be freely redistributed, modified and included in any other software in any form.
Pre-written sources
Dafocus offers some pre-written Encodix sources implementing common standards, like ETSI 24.008, 04.08, 04.60, etc. These sources save further time giving a solid starting point. Contact our sales representative to have an up-to-date list of supported standards.
See also:
Encodix description... >>>
The CSN.1 module... >>>
The Access module... >>>
The generations process and examples... >>>
|