ftdi-prog/src/main.rs

30 lines
764 B
Rust

/*
#define FT_LIST_NUMBER_ONLY 0x80000000
#define FT_LIST_BY_INDEX 0x40000000
#define FT_LIST_ALL 0x20000000
#define FT_LIST_MASK (FT_LIST_NUMBER_ONLY|FT_LIST_BY_INDEX|FT_LIST_ALL)
*/
use ftdi_vcp_rs::{VCP, BitMode};
use std::thread::sleep;
use std::time::Duration;
fn main() -> Result<(), ftdi_vcp_rs::Error> {
let mut vcp = VCP::new_from_name("iCEBreaker V1.0e A").expect("couldn't open vcp");
println!("Opened VCP: {:?}", vcp);
vcp.reset()?;
vcp.set_bitmode(0x80, BitMode::SyncBitbang)?;
for i in 0..10 {
if i & 1 != 0 {
vcp.write(&[0x80])?;
} else {
vcp.write(&[0x00])?;
}
sleep(Duration::from_millis(500));
}
println!("VCP COM{}:", vcp.com_port()?);
Ok(())
}