Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.150"
regex = "1.12.3"
schemars = "1.2.1"
definition-rs = { path = "./Odyssey-Definitions/definition-rs"}

[dependencies]
rumqttc = "0.25.0"
Expand All @@ -49,6 +50,8 @@ num_enum = "0.7.5"
[target.'cfg(target_os = "linux")'.dependencies]
socketcan = { version = "3.6.1", features = ["tokio"] }

definition-rs.workspace = true


[build-dependencies]
protobuf-codegen = "3.7.2"
Expand Down
1 change: 1 addition & 0 deletions libs/calypso-cangen/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ serde_json = { workspace = true }
thiserror = "2.0.18"
schemars = { workspace = true }
serde_path_to_error = "0.1.20"
definition-rs.workspace = true
2 changes: 1 addition & 1 deletion libs/calypso-cangen/src/can_gen_decode.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::can_types::{CANMsg, CANPoint, NetField};
use definition_rs::{CANMsg, CANPoint, NetField};
use proc_macro2::Literal;
use proc_macro2::TokenStream as ProcMacro2TokenStream;
use quote::{format_ident, quote};
Expand Down
2 changes: 1 addition & 1 deletion libs/calypso-cangen/src/can_gen_encode.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::can_types::{CANMsg, CANPoint};
use definition_rs::{CANMsg, CANPoint};
use proc_macro2::Literal;
use proc_macro2::TokenStream as ProcMacro2TokenStream;
use quote::{format_ident, quote};
Expand Down
2 changes: 1 addition & 1 deletion libs/calypso-cangen/src/can_gen_simulate.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::can_types::{CANMsg, CANPoint, NetField, Sim};
use definition_rs::{CANMsg, CANPoint, NetField, Sim};
use proc_macro2::TokenStream as ProcMacro2TokenStream;
use quote::quote;
use regex::Regex;
Expand Down
144 changes: 0 additions & 144 deletions libs/calypso-cangen/src/can_types.rs

This file was deleted.

1 change: 0 additions & 1 deletion libs/calypso-cangen/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
pub mod can_gen_decode;
pub mod can_gen_encode;
pub mod can_gen_simulate;
pub mod can_types;
pub mod validate;
/**
* Path to CAN spec JSON files
Expand Down
16 changes: 15 additions & 1 deletion libs/calypso-cangen/src/validate.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use crate::CANGEN_SPEC_PATH;
use crate::can_types::{BidirMode, OdysseyMsg, Sim};
use definition_rs::{BidirMode, OdysseyMsg, Sim};
use regex::Regex;
use std::collections::HashSet;
use std::fs;
Expand Down Expand Up @@ -74,6 +74,11 @@ pub enum CANSpecError {
#[error("Invalid topic name {0}")]
InvalidTopicName(String),

#[error(
"Message {0} CAN ID {1} is too large. Did you mean to use an extended ID (is_ext=true) ?"
)]
CanIdTooLarge(String, String),

#[error(transparent)] // Pass-through for IO error
IOError(#[from] std::io::Error),
}
Expand Down Expand Up @@ -196,6 +201,15 @@ fn validate_msg(
));
}

let _id_int = u32::from_str_radix(_msg.id.clone().trim_start_matches("0x"), 16)
.unwrap_or_else(|_| panic!("Invalid CAN ID for message {}", _msg.desc));
if !_msg.is_ext.unwrap_or(false) && _id_int > 0x7FF {
_errors.push(CANSpecError::CanIdTooLarge(
_msg.desc.clone(),
_msg.id.clone(),
));
}

let mut _is_byte_aligned = true; // if the whole message has only byte aligned points
let mut _contains_little_endians = false; // if the message contains any little endian points

Expand Down
1 change: 1 addition & 0 deletions libs/daedalus/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ calypso-cangen = { path = "../calypso-cangen" }
proc-macro2.workspace = true
quote.workspace = true
serde_json.workspace = true
definition-rs.workspace = true
6 changes: 3 additions & 3 deletions libs/daedalus/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use calypso_cangen::CANGEN_SPEC_PATH;
use calypso_cangen::can_gen_decode::gen_decoder_fn;
use calypso_cangen::can_gen_encode::gen_encoder_fn;
use calypso_cangen::can_gen_simulate::gen_simulate_canmsg;
use calypso_cangen::can_types::{BidirMode, OdysseyMsg};
use definition_rs::{BidirMode, OdysseyMsg};
use proc_macro::TokenStream;
use proc_macro2::TokenStream as ProcMacro2TokenStream;
use quote::{format_ident, quote};
Expand All @@ -23,7 +23,7 @@ pub fn gen_decode_data(_item: TokenStream) -> TokenStream {
use std::io::Cursor;
use bitstream_io::{BigEndian, LittleEndian, BitReader, BitRead};
use phf::phf_map;
use calypso_cangen::can_types::*;
use definition_rs::*;
use crate::data::{DecodeData, FormatData};
};
let mut __decode_functions = quote! {};
Expand Down Expand Up @@ -137,7 +137,7 @@ pub fn gen_encode_data(_item: TokenStream) -> TokenStream {
let __encode_prelude = quote! {
use bitstream_io::{BigEndian, LittleEndian, BitWriter, BitWrite};
use phf::phf_map;
use calypso_cangen::can_types::*;
use definition_rs::*;
use crate::data::{EncodeData, FormatData};
};
let mut __encode_functions = quote! {};
Expand Down
4 changes: 2 additions & 2 deletions src/bin/nerdbc.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use std::{env, fs::File, io::Read};

use calypso_cangen::can_types::{CANMsg, CANPoint, Formatter, NetField, Sim};
use can_dbc::{ByteOrder, NumericValue};
use definition_rs::{CANMsg, CANPoint, Formatter, NetField, Sim};

/// decode a DBC file and paste (mostly) compliant JSON to stdout
fn main() {
Expand Down Expand Up @@ -97,7 +97,7 @@ fn main() {
is_ext: None,
sim_freq: None,
clients: None,
bidir_mode: calypso_cangen::can_types::BidirMode::Broadcast,
bidir_mode: definition_rs::BidirMode::Broadcast,
});
}

Expand Down
2 changes: 1 addition & 1 deletion src/bin/to_json_schema.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use calypso_cangen::can_types::CANMsg;
use definition_rs::CANMsg;
use schemars::schema_for;

fn main() {
Expand Down
2 changes: 1 addition & 1 deletion src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ use calypso::{
serverdata::{self, ServerData},
},
};
use calypso_cangen::can_types::BidirMode;
use clap::Parser;
use definition_rs::BidirMode;
use protobuf::Message;
use rumqttc::v5::{
AsyncClient, Event, EventLoop, MqttOptions,
Expand Down