Albert-Jan Knevels / Mbed 2 deprecated CherryStone

Dependencies:   mbed

Committer:
EiJay
Date:
Thu Jun 26 11:47:14 2014 +0000
Revision:
2:ed31b405067c
Parent:
1:e0fb0db3db3d
Child:
3:c4bdaf91371c
intermediate

Who changed what in which revision?

UserRevisionLine numberNew contents of line
EiJay 0:7bb832ad2fb8 1 #include "mbed.h"
EiJay 0:7bb832ad2fb8 2 #include "MLX90393.h"
EiJay 0:7bb832ad2fb8 3 #include <string>
EiJay 0:7bb832ad2fb8 4
EiJay 0:7bb832ad2fb8 5 int main()
EiJay 0:7bb832ad2fb8 6 {
EiJay 0:7bb832ad2fb8 7 int spi_mode_90393;
EiJay 0:7bb832ad2fb8 8 int spi_bits_90393;
EiJay 0:7bb832ad2fb8 9
EiJay 1:e0fb0db3db3d 10 //char u8_spi_read_buffer[8];
EiJay 1:e0fb0db3db3d 11 //char u8_spi_write_buffer[7];
EiJay 2:ed31b405067c 12 char pcCommand;
EiJay 1:e0fb0db3db3d 13 //char hostAddress;
EiJay 1:e0fb0db3db3d 14 char dataByte1;
EiJay 1:e0fb0db3db3d 15 char dataByte2;
EiJay 1:e0fb0db3db3d 16 char address;
EiJay 2:ed31b405067c 17 int tempData1;
EiJay 2:ed31b405067c 18 int tempData2;
EiJay 2:ed31b405067c 19 int tempData3;
EiJay 0:7bb832ad2fb8 20 DigitalOut slaveSelect(p26);
EiJay 0:7bb832ad2fb8 21 DigitalOut myled1(LED1);
EiJay 0:7bb832ad2fb8 22 DigitalOut myled2(LED2);
EiJay 0:7bb832ad2fb8 23 DigitalOut myled3(LED3);
EiJay 0:7bb832ad2fb8 24 DigitalOut myled4(LED4);
EiJay 0:7bb832ad2fb8 25
EiJay 0:7bb832ad2fb8 26 Serial pc(USBTX, USBRX); // tx, rx
EiJay 0:7bb832ad2fb8 27 pc.baud(9600);
EiJay 0:7bb832ad2fb8 28 printf("**********Init Serial communication complete********* \n\r");
EiJay 0:7bb832ad2fb8 29
EiJay 0:7bb832ad2fb8 30 //SPI information is requested from the MLX90393 class.
EiJay 0:7bb832ad2fb8 31 spi_mode_90393 = MLX90393::spi_mode;
EiJay 0:7bb832ad2fb8 32 spi_bits_90393 = MLX90393::spi_bits;
EiJay 0:7bb832ad2fb8 33 printf("**********Get class variables complete********** \n\r");
EiJay 0:7bb832ad2fb8 34
EiJay 0:7bb832ad2fb8 35 //Creation of an SPI object
EiJay 0:7bb832ad2fb8 36 SPI spi(p5, p6, p7);
EiJay 0:7bb832ad2fb8 37 spi.format(spi_bits_90393,spi_mode_90393);
EiJay 0:7bb832ad2fb8 38 spi.frequency(2000);
EiJay 0:7bb832ad2fb8 39 printf("**********SPI complete********** \n\r");
EiJay 0:7bb832ad2fb8 40
EiJay 0:7bb832ad2fb8 41 //Creation sensor object + calling constructor object
EiJay 2:ed31b405067c 42 /*
EiJay 2:ed31b405067c 43 myled1=!myled1;
EiJay 2:ed31b405067c 44 myled2=tempData1;
EiJay 2:ed31b405067c 45 myled3=tempData2;
EiJay 2:ed31b405067c 46 myled4=tempData3;
EiJay 2:ed31b405067c 47 */
EiJay 0:7bb832ad2fb8 48
EiJay 0:7bb832ad2fb8 49 MLX90393 sensor(p26,&spi);
EiJay 0:7bb832ad2fb8 50 printf("**********Creat sensor object complete********** \n\r");
EiJay 1:e0fb0db3db3d 51 pcCommand = 4;
EiJay 0:7bb832ad2fb8 52 while (1) {
EiJay 0:7bb832ad2fb8 53
EiJay 2:ed31b405067c 54
EiJay 2:ed31b405067c 55 pc.scanf(" %i, %i, %i, %i", &pcCommand, &tempData1, &tempData2, &tempData3);
EiJay 2:ed31b405067c 56
EiJay 1:e0fb0db3db3d 57 switch (pcCommand) {
EiJay 0:7bb832ad2fb8 58
EiJay 1:e0fb0db3db3d 59 case 0: {
EiJay 0:7bb832ad2fb8 60 sensor.copyEEpromToRam();
EiJay 0:7bb832ad2fb8 61 break;
EiJay 0:7bb832ad2fb8 62 }
EiJay 1:e0fb0db3db3d 63 case 1: {
EiJay 0:7bb832ad2fb8 64 sensor.readEEpromToHost();
EiJay 0:7bb832ad2fb8 65 break;
EiJay 0:7bb832ad2fb8 66 }
EiJay 1:e0fb0db3db3d 67 case 2: {
EiJay 2:ed31b405067c 68
EiJay 2:ed31b405067c 69 //pc.scanf(" %i, %i, %i", &dataByte2, &dataByte1, &address);
EiJay 2:ed31b405067c 70 sensor.writeToEEprom_spi(tempData1,tempData2,tempData3);
EiJay 1:e0fb0db3db3d 71 break;
EiJay 1:e0fb0db3db3d 72 }
EiJay 1:e0fb0db3db3d 73 case 4: {
EiJay 2:ed31b405067c 74
EiJay 2:ed31b405067c 75 sensor.getStatus_spi();
EiJay 0:7bb832ad2fb8 76 break;
EiJay 0:7bb832ad2fb8 77 }
EiJay 1:e0fb0db3db3d 78 case 5: {
EiJay 2:ed31b405067c 79 sensor.exitMode();
EiJay 0:7bb832ad2fb8 80 break;
EiJay 0:7bb832ad2fb8 81 }
EiJay 1:e0fb0db3db3d 82 case 6: {
EiJay 2:ed31b405067c 83 sensor.startSingleMeasurementMode(tempData1);
EiJay 1:e0fb0db3db3d 84 break;
EiJay 1:e0fb0db3db3d 85 }
EiJay 1:e0fb0db3db3d 86 case 7: {
EiJay 2:ed31b405067c 87 sensor.readMeasurement(tempData1);
EiJay 2:ed31b405067c 88 break;
EiJay 2:ed31b405067c 89 }
EiJay 2:ed31b405067c 90 case 8: {
EiJay 2:ed31b405067c 91 sensor.startBurstMode(tempData1);
EiJay 1:e0fb0db3db3d 92 break;
EiJay 1:e0fb0db3db3d 93 }
EiJay 1:e0fb0db3db3d 94
EiJay 0:7bb832ad2fb8 95
EiJay 0:7bb832ad2fb8 96 }
EiJay 0:7bb832ad2fb8 97 }
EiJay 0:7bb832ad2fb8 98 }