Cybersecurity Project / Mbed 2 deprecated sd_duplicator

Dependencies:   mbed-rtos mbed wolfSSL

Fork of sd_duplicator by Titi Asrat

main.cpp

Committer:
jlharper
Date:
2016-12-06
Revision:
3:57cbfc7d9b62
Parent:
2:166e98bcd1cc
Child:
4:2bcb836ba0de

File content as of revision 3:57cbfc7d9b62:

#include "mbed.h"
#include "SDBlock.h"
#include "Crypto.h"

DigitalOut led1(LED1);
DigitalOut led4(LED4);

uint8_t hash[32];
uint8_t buffer[512];
SHA256 h;

int main() 
{   
    SDBlock original(p5, p6, p7, p22);
    const int x = original.disk_initialize();
    printf("************\n");
    printf("%d\n", x);
    SDBlock duplicate(p11, p12, p13, p21);   
    const int z = duplicate.disk_initialize();
    printf("%d\n", z);
    const int y = original.disk_status();
    printf("original status: %d\n", y);
    const int t = duplicate.disk_status();
    printf("duplicate status: %d\n", t);
    //s is sector 
    const uint32_t s = original.disk_sectors();
    printf("sector size %d\n", s);
    printf("buffer %d\n", buffer);
    
    
    //start time
    //time_t time_start = time(NULL);
    for (int i = 0; i <= 100; ++i)
    {
        const int r = original.disk_read(buffer, i, 1);
        if (r !=0)
        {
            printf("%d\n", r);
        }   
        printf("disk read ");
       /* const int rd2 = duplicate.disk_write(buffer, i, 1);
        if (rd2 != 0)
        {
           printf("%d\n", rd2);
        }*/
        
        h.update(buffer, 512);
        printf("digest updated, block %d",i);
        
      /*  if(i % 1000 == 0)
        {
            status update
            double percentage = (i/s) * 100;
            printf("percent copied: %d\n", percentage);
            time elapsed
            time_t time_current = time(NULL);
            int time_working = time_start - time_current;
            double speed = (i * 512) / time_working;
            
            printf("speed (bytes/s): %d\n", speed);
        } */
    }
    h.finalize(hash);
    printf("finished\n");
    printf("hash: ");
    for(int i = 0; i < 32; ++i)
        printf("%02x", hash[i]);
    printf("\n");
    
    //when finished do this light pattern   
    while(true)
    {
        led1=0;
        led4=1;
        wait(.5);
        led1=1;
        led4=0;
        wait(.5);
    } 
}//end main