User Tools

Site Tools


user:ccornair:portfolio:datacomm6

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
user:ccornair:portfolio:datacomm6 [2013/12/13 04:12] – created ccornairuser:ccornair:portfolio:datacomm6 [2013/12/14 02:03] (current) ccornair
Line 1: Line 1:
 +====Objective====
 +To connect 2 raspberry pis and send morse code form one and display on the other
 +====Prerequisites====
 + raspberry pie,monitor, keyboard, data cable, hdmi to usb cable, network cable
  
 +====Background====
 +The Raspberry Pi is a credit-card-sized single-board computer developed in the UK by the Raspberry Pi Foundation with the intention of promoting the teaching of basic computer science in schools.[7][8][9][10][11]
 +
 +The Raspberry Pi is manufactured through licensed manufacturing deals with Newark element14 (Premier Farnell), RS Components and Egoman. All of these companies sell the Raspberry Pi online.[12] Egoman produces a version for distribution solely in China and Taiwan, which can be distinguished from other Pis by their red coloring and lack of FCC/CE marks. The hardware is the same across all manufacturers.
 +
 +====Code====
 +
 +conduit
 +<code>
 +
 +#include "rpi.h"
 +#include<stdlib.h>
 +int i,j,k,l;
 +int main()
 +{
 +  if(map_peripheral(&gpio) == -1)
 +  {
 +    printf("Failed to map the physical GPIO registers into the virtual memory space.\n");
 +    return -1;
 +  }
 +
 +
 +/*    INP_GPIO(17);
 +        OUT_GPIO(7);
 +*/
 +    INP_GPIO(22);
 +        OUT_GPIO(10);
 +/*
 +    INP_GPIO(9);
 +        OUT_GPIO(11);
 +    INP_GPIO(8);
 +    OUT_GPIO(23);
 +*/
 +        GPIO_CLR = 1 << 8;
 +        GPIO_CLR = 1 << 9;
 +        GPIO_CLR = 1 << 22;
 +        GPIO_CLR = 1 << 17;
 +
 +
 +
 +
 +    while(1)
 +    {
 +
 +
 +        i = GPIO_READ(8);
 +        printf("%d \n", i);
 +        if(i !=0)
 +        {
 +        GPIO_SET = 1 << 23;
 +        }
 +        else
 +        {
 +        GPIO_CLR = 1 << 23;
 +        }
 +
 +                j = GPIO_READ(9);
 +                printf("%d \n", j);
 +                if(j !=0)
 +                {
 +                GPIO_SET = 1 <<11;
 +                }
 +        else
 +        {
 +                GPIO_CLR = 1 << 11;
 +                }
 +
 +                k = GPIO_READ(22);
 +                printf("%d \n", k);
 +                if(k !=0)
 +                {
 +                GPIO_SET = 1 << 10;
 +                }
 +        else
 +        {
 +                GPIO_CLR = 1 << 10;
 +                }
 +
 +                l = GPIO_READ(17);
 +                printf("%d \n", l);
 +                if(l !=0)
 +                {
 +                GPIO_SET = 1 << 7;
 +                }
 +        else
 +        {
 +                GPIO_CLR = 1 << 7;
 +                }
 +
 +
 +
 +    }
 +}
 +
 +</code>
 +
 +<code>
 +#include <stdio.h>
 +#include <stdlib.h>
 +#include "rpi.h"
 +int main()
 +
 +{
 +
 +if(map_peripheral(&gpio) == -1) 
 +  {
 +    printf("Failed to map the physical GPIO registers into the virtual memory space.\n");
 +    return -1; 
 +  }
 +
 + INP_GPIO(23);
 +  OUT_GPIO(23);
 +
 +  
 +  
 +
 +
 +char morse;
 +
 +printf("type a string: \n");
 +scanf( "%c", &morse );
 +
 +while( morse != '#' )
 +{
 +
 +if( morse  == 'A' )
 +
 + {
 + GPIO_SET = 1 << 23;
 + usleep(80000);
 + GPIO_CLR = 1 << 23;
 +     usleep(360000);
 + GPIO_SET = 1 << 23;
 + usleep(240000);
 + GPIO_CLR = 1 << 23;
 + usleep(1480000);
 + printf( ".- " ) ;
 + }
 +
 + else if( morse == 'B' )
 +
 +    {   
 + GPIO_SET = 1 << 23; 
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 + usleep(200000);
 +        GPIO_SET = 1 << 23; 
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(360000); 
 + GPIO_SET = 1 << 23; 
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(360000); 
 + GPIO_SET = 1 << 23; 
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(760000); 
 +        printf( "-... " ) ; 
 +    }   
 +
 + else if( morse == 'C' )
 +
 +    {   
 +        GPIO_SET = 1 << 23; 
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(200000);
 +        GPIO_SET = 1 << 23; 
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(360000); 
 + GPIO_SET = 1 << 23; 
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(200000);
 +        GPIO_SET = 1 << 23; 
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(760000); 
 +
 + printf( "-.-. " ) ;
 +    }
 +
 + else if( morse == 'D' )
 +
 +    {   
 +        GPIO_SET = 1 << 23; 
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(200000);
 +        GPIO_SET = 1 << 23; 
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(360000); 
 +        GPIO_SET = 1 << 23;
 + usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(1200000);
 +        
 + printf( "-.. " ) ; 
 +    }   
 +
 +    else if( morse == 'E' )
 +
 +    {   
 + GPIO_SET = 1 << 23;
 + usleep(80000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(2080000);
 +
 +        printf( ". " ) ; 
 +    }   
 +
 + else if( morse == 'F' )
 +
 +    {   
 +        GPIO_SET = 1 << 23;
 + usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 +        GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 + GPIO_SET = 1 << 23;
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(200000);
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 + GPIO_CLR = 1 << 23;
 +        usleep(760000);
 + printf( "..-. " ) ; 
 +    }   
 +
 + else if( morse == 'G' )
 +
 +    {   
 +        GPIO_SET = 1 << 23;
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(200000);
 + GPIO_SET = 1 << 23;
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(200000);
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(1200000);
 + printf( "--. " ) ; 
 +    }   
 +
 + else if( morse == 'H' )
 +
 +    {   
 +         GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(760000);
 + printf( ".... " ) ; 
 +    }   
 +
 + else if( morse == 'I' )
 +
 +    {   
 +         GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(1640000);
 + printf( ".. " ) ; 
 +    }
 +
 + else if( morse == 'J' )
 +
 +    {   
 +         GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 + GPIO_SET = 1 << 23; 
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(200000);
 + GPIO_SET = 1 << 23; 
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(200000);
 +  GPIO_SET = 1 << 23; 
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(600000);
 +
 + printf( ".--- " ) ; 
 +    }   
 +
 + else if( morse == 'K' )
 +
 +    {   
 +         GPIO_SET = 1 << 23; 
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(200000);
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 + GPIO_SET = 1 << 23; 
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(1040000); 
 +
 + printf( "-.- " ) ; 
 +    }   
 +
 + else if( morse == 'L' )
 +
 +    {   
 +        GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 + GPIO_SET = 1 << 23; 
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(200000); 
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(760000);
 +
 + printf( ".-.. " ) ; 
 +    }   
 +
 + else if( morse == 'M' )
 +
 +    {   
 +        GPIO_SET = 1 << 23; 
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(200000);
 + GPIO_SET = 1 << 23; 
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(600000);
 +
 + printf( "-- " ) ; 
 +    }   
 +
 + else if( morse == 'N' )
 +
 +    {   
 +        GPIO_SET = 1 << 23;
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(200000);
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(1640000);
 + printf( "-. " ) ; 
 +    }   
 +
 + else if( morse == 'O' )
 +
 +    {   
 +        
 + GPIO_SET = 1 << 23;
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(200000);
 + GPIO_SET = 1 << 23;
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(200000);
 + GPIO_SET = 1 << 23;
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(1040000);
 + printf( "--- " ) ; 
 +    }   
 +
 + else if( morse == 'P' )
 +
 +    {   
 +        GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 + GPIO_SET = 1 << 23;
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(200000);
 + GPIO_SET = 1 << 23;
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(200000);
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(760000);
 + printf( ".--. " ) ; 
 +    }   
 +
 + else if( morse == 'Q' )
 +
 +    {   
 + GPIO_SET = 1 << 23;
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(200000);
 + GPIO_SET = 1 << 23;
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(200000);
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 + GPIO_SET = 1 << 23;
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(600000);
 +
 +        printf( "--.- " ) ; 
 +    }   
 +
 + else if( morse == 'R' )
 +
 +    {   
 +        GPIO_SET = 1 << 23; 
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(360000);
 +        GPIO_SET = 1 << 23;
 +        usleep(240000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(200000);
 + GPIO_SET = 1 << 23; 
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23; 
 +        usleep(1200000);
 +
 + printf( ".-. " ) ; 
 +    }   
 +
 + else if( morse == 'S' )
 +
 +    {   
 +        GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(360000);
 + GPIO_SET = 1 << 23;
 +        usleep(80000);
 +        GPIO_CLR = 1 << 23;
 +        usleep(1200000);
 +
 + printf( "... " ) ; 
 +    }   
 +
 + else if( morse == 'T' )
 +
 +    {   
 +        GPIO_SET = 1 << 23;
 + usleep(240000);
 + GPIO_CLR = 1 << 23; 
 + usleep(1920000);
 +
 + printf( "- " ) ; 
 +    }   
 +
 + else if( morse == 'U' )
 +
 +    {   
 + GPIO_SET = 1 << 23;
 + usleep(80000);
 + GPIO_CLR = 1 << 23;         
 + usleep(360000); 
 +        GPIO_SET = 1 << 23;
 + usleep(80000);
 + GPIO_CLR = 1 << 23;         
 + usleep(360000);
 + GPIO_SET = 1 << 23;
 + usleep(240000);
 + GPIO_CLR = 1 << 23; 
 + usleep(1040000);
 + 
 + printf( "..- " ) ; 
 +    }   
 +
 + else if( morse == 'V' )
 +
 +    {   
 +        GPIO_SET = 1 << 23;
 + usleep(80000);
 + GPIO_CLR = 1 << 23;         
 + usleep(360000);
 + GPIO_SET = 1 << 23;
 + usleep(80000);
 + GPIO_CLR = 1 << 23;         
 + usleep(360000);
 + GPIO_SET = 1 << 23;
 + usleep(80000);
 + GPIO_CLR = 1 << 23;         
 + usleep(360000);
 + GPIO_SET = 1 << 23;
 + usleep(240000);
 + GPIO_CLR = 1 << 23; 
 + usleep(600000);
 +
 + printf( "...- " ) ; 
 +    }   
 +
 + else if( morse == 'W' )
 +
 +    {   
 +        GPIO_SET = 1 << 23;
 + usleep(80000);
 + GPIO_CLR = 1 << 23;         
 + usleep(3600000);
 + GPIO_SET = 1 << 23;
 + usleep(240000);
 + GPIO_CLR = 1 << 23; 
 + usleep(200000);
 + GPIO_SET = 1 << 23;
 + usleep(240000);
 + GPIO_CLR = 1 << 23; 
 + usleep(1040000);
 +  
 + printf( ".-- " ) ; 
 +    }   
 +
 + else if( morse == 'X' )
 +
 +    {   
 +        GPIO_SET = 1 << 23;
 + usleep(240000);
 +     GPIO_CLR = 1 << 23; 
 + usleep(200000);
 + GPIO_SET = 1 << 23;
 + usleep(80000);
 + GPIO_CLR = 1 << 23;         
 + usleep(360000); 
 + GPIO_SET = 1 << 23;
 + usleep(80000);
 + GPIO_CLR = 1 << 23;         
 + usleep(360000); 
 + GPIO_SET = 1 << 23;
 + usleep(240000);
 + GPIO_CLR = 1 << 23; 
 + usleep(600000);
 +
 + printf( "-..- " ) ; 
 +    }   
 +
 + else if( morse == 'Y' )
 +
 +    {   
 +        GPIO_SET = 1 << 23;
 + usleep(240000);
 + GPIO_CLR = 1 << 23; 
 + usleep(200000);
 + GPIO_SET = 1 << 23;
 + usleep(80000);
 + GPIO_CLR = 1 << 23;         
 + usleep(360000); 
 + GPIO_SET = 1 << 23;
 + usleep(240000);
 + GPIO_CLR = 1 << 23; 
 + usleep(200000);
 + GPIO_SET = 1 << 23;
 + usleep(240000);
 + GPIO_CLR = 1 << 23; 
 + usleep(600000);
 +
 + printf( "-.-- " ) ; 
 +    }   
 +
 + else if( morse == 'Z' )
 +
 +    {   
 +        GPIO_SET = 1 << 23;
 + usleep(240000);
 + GPIO_CLR = 1 << 23; 
 + usleep(200000);
 + GPIO_SET = 1 << 23;
 + usleep(240000);
 + GPIO_CLR = 1 << 23; 
 + usleep(200000);
 + GPIO_SET = 1 << 23;
 + usleep(80000);
 + GPIO_CLR = 1 << 23;         
 + usleep(360000);
 + GPIO_SET = 1 << 23;
 + usleep(80000);
 + GPIO_CLR = 1 << 23;         
 + usleep(760000);
 + printf( "--.. " ) ; 
 +    }   
 +
 + scanf( "%c", &morse );
 +
 +}
 +
 +printf( "\n" );
 +
 +return 0;
 +
 +}
 +</code>
 +
 +====reflection====
 +
 +we did not completely finish this project but we did get it working for the most part, just had problems with latency
 +
 +
 +
 +
 +