Add module test folder and light test file
This commit is contained in:
85
src/moduleTests/lightTest.rs
Normal file
85
src/moduleTests/lightTest.rs
Normal file
@@ -0,0 +1,85 @@
|
||||
use std::thread;
|
||||
use std::time::Duration;
|
||||
|
||||
use rppal::gpio::Gpio;
|
||||
|
||||
let gpio = Gpio::new()?;
|
||||
|
||||
let mut indicatorLeftBack = gpio.get(21)?.into_output();
|
||||
let mut indicatorRightBack = gpio.get(22)?.into_output();
|
||||
let mut brakeLeftBack = gpio.get(23)?.into_output();
|
||||
let mut brakeRightBack = gpio.get(24)?.into_output();
|
||||
let mut frontLeftHead = gpio.get(25)?.into_output();
|
||||
let mut frontRightHead = gpio.get(26)?.into_output();
|
||||
|
||||
// Blink both indicators
|
||||
|
||||
let mut i = 0;
|
||||
|
||||
while i < 10 {
|
||||
indicatorLeftBack.set_high();
|
||||
indicatorRightBack.set_high();
|
||||
thread::sleep(Duration::from_secs(0.7));
|
||||
indicatorLeftBack.set_low();
|
||||
indicatorRightBack.set_low();
|
||||
i = i + 1;
|
||||
}
|
||||
|
||||
i = 0;
|
||||
|
||||
// Blink left indicator thrice
|
||||
|
||||
while i < 4 {
|
||||
indicatorLeftBack.set_high();
|
||||
thread::sleep(Duration::from_secs(0.7));
|
||||
indicatorLeftBack.set_low();
|
||||
i = i + 1
|
||||
}
|
||||
|
||||
i = 0;
|
||||
|
||||
// Blink right indicator thrice
|
||||
|
||||
while i < 4 {
|
||||
indicatorRightBack.set_high();
|
||||
thread::sleep(Duration::from_secs(0.7));
|
||||
indicatorRightBack.set_low();
|
||||
i = i + 1
|
||||
}
|
||||
|
||||
i = 0;
|
||||
|
||||
// Hold brake lights and blink twice
|
||||
|
||||
brakeLeftBack.set_high();
|
||||
brakeRightBack.set_high();
|
||||
thread::sleep(Duration::from_secs(3));
|
||||
brakeLeftBack.set_low();
|
||||
brakeRightBack.set_low();
|
||||
|
||||
while i < 3 {
|
||||
brakeLeftBack.set_high();
|
||||
brakeRightBack.set_high();
|
||||
thread::sleep(Duration::from_secs(0.7))
|
||||
brakeLeftBack.set_low();
|
||||
brakeRigthBack.set_low();
|
||||
}
|
||||
|
||||
i = 0;
|
||||
|
||||
// Turn on headlights and flash twice
|
||||
|
||||
frontLeftHead.set_high();
|
||||
frontRightHead.set_high();
|
||||
thread::sleep(Duration::from_secs(3))
|
||||
frontLeftHead.set_low();
|
||||
frontRightHead.set_low();
|
||||
|
||||
while i < 3 {
|
||||
frontLeftHead.set_high();
|
||||
frontRightHead.set_high();
|
||||
thread::sleep(Duration::from_secs(0.7))
|
||||
frontLeftHead.set_low();
|
||||
frontRightHead.set_low();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user