Руслан Бредун / Mbed 2 deprecated STM32-MC_node

Dependencies:   mbed Watchdog stm32-sensor-base2

Committer:
nestedslk
Date:
Tue Jul 07 15:02:22 2020 +0000
Revision:
3:96fcb3b041eb
Parent:
0:d383e2dee0f7
Child:
4:f6e22dd39313
updated correct pins

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ommpy 0:d383e2dee0f7 1 #include <global.h>
ommpy 0:d383e2dee0f7 2
nestedslk 3:96fcb3b041eb 3 Serial pc(UART1_TX, UART1_RX);
ommpy 0:d383e2dee0f7 4 Timer timer;
ommpy 0:d383e2dee0f7 5
ommpy 0:d383e2dee0f7 6 int main() {
ommpy 0:d383e2dee0f7 7
ommpy 0:d383e2dee0f7 8 #if TEST_ULTRASONIC
ommpy 0:d383e2dee0f7 9
ommpy 0:d383e2dee0f7 10 JSN_SR04 sensor1(TIM1_CH2, TRIG_PA8_OUT);
nestedslk 3:96fcb3b041eb 11 JSN_SR04 sensor2(TIM1_CH2, TRIG_PB15_OUT);
nestedslk 3:96fcb3b041eb 12 JSN_SR04 sensor3(TIM1_CH2, TRIG_PB14_OUT);
ommpy 0:d383e2dee0f7 13 sensor1.setRanges(10, 110);
ommpy 0:d383e2dee0f7 14 sensor2.setRanges(10, 110);
ommpy 0:d383e2dee0f7 15 sensor3.setRanges(10, 110);
ommpy 0:d383e2dee0f7 16 pc.printf("Min. range = %g cm\n\rMax. range = %g cm\n\r",sensor1.getMinRange(), sensor1.getMaxRange());
ommpy 0:d383e2dee0f7 17 while(true) {
ommpy 0:d383e2dee0f7 18 timer.reset();
ommpy 0:d383e2dee0f7 19 timer.start();
ommpy 0:d383e2dee0f7 20 sensor1.startMeasurement();
ommpy 0:d383e2dee0f7 21 sensor2.startMeasurement();
ommpy 0:d383e2dee0f7 22 sensor3.startMeasurement();
ommpy 0:d383e2dee0f7 23 while(!sensor1.isNewDataReady() || !sensor2.isNewDataReady() || !sensor3.isNewDataReady()) {
ommpy 0:d383e2dee0f7 24 // wait for new data
ommpy 0:d383e2dee0f7 25 // waiting time depends on the distance
ommpy 0:d383e2dee0f7 26 }
ommpy 0:d383e2dee0f7 27 pc.printf("Distance: %5.1f mm %5.1f mm %5.1f mm \r\n", sensor1.getDistance_mm(),sensor2.getDistance_mm(),sensor3.getDistance_mm());
ommpy 0:d383e2dee0f7 28 timer.stop();
ommpy 0:d383e2dee0f7 29 wait_ms(50 - timer.read_ms()); // time the loop
ommpy 0:d383e2dee0f7 30 }
ommpy 0:d383e2dee0f7 31
ommpy 0:d383e2dee0f7 32 #endif
ommpy 0:d383e2dee0f7 33
ommpy 0:d383e2dee0f7 34 #if TEST_ENCODERS
ommpy 0:d383e2dee0f7 35
ommpy 0:d383e2dee0f7 36 AS5045Controller encoder_1(SP1_NSS1);
ommpy 0:d383e2dee0f7 37 AS5045Controller encoder_2(SP1_NSS2);
ommpy 0:d383e2dee0f7 38 while(1)
ommpy 0:d383e2dee0f7 39 {
ommpy 0:d383e2dee0f7 40 int encoder_1_Value = encoder_1.Read();
ommpy 0:d383e2dee0f7 41
ommpy 0:d383e2dee0f7 42 int encoder_2_Value = encoder_2.Read();
ommpy 0:d383e2dee0f7 43 if( encoder_1_Value.IsValid() && encoder_2_Value.IsValid() )
ommpy 0:d383e2dee0f7 44 pc.printf("Sensor Values = %d\n\r",encoder_1_Value ,encoder_2_Value );
ommpy 0:d383e2dee0f7 45 else
ommpy 0:d383e2dee0f7 46 pc.printf("Invalid data read");
ommpy 0:d383e2dee0f7 47
ommpy 0:d383e2dee0f7 48 Thread::wait(2);
ommpy 0:d383e2dee0f7 49 }
ommpy 0:d383e2dee0f7 50
ommpy 0:d383e2dee0f7 51 #endif
ommpy 0:d383e2dee0f7 52
ommpy 0:d383e2dee0f7 53 # if TEST_IR
ommpy 0:d383e2dee0f7 54
ommpy 0:d383e2dee0f7 55 E18_D80NK infared (<your pin>);
ommpy 0:d383e2dee0f7 56
ommpy 0:d383e2dee0f7 57 while (true) {
ommpy 0:d383e2dee0f7 58 pc.printf ("Is there any obstacle:", infared.checkObstacle ());
ommpy 0:d383e2dee0f7 59 }
ommpy 0:d383e2dee0f7 60
ommpy 0:d383e2dee0f7 61 #endif
ommpy 0:d383e2dee0f7 62
ommpy 0:d383e2dee0f7 63 }
ommpy 0:d383e2dee0f7 64