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.
Dependencies: mbed-rtos mbed wolfSSL
Fork of sd_duplicator by
main.cpp@2:166e98bcd1cc, 2016-11-30 (annotated)
- Committer:
- jlharper
- Date:
- Wed Nov 30 20:19:24 2016 +0000
- Revision:
- 2:166e98bcd1cc
- Parent:
- 1:7827a11dc627
- Child:
- 3:57cbfc7d9b62
hopefully this copies correctly. 11/30;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| tmasrat | 0:b453be3137c7 | 1 | #include "mbed.h" |
| jlharper | 1:7827a11dc627 | 2 | #include "SDBlock.h" |
| jlharper | 1:7827a11dc627 | 3 | #include "Crypto.h" |
| jlharper | 1:7827a11dc627 | 4 | |
| jlharper | 1:7827a11dc627 | 5 | DigitalOut led1(LED1); |
| jlharper | 2:166e98bcd1cc | 6 | DigitalOut led4(LED4); |
| jlharper | 1:7827a11dc627 | 7 | int main() |
| jlharper | 1:7827a11dc627 | 8 | { |
| jlharper | 1:7827a11dc627 | 9 | SDBlock original(p5, p6, p7, p22); |
| jlharper | 1:7827a11dc627 | 10 | SDBlock duplicate(p11, p12, p13, p21); |
| jlharper | 1:7827a11dc627 | 11 | const int x = original.disk_initialize(); |
| jlharper | 1:7827a11dc627 | 12 | const int z = duplicate.disk_initialize(); |
| jlharper | 1:7827a11dc627 | 13 | printf("************\n"); |
| jlharper | 1:7827a11dc627 | 14 | printf("%d\n", x); |
| jlharper | 1:7827a11dc627 | 15 | printf("%d\n", z); |
| jlharper | 1:7827a11dc627 | 16 | const int y = original.disk_status(); |
| jlharper | 1:7827a11dc627 | 17 | printf("%d\n", y); |
| jlharper | 1:7827a11dc627 | 18 | //s is sector |
| jlharper | 1:7827a11dc627 | 19 | const uint32_t s = original.disk_sectors(); |
| jlharper | 1:7827a11dc627 | 20 | printf("secotr size %d\n", s); |
| jlharper | 1:7827a11dc627 | 21 | uint8_t buffer[512]; |
| jlharper | 1:7827a11dc627 | 22 | printf("buffer %d\n", buffer); |
| jlharper | 1:7827a11dc627 | 23 | const uint32_t block = 0; |
| jlharper | 1:7827a11dc627 | 24 | //start time |
| jlharper | 1:7827a11dc627 | 25 | time_t time_start = time(NULL); |
| jlharper | 1:7827a11dc627 | 26 | for (int i = 0; i <= s; ++i) |
| jlharper | 1:7827a11dc627 | 27 | { |
| jlharper | 1:7827a11dc627 | 28 | const int r = original.disk_read(buffer, i, 1); |
| jlharper | 1:7827a11dc627 | 29 | if (r !=0) |
| jlharper | 1:7827a11dc627 | 30 | { |
| jlharper | 1:7827a11dc627 | 31 | printf("%d\n", r); |
| jlharper | 1:7827a11dc627 | 32 | } |
| jlharper | 2:166e98bcd1cc | 33 | const int rd2 = duplicate.disk_write(buffer, i, 1); |
| jlharper | 1:7827a11dc627 | 34 | if (rd2 != 0) |
| jlharper | 1:7827a11dc627 | 35 | { |
| jlharper | 1:7827a11dc627 | 36 | printf("%d\n", rd2); |
| jlharper | 1:7827a11dc627 | 37 | } |
| jlharper | 2:166e98bcd1cc | 38 | if(i % 1000 == 0) |
| jlharper | 1:7827a11dc627 | 39 | { |
| jlharper | 1:7827a11dc627 | 40 | //status update |
| jlharper | 1:7827a11dc627 | 41 | double percentage = (i/s) * 100; |
| jlharper | 1:7827a11dc627 | 42 | printf("percent copied: %d\n", percentage); |
| jlharper | 1:7827a11dc627 | 43 | //time elapsed |
| jlharper | 1:7827a11dc627 | 44 | time_t time_current = time(NULL); |
| jlharper | 1:7827a11dc627 | 45 | int time_working = time_start - time_current; |
| jlharper | 1:7827a11dc627 | 46 | double speed = (i * 512) / time_working; |
| jlharper | 1:7827a11dc627 | 47 | |
| jlharper | 1:7827a11dc627 | 48 | printf("speed (bytes/s): %d\n", speed); |
| jlharper | 1:7827a11dc627 | 49 | } |
| jlharper | 1:7827a11dc627 | 50 | } |
| jlharper | 1:7827a11dc627 | 51 | printf("finished"); |
| jlharper | 2:166e98bcd1cc | 52 | led1=1; |
| jlharper | 2:166e98bcd1cc | 53 | led4=1; |
| tmasrat | 0:b453be3137c7 | 54 | |
| jlharper | 1:7827a11dc627 | 55 | // printf("%d\n", r); |
| jlharper | 1:7827a11dc627 | 56 | //printf("%d\n", buffer); |
| tmasrat | 0:b453be3137c7 | 57 | |
| jlharper | 1:7827a11dc627 | 58 | //printf("%d\n", rd2); |
| jlharper | 1:7827a11dc627 | 59 | //const int w = |
| jlharper | 1:7827a11dc627 | 60 | } |
