df

Dependencies:   mbed

Fork of APP1 by Team APP

Committer:
GaiSensei
Date:
Thu Feb 09 15:55:18 2017 +0000
Revision:
23:2531e72d92b9
Parent:
22:900ee79e774f
gh

Who changed what in which revision?

UserRevisionLine numberNew contents of line
GaiSensei 23:2531e72d92b9 1 /////////////////////////////////////////////////////////////a
dupm2216 21:a111be2582be 2 // APP 1: Systèmes à microprocesseurs //
dupm2216 21:a111be2582be 3 // //
dupm2216 21:a111be2582be 4 // Université de Sherbrooke //
dupm2216 21:a111be2582be 5 // Génie informatique //
dupm2216 21:a111be2582be 6 // Session 5, Hiver 2017 //
dupm2216 21:a111be2582be 7 // //
dupm2216 21:a111be2582be 8 // Date: 17 janvier 2017 //
dupm2216 21:a111be2582be 9 // //
dupm2216 21:a111be2582be 10 // Auteurs: Maxime Dupuis, dupm2216 //
dupm2216 21:a111be2582be 11 // Bruno Allaire-Lemay, allb2701 //
dupm2216 21:a111be2582be 12 /////////////////////////////////////////////////////////////
dupm2216 21:a111be2582be 13
GaiSensei 22:900ee79e774f 14 //aha je vais faire un pull request!
dupm2216 0:bc7c22239634 15 #include "mbed.h"
dupm2216 1:7becb0e903e3 16 #include "Accelerometer.hpp"
dupm2216 3:1a9d0f0a50bf 17 #include "TestAccelerometer.hpp"
dupm2216 6:3facf0329142 18 #include "TestUtility.hpp"
GaiSensei 13:bb9669053eb3 19 #include "TestHomemadeMbed.hpp"
GaiSensei 2:b8a20f7e2912 20 #include "SPIDisplayer.hpp"
GaiSensei 13:bb9669053eb3 21 #include "UARTDisplayer.hpp"
GaiSensei 14:2f89279586cb 22 #include "HomemadeMbed.hpp"
dupm2216 15:b38d9d210e32 23 #include "Utility.hpp"
dupm2216 15:b38d9d210e32 24
GaiSensei 14:2f89279586cb 25 #include <cassert>
dupm2216 0:bc7c22239634 26
GaiSensei 2:b8a20f7e2912 27 void testSPIDisplayer()
GaiSensei 2:b8a20f7e2912 28 {
GaiSensei 13:bb9669053eb3 29 printf("Manual test.\r\nDisplay should show \"10.00\", \"00.00\", \"01.54\", \"12.12\".\r\n");
GaiSensei 2:b8a20f7e2912 30 SPIDisplayer spiDisplayer(p5, NC, p7, p8);
GaiSensei 11:e2abae239a57 31 spiDisplayer.reset();
GaiSensei 2:b8a20f7e2912 32 spiDisplayer.displayAngle(10);
GaiSensei 2:b8a20f7e2912 33 wait(1);
GaiSensei 2:b8a20f7e2912 34 spiDisplayer.displayAngle(0);
GaiSensei 2:b8a20f7e2912 35 wait(1);
GaiSensei 2:b8a20f7e2912 36 spiDisplayer.displayAngle(1.54321);
GaiSensei 2:b8a20f7e2912 37 wait(1);
GaiSensei 2:b8a20f7e2912 38 spiDisplayer.displayAngle(12.1234);
GaiSensei 11:e2abae239a57 39 wait(1);
GaiSensei 2:b8a20f7e2912 40 }
GaiSensei 2:b8a20f7e2912 41
GaiSensei 14:2f89279586cb 42 void run_manual_tests()
dupm2216 0:bc7c22239634 43 {
GaiSensei 14:2f89279586cb 44 testSPIDisplayer();
GaiSensei 14:2f89279586cb 45 }
GaiSensei 14:2f89279586cb 46
GaiSensei 14:2f89279586cb 47 void run_automatic_tests()
GaiSensei 14:2f89279586cb 48 {
dupm2216 15:b38d9d210e32 49 homemade_mbed::run_all_tests();
dupm2216 6:3facf0329142 50 accelerometer::run_all_tests();
dupm2216 6:3facf0329142 51 utility::run_all_tests();
GaiSensei 14:2f89279586cb 52 printf("All automatic tests pass\r\n");
dupm2216 0:bc7c22239634 53 }
dupm2216 0:bc7c22239634 54
dupm2216 0:bc7c22239634 55 int main()
dupm2216 0:bc7c22239634 56 {
dupm2216 16:c77e34bc69bc 57 run_automatic_tests();
dupm2216 3:1a9d0f0a50bf 58
dupm2216 19:f5aa0ce5546b 59 accelerometer::Accelerometer accelerometer(p9, p10, 5);
dupm2216 16:c77e34bc69bc 60 accelerometer.init();
dupm2216 15:b38d9d210e32 61
dupm2216 21:a111be2582be 62 SPIDisplayer displayer(p5, NC, p7, p8);
dupm2216 21:a111be2582be 63 //UARTDisplayer displayer;
dupm2216 16:c77e34bc69bc 64 displayer.reset();
dupm2216 15:b38d9d210e32 65
dupm2216 0:bc7c22239634 66 while(true)
dupm2216 0:bc7c22239634 67 {
dupm2216 5:f59b51ac4b40 68 const double angle_from_horizontal = accelerometer.get_angle_from_horizontal();
GaiSensei 13:bb9669053eb3 69 displayer.displayAngle((float) angle_from_horizontal);
dupm2216 18:a21199781d20 70 wait(0.1);
dupm2216 0:bc7c22239634 71 }
dupm2216 0:bc7c22239634 72 }