bitis 0.10.5

Bitwise serialization of messages defined in a data description language with interfaces for rust, python and c++.
Documentation
mod messages;
mod helper;

use std::env;
use std::process::ExitCode;
use bitis_lib::BitisOption;
use messages::{MsgEnumOne, MsgEnumTwo, SensorSource};
use crate::messages::{ExampleEnum, MsgEnumOpt};

fn main() -> ExitCode {
    let mut error_counter = 0;

    println!("Simple message test!");

    let args: Vec<String> = env::args().collect();
    println!("args: {:?}", args);

    // ***
    let msg = MsgEnumOne::default();
    let fn_name = "val_enum_one_default.rs.dat";
    error_counter += helper::write_or_test(fn_name, &msg, &args);

    // ***
    let msg = MsgEnumOne{ val: 3.into(), param_1: SensorSource::MovementSensor };
    let fn_name = "val_enum_one_val1.rs.dat";
    error_counter += helper::write_or_test(fn_name, &msg, &args);

    // ***
    let msg = MsgEnumTwo::default();
    let fn_name = "val_enum_two_default.rs.dat";
    error_counter += helper::write_or_test(fn_name, &msg, &args);

    // ***
    let msg = MsgEnumTwo{ val: 33.into(), param_1: ExampleEnum::E8 };
    let fn_name = "val_enum_two_val1.rs.dat";
    error_counter += helper::write_or_test(fn_name, &msg, &args);

    // ***
    let msg = MsgEnumOpt::default();
    let fn_name = "val_enum_opt_default.rs.dat";
    error_counter += helper::write_or_test(fn_name, &msg, &args);

    // ***
    let msg = MsgEnumOpt{ val: 3.into(), param_1: SensorSource::TemperaturSensor, 
        param_2: Some(ExampleEnum::E8).into(), };
    let fn_name = "val_enum_opt_val1.rs.dat";
    error_counter += helper::write_or_test(fn_name, &msg, &args);

    // ***
    println!("\n* Total errors: {}", error_counter);
    ExitCode::from(error_counter)
}