MCPcopy Index your code
hub / github.com/FrameworkComputer/inputmodule-rs / serial_commands

Function serial_commands

inputmodule-control/src/inputmodule.rs:154–340  ·  view source on GitHub ↗

Commands that interact with serial devices

(args: &crate::ClapCli)

Source from the content-addressed store, hash-verified

152
153/// Commands that interact with serial devices
154pub fn serial_commands(args: &crate::ClapCli) {
155 let (serialdevs, waited): (Vec<String>, bool) = find_serialdevs(args, args.wait_for_device);
156 if serialdevs.is_empty() {
157 println!("Failed to find serial devivce. Please manually specify with --serial-dev");
158 return;
159 } else if args.wait_for_device && !waited {
160 println!("Device already present. No need to wait. Not executing command. Sleep 1s");
161 thread::sleep(Duration::from_millis(1000));
162 return;
163 }
164
165 match &args.command {
166 // TODO: Handle generic commands without code deduplication
167 Some(crate::Commands::LedMatrix(ledmatrix_args)) => {
168 for serialdev in &serialdevs {
169 if args.verbose {
170 println!("Selected serialdev: {:?}", serialdev);
171 }
172
173 if ledmatrix_args.bootloader {
174 bootloader_cmd(serialdev);
175 }
176 if let Some(sleeping_arg) = ledmatrix_args.sleeping {
177 sleeping_cmd(serialdev, sleeping_arg);
178 }
179 if let Some(brightness_arg) = ledmatrix_args.brightness {
180 brightness_cmd(serialdev, brightness_arg);
181 }
182 if let Some(percentage) = ledmatrix_args.percentage {
183 assert!(percentage <= 100);
184 percentage_cmd(serialdev, percentage);
185 }
186 if let Some(animate_arg) = ledmatrix_args.animate {
187 animate_cmd(serialdev, animate_arg);
188 }
189 if let Some(pattern) = ledmatrix_args.pattern {
190 pattern_cmd(serialdev, pattern);
191 }
192 if ledmatrix_args.all_brightnesses {
193 all_brightnesses_cmd(serialdev);
194 }
195 if ledmatrix_args.panic {
196 simple_cmd(serialdev, Command::Panic, &[0x00]);
197 }
198 if let Some(image_path) = &ledmatrix_args.image_bw {
199 display_bw_image_cmd(serialdev, image_path);
200 }
201
202 if let Some(image_path) = &ledmatrix_args.image_gray {
203 display_gray_image_cmd(serialdev, image_path);
204 }
205
206 if let Some(values) = &ledmatrix_args.eq {
207 eq_cmd(serialdev, values);
208 }
209
210 if let Some(s) = &ledmatrix_args.string {
211 show_string(serialdev, s);

Callers 1

mainFunction · 0.85

Calls 15

find_serialdevsFunction · 0.85
bootloader_cmdFunction · 0.85
sleeping_cmdFunction · 0.85
brightness_cmdFunction · 0.85
percentage_cmdFunction · 0.85
animate_cmdFunction · 0.85
pattern_cmdFunction · 0.85
all_brightnesses_cmdFunction · 0.85
simple_cmdFunction · 0.85
display_bw_image_cmdFunction · 0.85
display_gray_image_cmdFunction · 0.85
eq_cmdFunction · 0.85

Tested by

no test coverage detected