Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of APP1 by
main.cpp@23:2531e72d92b9, 2017-02-09 (annotated)
- Committer:
- GaiSensei
- Date:
- Thu Feb 09 15:55:18 2017 +0000
- Revision:
- 23:2531e72d92b9
- Parent:
- 22:900ee79e774f
gh
Who changed what in which revision?
User | Revision | Line number | New 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 | } |