Davi Cussan / Mbed 2 deprecated pc052c_configurator_original

Dependencies:   mbed

Committer:
PaoloB
Date:
Fri Jun 24 10:36:54 2016 +0000
Revision:
0:15d9f9050d21
Child:
2:ac580453441f
First working version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
PaoloB 0:15d9f9050d21 1 #include "mbed.h"
PaoloB 0:15d9f9050d21 2 #include <spi_functions.h>
PaoloB 0:15d9f9050d21 3
PaoloB 0:15d9f9050d21 4 int sendConfiguration(Serial &serialOut, SPI &dac_port, DigitalOut &sync)
PaoloB 0:15d9f9050d21 5 {
PaoloB 0:15d9f9050d21 6 int nWords= 12;
PaoloB 0:15d9f9050d21 7 unsigned short dac_data[nWords];
PaoloB 0:15d9f9050d21 8
PaoloB 0:15d9f9050d21 9 //CONFIGURE ALL PORTS AS OUTPUTS
PaoloB 0:15d9f9050d21 10 dac_data[0] = 0x0955; //
PaoloB 0:15d9f9050d21 11 dac_data[1] = 0x0A55; //
PaoloB 0:15d9f9050d21 12 dac_data[2] = 0x0B55; //
PaoloB 0:15d9f9050d21 13 dac_data[3] = 0x0C55; //
PaoloB 0:15d9f9050d21 14 dac_data[4] = 0x0D55; //
PaoloB 0:15d9f9050d21 15 dac_data[5] = 0x0E55; //
PaoloB 0:15d9f9050d21 16 dac_data[6] = 0x0F55; //
PaoloB 0:15d9f9050d21 17
PaoloB 0:15d9f9050d21 18 //SET ALL OUTPUTS TO 1
PaoloB 0:15d9f9050d21 19 dac_data[7] = 0x44FF; // P4 - P11
PaoloB 0:15d9f9050d21 20 dac_data[8] = 0x4CFF; // P12 - P19
PaoloB 0:15d9f9050d21 21 dac_data[9] = 0x54FF; // P20 - P27
PaoloB 0:15d9f9050d21 22 dac_data[10]= 0x5CFF; // P28 - P31
PaoloB 0:15d9f9050d21 23
PaoloB 0:15d9f9050d21 24 //EXIT SHUTDOWN MODE
PaoloB 0:15d9f9050d21 25 dac_data[11]= 0x0401;
PaoloB 0:15d9f9050d21 26 /*
PaoloB 0:15d9f9050d21 27 dac_data[0] = 0x0B5A; //
PaoloB 0:15d9f9050d21 28 dac_data[1] = 0x0C55; //
PaoloB 0:15d9f9050d21 29 dac_data[2] = 0x0D55; //
PaoloB 0:15d9f9050d21 30 dac_data[3] = 0x4E00; //
PaoloB 0:15d9f9050d21 31 dac_data[4] = 0x5600; //
PaoloB 0:15d9f9050d21 32 dac_data[5] = 0x0401; //
PaoloB 0:15d9f9050d21 33 */
PaoloB 0:15d9f9050d21 34 for (int i = 0; i < nWords; i++)
PaoloB 0:15d9f9050d21 35 {
PaoloB 0:15d9f9050d21 36 serialOut.printf("WRITING %d (0x%04x).\n", dac_data[i], dac_data[i]);
PaoloB 0:15d9f9050d21 37 mySPISend(dac_data[i], dac_port, sync);
PaoloB 0:15d9f9050d21 38 }
PaoloB 0:15d9f9050d21 39 return 0;
PaoloB 0:15d9f9050d21 40 }
PaoloB 0:15d9f9050d21 41
PaoloB 0:15d9f9050d21 42 int sendTransfer(unsigned short data, SPI &dac_port, DigitalOut &sync)
PaoloB 0:15d9f9050d21 43 {
PaoloB 0:15d9f9050d21 44
PaoloB 0:15d9f9050d21 45 //unsigned char nibble_data[2];
PaoloB 0:15d9f9050d21 46 //nibble_data[0]= data >>8;
PaoloB 0:15d9f9050d21 47 //nibble_data[1]= data;
PaoloB 0:15d9f9050d21 48
PaoloB 0:15d9f9050d21 49 //unsigned char rx_buffer[2];
PaoloB 0:15d9f9050d21 50
PaoloB 0:15d9f9050d21 51 //sync = 1;
PaoloB 0:15d9f9050d21 52 //wait (0.5);
PaoloB 0:15d9f9050d21 53
PaoloB 0:15d9f9050d21 54 //sync = 0;
PaoloB 0:15d9f9050d21 55
PaoloB 0:15d9f9050d21 56 //dac_port.transfer(nibble_data , 2, rx_buffer, 2, *functionpointer);
PaoloB 0:15d9f9050d21 57 //dac_port.write(data >> 8);// We have a 8 bit interface but need to write 16 bits. Two write in sequence (or use "transfer" instead)
PaoloB 0:15d9f9050d21 58 //dac_port.write(data);
PaoloB 0:15d9f9050d21 59
PaoloB 0:15d9f9050d21 60 //sync = 1;
PaoloB 0:15d9f9050d21 61
PaoloB 0:15d9f9050d21 62 //wait (0.5);
PaoloB 0:15d9f9050d21 63
PaoloB 0:15d9f9050d21 64
PaoloB 0:15d9f9050d21 65 return 0;
PaoloB 0:15d9f9050d21 66 }
PaoloB 0:15d9f9050d21 67
PaoloB 0:15d9f9050d21 68
PaoloB 0:15d9f9050d21 69 int mySPISend( unsigned short data, SPI &dac_port, DigitalOut &sync)
PaoloB 0:15d9f9050d21 70 // This is the basic function used to send the signals.
PaoloB 0:15d9f9050d21 71 {
PaoloB 0:15d9f9050d21 72 //sync = 1;
PaoloB 0:15d9f9050d21 73 wait (0.5);
PaoloB 0:15d9f9050d21 74
PaoloB 0:15d9f9050d21 75 sync = 0;
PaoloB 0:15d9f9050d21 76
PaoloB 0:15d9f9050d21 77 dac_port.write(data >> 8);// We have a 8 bit interface but need to write 16 bits. Two write in sequence (or use "transfer" instead)
PaoloB 0:15d9f9050d21 78 dac_port.write(data);
PaoloB 0:15d9f9050d21 79
PaoloB 0:15d9f9050d21 80 wait(0.000005); //
PaoloB 0:15d9f9050d21 81 sync = 1;
PaoloB 0:15d9f9050d21 82
PaoloB 0:15d9f9050d21 83 wait (0.5);
PaoloB 0:15d9f9050d21 84 return 0;
PaoloB 0:15d9f9050d21 85 }
PaoloB 0:15d9f9050d21 86