Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. mod gpio {
  2. #[derive(Debug)]
  3. pub enum Port {
  4. Bcm1,
  5. Bcm2,
  6. Bcm3,
  7. Bcm4
  8. }
  9.  
  10. #[derive(Debug)]
  11. pub struct Ports {
  12. pub bcm1: Port,
  13. pub bcm2: Port,
  14. pub bcm3: Port,
  15. pub bcm4: Port,
  16. _p: ()
  17. }
  18.  
  19. impl Ports {
  20. pub fn get() -> Ports {
  21. Ports {bcm1: Port::Bcm1, bcm2: Port::Bcm2, bcm3: Port::Bcm3, bcm4: Port::Bcm4, _p: ()}
  22. }
  23. }
  24. }
  25.  
  26. mod driver {
  27. use super::gpio::Port;
  28.  
  29. #[derive(Debug)]
  30. pub struct Config<'a> {
  31. port1: &'a Port,
  32. port2: Port
  33. }
  34.  
  35. impl<'a> Config<'a> {
  36. pub fn new(port1: &'a Port, port2: Port) -> Config {
  37. Config { port1, port2 }
  38. }
  39. }
  40. }
  41.  
  42. fn main() {
  43. let ports = gpio::Ports::get();
  44. let motor1 = driver::Config::new(&ports.bcm1, ports.bcm2);
  45. let motor2 = driver::Config::new(&ports.bcm1, ports.bcm3);
  46. println!("motor1:{:?}", motor1);
  47. println!("motor2:{:?}", motor2);
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement