///|
fn main {
let source = "BU_: ECU Dash\nBO_ 291 Engine: 2 ECU\n SG_ Speed : 0|16@1+ (0.125,0) [0|8000] \"rpm\" Dash\n"
try {
let db = @dbc.parse_dbc(source)
let message = db.message_by_name("Engine").unwrap()
let encoded = @dbc.encode_message(message, [
{ name: "Speed", value: Physical(1500) },
])
println(@dbc.frame_hex(encoded.frame.payload))
let decoded = @dbc.decode_frame(db, encoded.frame)
println(
"\{decoded.signals[0].name} = \{decoded.signals[0].physical} \{decoded.signals[0].unit}",
)
} catch {
@dbc.Failure(d) => println(@dbc.render_diagnostic(d))
}
}