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.
SelfTest.cpp
00001 #include "SysConfig.h" 00002 00003 void SpeedTest(void) 00004 { 00005 uart_db.printf("[Speed Test]\n\rMOT1 = %drpm, MOT2 = %drpm, MOT3 = %drpm, MOT4 = %drpm.\n\r", Mot_GetSpeed(1), Mot_GetSpeed(2), Mot_GetSpeed(3), Mot_GetSpeed(4)); 00006 } 00007 00008 void VoltageTest(void) 00009 { 00010 uart_db.printf("[Voltage Test]\n\rVBAT = %.2fV, VDD12V = %.2fV, VDD5V = %.2fV, VDD3V3 = %.2fV.\n\r", Vmon_ReadVolt(1), Vmon_ReadVolt(2), Vmon_ReadVolt(3), Vmon_ReadVolt(4)); 00011 } 00012 00013 void MotTest(void) 00014 { 00015 int dir, turn; 00016 uart_db.printf("\n\r==== Motor Test ====\n\r"); 00017 for(int i=0; i<100; i+=20) 00018 { 00019 uart_db.printf("\n\rMotor speed set to %d%%.\n\r", i); 00020 uart_db.printf("-->Motor will move forward.\n\r"); 00021 dir = 'f'; 00022 00023 uart_db.printf("---->Motor will move straight.\n\r"); 00024 turn = 'm'; 00025 Mot_Ctrl(dir, turn, (float)i / 100.0); 00026 SpeedTest(); 00027 VoltageTest(); 00028 LedToggle(0); 00029 wait(3); 00030 00031 uart_db.printf("---->Motor will turn left.\n\r"); 00032 turn = 'l'; 00033 Mot_Ctrl(dir, turn, (float)i / 100.0); 00034 SpeedTest(); 00035 VoltageTest(); 00036 LedToggle(0); 00037 wait(3); 00038 00039 uart_db.printf("---->Motor will turn right.\n\r"); 00040 turn = 'r'; 00041 Mot_Ctrl(dir, turn, (float)i / 100.0); 00042 SpeedTest(); 00043 VoltageTest(); 00044 LedToggle(0); 00045 wait(3); 00046 00047 uart_db.printf("-->Motor will move forward.\n\r"); 00048 dir = 'b'; 00049 00050 uart_db.printf("---->Motor will move straight.\n\r"); 00051 turn = 'm'; 00052 Mot_Ctrl(dir, turn, (float)i / 100.0); 00053 SpeedTest(); 00054 VoltageTest(); 00055 LedToggle(0); 00056 wait(3); 00057 00058 uart_db.printf("---->Motor will turn left.\n\r"); 00059 turn = 'l'; 00060 Mot_Ctrl(dir, turn, (float)i / 100.0); 00061 SpeedTest(); 00062 VoltageTest(); 00063 LedToggle(0); 00064 wait(3); 00065 00066 uart_db.printf("---->Motor will turn right.\n\r"); 00067 turn = 'r'; 00068 Mot_Ctrl(dir, turn, (float)i / 100.0); 00069 SpeedTest(); 00070 VoltageTest(); 00071 LedToggle(0); 00072 wait(3); 00073 } 00074 } 00075 00076 void SelfTest(void) 00077 #if 1 00078 { 00079 uart_db.printf("Starting motor velocimeter...\n\r"); 00080 Mot_StartVelocimeter(); 00081 MotTest(); 00082 Mot_StopVelocimeter(); 00083 } 00084 #else 00085 { 00086 //Breath LED 00087 int i, j; 00088 led_mb = 0; 00089 while(1) 00090 { 00091 for(j=0;j<=100;j++) 00092 { 00093 for(i=0;i<=100;i++) 00094 { 00095 led_mb = 1; 00096 wait_us(j); 00097 led_mb = 0; 00098 wait_us(100-j); 00099 } 00100 } 00101 for(j=100;j>=0;j--) 00102 { 00103 for(i=0;i<=100;i++) 00104 { 00105 led_mb = 1; 00106 wait_us(j); 00107 led_mb = 0; 00108 wait_us(100-j); 00109 } 00110 } 00111 wait_ms(200); 00112 } 00113 } 00114 #endif
Generated on Fri Jul 15 2022 01:55:45 by
1.7.2