Joel Pallent / Mbed 2 deprecated Muscle_Controlled_Servo

Dependencies:   mbed

Fork of Muscle_Controlled_Servo by Ben Gordon

Revision:
5:11489c0bd020
Parent:
4:bcef9164776e
Child:
7:a2648aacc8a7
--- a/SPI.cpp	Tue Apr 03 20:00:23 2018 +0000
+++ b/SPI.cpp	Thu Apr 05 15:54:48 2018 +0000
@@ -15,171 +15,42 @@
 DigitalIn DO_NOT_USE(PB_12);    // MAKE PB_12 (D19) an INPUT do NOT make an OUTPUT under any circumstances !!!!! ************* !!!!!!!!!!!
                                 // This Pin is connected to the 5VDC from the FPGA card and an INPUT is 5V Tolerant
 
-int adval_d;            //A to D value read back
-float adval_f;
-int err;                //error variable used for debugging, trapping etc.,
 
-char adval[32];
 //Ticker ticktock;
 
 void spi_write_data(short destination, unsigned int data)
 {
-    cs = destination;             //Select the device by seting chip select LOW
+    cs = destination;               // Select the device by seting chip select LOW
     spi_cmd.write(0);
     spi.write(data);
-    cs = CS_RESET;             //De-Select the device by seting chip select HIGH
+    cs = CS_RESET;                  // De-Select the device by seting chip select HIGH
 }
 
 int spi_read_data(short destination)
 {
-    cs = destination;             //Select the device by seting chip select LOW
+    cs = destination;               // Select the device by seting chip select LOW
     unsigned int read = spi.write(0);
-    cs = CS_RESET;             //De-Select the device by seting chip select HIGH
-    return read;
+    cs = CS_RESET;                  // De-Select the device by seting chip select HIGH
+    return read;                    // Return the read switch value
 }
 
 int spi_read_write_data(short destination, unsigned int data)
 {
-    cs = destination;             //Select the device by seting chip select LOW
+    cs = destination;               // Select the device by seting chip select LOW
     spi_cmd.write(0);
     unsigned int read = spi.write(data);
-    cs = CS_RESET;             //De-Select the device by seting chip select HIGH
-    return read;
+    cs = CS_RESET;                  // De-Select the device by seting chip select HIGH
+    return read;                    // Return the read switch value
 }
 
 
 
 void SPI_INIT (void)
 {
-    cs = CS_RESET;                     // Chip must be deselected, Chip Select is active LOW
+    cs = CS_RESET;              // Chip must be deselected, Chip Select is active LOW
     
     spi.format(16,0);           // Setup the DATA frame SPI for 16 bit wide word, Clock Polarity 0 and Clock Phase 0 (0)
     spi_cmd.format(8,0);        // Setup the COMMAND SPI as 8 Bit wide word, Clock Polarity 0 and Clock Phase 0 (0)
     spi.frequency(1000000);     // 1MHz clock rate
     spi_cmd.frequency(1000000); // 1MHz clock rate
-    
-    adval_d = 0;            //A to D value read back
-    adval_f =0.0f;
-    err = 0;                //error variable used for debugging, trapping etc.,
-    
-// Preload some arrays
-//    char hello_world[]="Hello World";
-    char splash_screen1[]="Martin Simpson";
-    char splash_screen2[]="Plymouth UNI";
-    char DVM[]="Voltage=";
-// Start up sequences
-    lcd_cls();
-    lcd_locate(1,1);
-    lcd_display(splash_screen1);    //Credit line 1
-    lcd_locate(2,2);
-    lcd_display(splash_screen2);    //Credit line 2
-    wait(2);
-    lcd_cls();  
-    lcd_locate(1,0);
-    lcd_display(DVM);   //Type Voltage display
-    lcd_locate(1,13);
-    lcd_display("V");   //Units display
 }
