add some more docs

master
Sameer Puri 4 years ago
parent 3f74d81620
commit 2d913c2877

@ -75,6 +75,7 @@ impl<'input> Machine<'input> {
} }
} }
/// Output user-defined setup gcode
pub fn program_begin(&self) -> Vec<Token<'input>> { pub fn program_begin(&self) -> Vec<Token<'input>> {
self.program_begin_sequence self.program_begin_sequence
.iter() .iter()
@ -82,6 +83,8 @@ impl<'input> Machine<'input> {
.map(Token::from) .map(Token::from)
.collect() .collect()
} }
/// Output user-defined teardown gcode
pub fn program_end(&self) -> Vec<Token<'input>> { pub fn program_end(&self) -> Vec<Token<'input>> {
self.program_end_sequence self.program_end_sequence
.iter() .iter()

@ -76,7 +76,7 @@ fn main() -> io::Result<()> {
input input
} }
None => { None => {
info!("Reading from stdin"); info!("Reading from standard input");
let mut input = String::new(); let mut input = String::new();
io::stdin().read_to_string(&mut input)?; io::stdin().read_to_string(&mut input)?;
input input
@ -153,18 +153,20 @@ fn main() -> io::Result<()> {
postprocess::set_origin(&mut program, lyon_geom::point(origin[0], origin[1])); postprocess::set_origin(&mut program, lyon_geom::point(origin[0], origin[1]));
if let Some(out_path) = opt.out { if let Some(out_path) = opt.out {
tokens_into_gcode(program, File::create(out_path)?) tokens_into_gcode_bytes(&program, File::create(out_path)?)
} else { } else {
tokens_into_gcode(program, std::io::stdout()) tokens_into_gcode_bytes(&program, std::io::stdout())
} }
} }
/// Convenience function for calling the g-code crate's PEG parser with user-defined g-code.
fn parse_snippet(gcode: &'_ String) -> Result<Snippet<'_>, ParseError> { fn parse_snippet(gcode: &'_ String) -> Result<Snippet<'_>, ParseError> {
snippet_parser(gcode) snippet_parser(gcode)
} }
fn tokens_into_gcode<W: std::io::Write>( /// Write GCode tokens to a byte sink in a nicely formatted manner
program: Vec<g_code::emit::Token<'_>>, fn tokens_into_gcode_bytes<W: std::io::Write>(
program: &[g_code::emit::Token<'_>],
mut w: W, mut w: W,
) -> io::Result<()> { ) -> io::Result<()> {
use g_code::emit::Token::*; use g_code::emit::Token::*;
@ -229,7 +231,7 @@ mod test {
postprocess::set_origin(&mut program, lyon_geom::point(0., 0.)); postprocess::set_origin(&mut program, lyon_geom::point(0., 0.));
let mut actual = vec![]; let mut actual = vec![];
assert!(tokens_into_gcode(program, &mut actual).is_ok()); assert!(tokens_into_gcode_bytes(&program, &mut actual).is_ok());
String::from_utf8(actual).unwrap() String::from_utf8(actual).unwrap()
} }

Loading…
Cancel
Save