Adding support for forcing tick count to return to zero as the same time than all tasks firing are synchronized
/*
* (c) 2008 Edouard TISSERANT
*
* Offered to the public under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* This code is made available on the understanding that it will not be
* used in safety-critical situations without a full and competent review.
*/
/*
* An IEC 61131-3 IL and ST compiler.
*
* Based on the
* FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10)
*
*/
/****
* IEC 61131-3 standard function library
* generated code, do not edit by hand
*/
typedef enum {
function_real_to_sint,
function_real_to_lint,
function_real_to_dint,
function_real_to_date,
function_real_to_dword,
function_real_to_dt,
function_real_to_tod,
function_real_to_udint,
function_real_to_word,
function_real_to_string,
function_real_to_lword,
function_real_to_uint,
function_real_to_lreal,
function_real_to_byte,
function_real_to_usint,
function_real_to_ulint,
function_real_to_bool,
function_real_to_time,
function_real_to_int,
function_sint_to_real,
function_sint_to_lint,
function_sint_to_dint,
function_sint_to_date,
function_sint_to_dword,
function_sint_to_dt,
function_sint_to_tod,
function_sint_to_udint,
function_sint_to_word,
function_sint_to_string,
function_sint_to_lword,
function_sint_to_uint,
function_sint_to_lreal,
function_sint_to_byte,
function_sint_to_usint,
function_sint_to_ulint,
function_sint_to_bool,
function_sint_to_time,
function_sint_to_int,
function_lint_to_real,
function_lint_to_sint,
function_lint_to_dint,
function_lint_to_date,
function_lint_to_dword,
function_lint_to_dt,
function_lint_to_tod,
function_lint_to_udint,
function_lint_to_word,
function_lint_to_string,
function_lint_to_lword,
function_lint_to_uint,
function_lint_to_lreal,
function_lint_to_byte,
function_lint_to_usint,
function_lint_to_ulint,
function_lint_to_bool,
function_lint_to_time,
function_lint_to_int,
function_dint_to_real,
function_dint_to_sint,
function_dint_to_lint,
function_dint_to_date,
function_dint_to_dword,
function_dint_to_dt,
function_dint_to_tod,
function_dint_to_udint,
function_dint_to_word,
function_dint_to_string,
function_dint_to_lword,
function_dint_to_uint,
function_dint_to_lreal,
function_dint_to_byte,
function_dint_to_usint,
function_dint_to_ulint,
function_dint_to_bool,
function_dint_to_time,
function_dint_to_int,
function_date_to_real,
function_date_to_sint,
function_date_to_lint,
function_date_to_dint,
function_date_to_dword,
function_date_to_udint,
function_date_to_word,
function_date_to_string,
function_date_to_lword,
function_date_to_uint,
function_date_to_lreal,
function_date_to_byte,
function_date_to_usint,
function_date_to_ulint,
function_date_to_int,
function_dword_to_real,
function_dword_to_sint,
function_dword_to_lint,
function_dword_to_dint,
function_dword_to_date,
function_dword_to_dt,
function_dword_to_tod,
function_dword_to_udint,
function_dword_to_word,
function_dword_to_string,
function_dword_to_lword,
function_dword_to_uint,
function_dword_to_lreal,
function_dword_to_byte,
function_dword_to_usint,
function_dword_to_ulint,
function_dword_to_bool,
function_dword_to_time,
function_dword_to_int,
function_dt_to_real,
function_dt_to_sint,
function_dt_to_lint,
function_dt_to_dint,
function_dt_to_dword,
function_dt_to_udint,
function_dt_to_word,
function_dt_to_string,
function_dt_to_lword,
function_dt_to_uint,
function_dt_to_lreal,
function_dt_to_byte,
function_dt_to_usint,
function_dt_to_ulint,
function_dt_to_int,
function_tod_to_real,
function_tod_to_sint,
function_tod_to_lint,
function_tod_to_dint,
function_tod_to_dword,
function_tod_to_udint,
function_tod_to_word,
function_tod_to_string,
function_tod_to_lword,
function_tod_to_uint,
function_tod_to_lreal,
function_tod_to_byte,
function_tod_to_usint,
function_tod_to_ulint,
function_tod_to_int,
function_udint_to_real,
function_udint_to_sint,
function_udint_to_lint,
function_udint_to_dint,
function_udint_to_date,
function_udint_to_dword,
function_udint_to_dt,
function_udint_to_tod,
function_udint_to_word,
function_udint_to_string,
function_udint_to_lword,
function_udint_to_uint,
function_udint_to_lreal,
function_udint_to_byte,
function_udint_to_usint,
function_udint_to_ulint,
function_udint_to_bool,
function_udint_to_time,
function_udint_to_int,
function_word_to_real,
function_word_to_sint,
function_word_to_lint,
function_word_to_dint,
function_word_to_date,
function_word_to_dword,
function_word_to_dt,
function_word_to_tod,
function_word_to_udint,
function_word_to_string,
function_word_to_lword,
function_word_to_uint,
function_word_to_lreal,
function_word_to_byte,
function_word_to_usint,
function_word_to_ulint,
function_word_to_bool,
function_word_to_time,
function_word_to_int,
function_string_to_real,
function_string_to_sint,
function_string_to_lint,
function_string_to_dint,
function_string_to_date,
function_string_to_dword,
function_string_to_dt,
function_string_to_tod,
function_string_to_udint,
function_string_to_word,
function_string_to_lword,
function_string_to_uint,
function_string_to_lreal,
function_string_to_byte,
function_string_to_usint,
function_string_to_ulint,
function_string_to_bool,
function_string_to_time,
function_string_to_int,
function_lword_to_real,
function_lword_to_sint,
function_lword_to_lint,
function_lword_to_dint,
function_lword_to_date,
function_lword_to_dword,
function_lword_to_dt,
function_lword_to_tod,
function_lword_to_udint,
function_lword_to_word,
function_lword_to_string,
function_lword_to_uint,
function_lword_to_lreal,
function_lword_to_byte,
function_lword_to_usint,
function_lword_to_ulint,
function_lword_to_bool,
function_lword_to_time,
function_lword_to_int,
function_uint_to_real,
function_uint_to_sint,
function_uint_to_lint,
function_uint_to_dint,
function_uint_to_date,
function_uint_to_dword,
function_uint_to_dt,
function_uint_to_tod,
function_uint_to_udint,
function_uint_to_word,
function_uint_to_string,
function_uint_to_lword,
function_uint_to_lreal,
function_uint_to_byte,
function_uint_to_usint,
function_uint_to_ulint,
function_uint_to_bool,
function_uint_to_time,
function_uint_to_int,
function_lreal_to_real,
function_lreal_to_sint,
function_lreal_to_lint,
function_lreal_to_dint,
function_lreal_to_date,
function_lreal_to_dword,
function_lreal_to_dt,
function_lreal_to_tod,
function_lreal_to_udint,
function_lreal_to_word,
function_lreal_to_string,
function_lreal_to_lword,
function_lreal_to_uint,
function_lreal_to_byte,
function_lreal_to_usint,
function_lreal_to_ulint,
function_lreal_to_bool,
function_lreal_to_time,
function_lreal_to_int,
function_byte_to_real,
function_byte_to_sint,
function_byte_to_lint,
function_byte_to_dint,
function_byte_to_date,
function_byte_to_dword,
function_byte_to_dt,
function_byte_to_tod,
function_byte_to_udint,
function_byte_to_word,
function_byte_to_string,
function_byte_to_lword,
function_byte_to_uint,
function_byte_to_lreal,
function_byte_to_usint,
function_byte_to_ulint,
function_byte_to_bool,
function_byte_to_time,
function_byte_to_int,
function_usint_to_real,
function_usint_to_sint,
function_usint_to_lint,
function_usint_to_dint,
function_usint_to_date,
function_usint_to_dword,
function_usint_to_dt,
function_usint_to_tod,
function_usint_to_udint,
function_usint_to_word,
function_usint_to_string,
function_usint_to_lword,
function_usint_to_uint,
function_usint_to_lreal,
function_usint_to_byte,
function_usint_to_ulint,
function_usint_to_bool,
function_usint_to_time,
function_usint_to_int,
function_ulint_to_real,
function_ulint_to_sint,
function_ulint_to_lint,
function_ulint_to_dint,
function_ulint_to_date,
function_ulint_to_dword,
function_ulint_to_dt,
function_ulint_to_tod,
function_ulint_to_udint,
function_ulint_to_word,
function_ulint_to_string,
function_ulint_to_lword,
function_ulint_to_uint,
function_ulint_to_lreal,
function_ulint_to_byte,
function_ulint_to_usint,
function_ulint_to_bool,
function_ulint_to_time,
function_ulint_to_int,
function_bool_to_real,
function_bool_to_sint,
function_bool_to_lint,
function_bool_to_dint,
function_bool_to_date,
function_bool_to_dword,
function_bool_to_dt,
function_bool_to_tod,
function_bool_to_udint,
function_bool_to_word,
function_bool_to_string,
function_bool_to_lword,
function_bool_to_uint,
function_bool_to_lreal,
function_bool_to_byte,
function_bool_to_usint,
function_bool_to_ulint,
function_bool_to_time,
function_bool_to_int,
function_time_to_real,
function_time_to_sint,
function_time_to_lint,
function_time_to_dint,
function_time_to_dword,
function_time_to_udint,
function_time_to_word,
function_time_to_string,
function_time_to_lword,
function_time_to_uint,
function_time_to_lreal,
function_time_to_byte,
function_time_to_usint,
function_time_to_ulint,
function_time_to_int,
function_int_to_real,
function_int_to_sint,
function_int_to_lint,
function_int_to_dint,
function_int_to_date,
function_int_to_dword,
function_int_to_dt,
function_int_to_tod,
function_int_to_udint,
function_int_to_word,
function_int_to_string,
function_int_to_lword,
function_int_to_uint,
function_int_to_lreal,
function_int_to_byte,
function_int_to_usint,
function_int_to_ulint,
function_int_to_bool,
function_int_to_time,
function_trunc,
function_bcd_to_udint,
function_bcd_to_uint,
function_bcd_to_ulint,
function_bcd_to_usint,
function_udint_to_bcd,
function_uint_to_bcd,
function_usint_to_bcd,
function_ulint_to_bcd,
function_date_and_time_to_time_of_day,
function_date_and_time_to_date,
function_abs,
function_sqrt,
function_ln,
function_log,
function_exp,
function_sin,
function_cos,
function_tan,
function_asin,
function_acos,
function_atan,
function_add,
function_mul,
function_sub,
function_div,
function_mod,
function_expt,
function_move,
function_shl,
function_shr,
function_ror,
function_rol,
function_and,
function_or,
function_xor,
function_not,
function_sel,
function_max,
function_min,
function_limit,
function_mux,
function_gt,
function_ge,
function_eq,
function_lt,
function_le,
function_ne,
function_len,
function_left,
function_right,
function_mid,
function_concat,
function_insert,
function_delete,
function_replace,
function_find,
function_none
} function_type_t;