Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mod gpio {
- #[derive(Debug)]
- pub enum Port {
- Bcm1,
- Bcm2,
- Bcm3,
- Bcm4
- }
- #[derive(Debug)]
- pub struct Ports {
- pub bcm1: Port,
- pub bcm2: Port,
- pub bcm3: Port,
- pub bcm4: Port,
- _p: ()
- }
- impl Ports {
- pub fn get() -> Ports {
- Ports {bcm1: Port::Bcm1, bcm2: Port::Bcm2, bcm3: Port::Bcm3, bcm4: Port::Bcm4, _p: ()}
- }
- }
- }
- mod driver {
- use super::gpio::Port;
- #[derive(Debug)]
- pub struct Config<'a> {
- port1: &'a Port,
- port2: Port
- }
- impl<'a> Config<'a> {
- pub fn new(port1: &'a Port, port2: Port) -> Config {
- Config { port1, port2 }
- }
- }
- }
- fn main() {
- let ports = gpio::Ports::get();
- let motor1 = driver::Config::new(&ports.bcm1, ports.bcm2);
- let motor2 = driver::Config::new(&ports.bcm1, ports.bcm3);
- println!("motor1:{:?}", motor1);
- println!("motor2:{:?}", motor2);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement