blob: 4b2d11947ea55a151656457393556627f556821e [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
use crate::transport::hyperdebug::{Flavor, Hyperdebug, HyperdebugDfu};
use crate::transport::Transport;
use anyhow::Result;
use crate::backend::BackendOpts;
pub fn create<T: 'static + Flavor>(args: &BackendOpts) -> Result<Box<dyn Transport>> {
Ok(Box::new(Hyperdebug::<T>::open(
args.usb_vid,
args.usb_pid,
args.usb_serial.as_deref(),
)?))
}
pub fn create_dfu(args: &BackendOpts) -> Result<Box<dyn Transport>> {
Ok(Box::new(HyperdebugDfu::open(
args.usb_vid,
args.usb_pid,
args.usb_serial.as_deref(),
)?))
}