Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@2:ed31b405067c, 2014-06-26 (annotated)
- 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?
User | Revision | Line number | New 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 | } |