Add InfoCommand as one fully-wired real example in bambulab.v1
The rest of proto/bambulab/ was pure boilerplate/comments with nothing concrete to copy from. This one message (sequence_id + command, matching Bambu's real get_version request) is wired all the way through: real proto, real generated Rust struct, lib.rs actually include!'d instead of commented out. continuum-proxy's bambu_protocol_demo example serializes it and diffs the output against Bambu's actual wire JSON byte for byte. Verified with cargo build (this crate) and cargo run --example bambu_protocol_demo (continuum-proxy) - output matches exactly.
This commit is contained in:
@@ -8,17 +8,20 @@ pub use continuum::v1::{
|
||||
MaterialProfile, PrintJob, PrintJobStatus, PrintParameters, Template,
|
||||
};
|
||||
|
||||
// bambulab/*.proto currently have no messages (see proto/bambulab/), so
|
||||
// there's nothing for prost to emit yet — `include!` against a
|
||||
// nonexistent file would break the build. Once you've added real messages
|
||||
// to proto/bambulab/{common,v1/*,v2/*}.proto, add:
|
||||
//
|
||||
// pub mod bambulab {
|
||||
// include!(concat!(env!("OUT_DIR"), "/bambulab.rs")); // common.proto's messages
|
||||
// pub mod v1 {
|
||||
// include!(concat!(env!("OUT_DIR"), "/bambulab.v1.rs")); // request.proto + report.proto combined — same package
|
||||
// }
|
||||
// pub mod v2 {
|
||||
// include!(concat!(env!("OUT_DIR"), "/bambulab.v2.rs"));
|
||||
// }
|
||||
// }
|
||||
pub mod bambulab {
|
||||
// common.proto and bambulab/v2/*.proto have no messages yet, so
|
||||
// there's nothing for prost to emit for them — `include!` against a
|
||||
// nonexistent file breaks the build. Uncomment each once it has real
|
||||
// content:
|
||||
//
|
||||
// include!(concat!(env!("OUT_DIR"), "/bambulab.rs")); // common.proto's messages
|
||||
pub mod v1 {
|
||||
// request.proto + report.proto both declare `package bambulab.v1;`,
|
||||
// so prost combines them into one output file, regardless of which
|
||||
// input file each message came from.
|
||||
include!(concat!(env!("OUT_DIR"), "/bambulab.v1.rs"));
|
||||
}
|
||||
// pub mod v2 {
|
||||
// include!(concat!(env!("OUT_DIR"), "/bambulab.v2.rs"));
|
||||
// }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user