-
-void SPI_TEST(void)
-{
-    adval_d = read_adc();
-    
-    adval_f = 3.3f*((float)adval_d/4095);//Convert 12 bit to a float and scale
-    sprintf(adval,"%.3f",adval_f);       //Store in an array string
-    lcd_locate(1,8);                     //and display on LCD
-    lcd_display(adval);                  //
-    
-    err = bar_graph(adval_d/255);       // 16*256 =4096 12 bit ADC!
-    if (err < 0){printf("Display Overload\r\n");}
-    
-    read_switches();
-    //LED Chaser display KIT lives on!
-    for (uint32_t i=1;i<=128;i*=2)
-    {
-        spi_write_data(CS_GENERAL,i);             //Send data through spi
-        wait_ms(20);
-    }
-    for (uint32_t i=128;i>=1;i/=2)
-    {
-        spi_write_data(CS_GENERAL,i);             //Send data through spi
-        wait_ms(20);
-    }
-}
-//////////////////////////////////////////////////////////
-int lcd_cls(void){
-    spi_write_data(CS_LCD,0x0001);
-    wait_us(CD);    //Clear Screen
-    return 0;
-}
-
-int lcd_locate(uint8_t line, uint8_t column){
-    uint8_t line_addr;
-    uint8_t column_addr;
-    switch(line){
-        case 1: line_addr=0x80; break;
-        case 2: line_addr=0xC0; break;
-        default: return -1; //return code !=0 is error
-        }
-    if(column<16){column_addr=column;}
-    else{return -1;}
-    spi_write_data(CS_LCD,(line_addr+column_addr));
-    wait_us(CD); //DDRAM location Second line is 0x00C0 first line starts at 0x0080
-    return 0;
-}
-
-int lcd_display(char* str){
-    
-    if (strlen(str)>16){return -1;} //return code !=0 is error
-    
-    uint8_t command_data=1;
-    uint32_t wait_time;
- 
-    switch(command_data){
-        case 0: wait_time=DD; break;
-        case 1: wait_time=CD; break;
-        default: return -1;
-        }
-
-    for (int i=0; i<strlen(str);i++){
-        spi_write_data(CS_LCD,((command_data<<8)+str[i]));
-        wait_us(wait_time);
-    }
-    return 0;
-}
-
-int bar_graph(uint8_t level){
-    if (level>16){return -1;} //return code !=0 is error
-    spi_write_data(CS_LCD,0x00C0);
-    wait_us(CD); //DDRAM location Second line is 0x00C0 first line starts at 0x0080
-    for (int i=1; i<=level ;i++)
-    {
-        if(level>0){cs = CS_LCD;spi_cmd.write(0);spi.write(0x01FF);cs = CS_RESET;wait_us(DD);}   // BLACK SPACE
-        else{spi_write_data(CS_LCD,0x0120);wait_us(DD);}          // WHITE SPACE
-    }
-    for (int i=level; i<=16 ;i++)
-    {
-        spi_write_data(CS_LCD,0x0120);wait_us(DD); // SPACE
-    }
-    return 0; // return code ==0 is OK
-}
-///////////////////////////////////////////////////////////////////////////////////////////////
-int read_adc(void){
-    int adval_d;
-    float adval_f;
-    adval_d = spi_read_data(CS_ADC);
-    adval_f = 3.3f*((float)adval_d/4095);
-    printf("%d %.3fV\r\n",adval_d,adval_f);
-    return adval_d;    
-}
-////////////////////////////////////////////////////////////////////
-int read_switches(void){
-    int sw_val;
-    sw_val = spi_read_data(CS_GENERAL)&0x0F; // Just want lower 4bit nibble
-    if (sw_val&(1<<0)){printf("Switch 0 :");}
-    if (sw_val&(1<<1)){printf("Switch 1 :");}
-    if (sw_val&(1<<2)){printf("Switch 2 :");}
-    if (sw_val&(1<<3)){printf("Switch 3 :");}
-    if (sw_val>0){printf("\r\n");}
-    return sw_val;    
-}