![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
wave player pwm & covox
Dependencies: wave_player_pwm_and_covox mbed USBHost
main.cpp@9:d0a3b4c7b261, 2018-04-19 (annotated)
- Committer:
- vsolonar
- Date:
- Thu Apr 19 13:31:58 2018 +0000
- Revision:
- 9:d0a3b4c7b261
- Parent:
- 4:f8a5c8aa895a
- Child:
- 10:c3614ed19126
Nucleo STM32F746ZG & USBHostMSD speed test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vsolonar | 9:d0a3b4c7b261 | 1 | /* |
vsolonar | 9:d0a3b4c7b261 | 2 | Big green ugly test. Free for use bla bla bla. Do not eat. |
vsolonar | 9:d0a3b4c7b261 | 3 | Tested on stm32f746zg |
vsolonar | 9:d0a3b4c7b261 | 4 | Results: 814 KB/s, to slow for my project. |
vsolonar | 9:d0a3b4c7b261 | 5 | No have idea how i can increase reading speed up to 4MB/s. |
vsolonar | 9:d0a3b4c7b261 | 6 | */ |
vsolonar | 9:d0a3b4c7b261 | 7 | |
samux | 0:0d68fe822228 | 8 | #include "mbed.h" |
samux | 0:0d68fe822228 | 9 | #include "USBHostMSD.h" |
samux | 0:0d68fe822228 | 10 | |
vsolonar | 9:d0a3b4c7b261 | 11 | Serial pc(USBTX, USBRX, 115200); // tx, rx, baud rate to avoid terminal glitches |
vsolonar | 9:d0a3b4c7b261 | 12 | |
vsolonar | 9:d0a3b4c7b261 | 13 | // read block size |
vsolonar | 9:d0a3b4c7b261 | 14 | unsigned int bs = 65536; |
vsolonar | 9:d0a3b4c7b261 | 15 | // read memory buffer |
vsolonar | 9:d0a3b4c7b261 | 16 | char buff[65536]; |
samux | 0:0d68fe822228 | 17 | |
vsolonar | 9:d0a3b4c7b261 | 18 | // Binary test file, 10MB size |
vsolonar | 9:d0a3b4c7b261 | 19 | unsigned long fsize=1024*1024*10; |
vsolonar | 9:d0a3b4c7b261 | 20 | // start time, end time, delta time |
vsolonar | 9:d0a3b4c7b261 | 21 | unsigned long time1, time2, time3; |
vsolonar | 9:d0a3b4c7b261 | 22 | // speed = fsize / time3 |
vsolonar | 9:d0a3b4c7b261 | 23 | float speed; |
vsolonar | 9:d0a3b4c7b261 | 24 | |
vsolonar | 9:d0a3b4c7b261 | 25 | |
vsolonar | 9:d0a3b4c7b261 | 26 | Timer t; |
vsolonar | 9:d0a3b4c7b261 | 27 | |
vsolonar | 9:d0a3b4c7b261 | 28 | int main() { |
vsolonar | 9:d0a3b4c7b261 | 29 | |
vsolonar | 9:d0a3b4c7b261 | 30 | // Mission clock on. |
vsolonar | 9:d0a3b4c7b261 | 31 | t.start(); |
samux | 0:0d68fe822228 | 32 | |
samux | 0:0d68fe822228 | 33 | USBHostMSD msd("usb"); |
vsolonar | 9:d0a3b4c7b261 | 34 | |
vsolonar | 9:d0a3b4c7b261 | 35 | while(1) { |
samux | 1:473f339c54c1 | 36 | while(!msd.connect()) { |
vsolonar | 9:d0a3b4c7b261 | 37 | pc.printf("Waiting for USB\r\n"); |
vsolonar | 9:d0a3b4c7b261 | 38 | wait_ms(500); |
samux | 1:473f339c54c1 | 39 | } |
vsolonar | 9:d0a3b4c7b261 | 40 | pc.printf("Flash mounted\r\n"); |
vsolonar | 9:d0a3b4c7b261 | 41 | |
vsolonar | 9:d0a3b4c7b261 | 42 | FILE * fp = fopen("/usb/test1.bin", "rb"); |
samux | 1:473f339c54c1 | 43 | |
samux | 1:473f339c54c1 | 44 | if (fp != NULL) { |
vsolonar | 9:d0a3b4c7b261 | 45 | pc.printf("File opened, reading...\r\n"); |
vsolonar | 9:d0a3b4c7b261 | 46 | |
vsolonar | 9:d0a3b4c7b261 | 47 | time1=t.read_ms(); |
vsolonar | 9:d0a3b4c7b261 | 48 | pc.printf("Start timer value = %u \r\n",time1); |
vsolonar | 9:d0a3b4c7b261 | 49 | |
vsolonar | 9:d0a3b4c7b261 | 50 | while(!feof(fp)) |
vsolonar | 9:d0a3b4c7b261 | 51 | { |
vsolonar | 9:d0a3b4c7b261 | 52 | fread(&buff,bs,1,fp); |
vsolonar | 9:d0a3b4c7b261 | 53 | } |
vsolonar | 9:d0a3b4c7b261 | 54 | |
vsolonar | 9:d0a3b4c7b261 | 55 | time2 = t.read_ms(); |
vsolonar | 9:d0a3b4c7b261 | 56 | pc.printf("End timer value = %u\r\n",time2); |
vsolonar | 9:d0a3b4c7b261 | 57 | |
vsolonar | 9:d0a3b4c7b261 | 58 | fclose(fp); |
vsolonar | 9:d0a3b4c7b261 | 59 | pc.printf("File closed\r\n"); |
vsolonar | 9:d0a3b4c7b261 | 60 | |
vsolonar | 9:d0a3b4c7b261 | 61 | time3 = time2 - time1; |
vsolonar | 9:d0a3b4c7b261 | 62 | speed = fsize / time3; |
vsolonar | 9:d0a3b4c7b261 | 63 | |
vsolonar | 9:d0a3b4c7b261 | 64 | pc.printf ("Time to read file %u speed KB/s = %f \r\n======================\r\n", time3, speed); |
vsolonar | 9:d0a3b4c7b261 | 65 | |
samux | 1:473f339c54c1 | 66 | } else { |
vsolonar | 9:d0a3b4c7b261 | 67 | pc.printf("FILE == NULL\r\n"); |
samux | 1:473f339c54c1 | 68 | } |
vsolonar | 9:d0a3b4c7b261 | 69 | |
samux | 1:473f339c54c1 | 70 | if (!msd.connected()) |
samux | 1:473f339c54c1 | 71 | break; |
samux | 0:0d68fe822228 | 72 | } |
samux | 0:0d68fe822228 | 73 | } |