synapse_pb 0.2.0

Protobuf messages for CogniPilot Synapse
Documentation
extern crate prost_build;

macro_rules! vec_of_strings {
    ($($x:expr),*) => (vec![$($x.to_string()),*]);
}

use std::path::{PathBuf, Path};


fn main() -> std::io::Result<()> {
    let proto_files = vec_of_strings![
        "actuators.proto",
        "altimeter.proto",
        "battery_state.proto",
        "bezier_trajectory.proto",
        "clock_offset.proto",
        "covariance3.proto",
        "covariance6.proto",
        "duration.proto",
        "frame.proto",
        "imu.proto",
        "input.proto",
        "led_array.proto",
        "magnetic_field.proto",
        "nav_sat_fix.proto",
        "odometry.proto",
        "pose.proto",
        "pwm.proto",
        "quaternion.proto",
        "safety.proto",
        "sim_clock.proto",
        "status.proto",
        "timestamp.proto",
        "twist.proto",
        "uptime.proto",
        "vector3.proto",
        "vector3_array.proto",
        "wheel_odometry.proto"];
    let dir_proto = Path::new("proto");
    let dir_synapse_pb = Path::new("proto/synapse_pb");
    let mut files_abs: Vec<PathBuf> = Vec::new();
    for file in proto_files.iter() {
        let path = dir_synapse_pb.join(file);
        files_abs.push(path);
    };
    prost_build::compile_protos(&files_abs, &[dir_proto])?;
    Ok(())
}