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@4:dd534b0b54dd, 2014-07-25 (annotated)
- Committer:
- EiJay
- Date:
- Fri Jul 25 11:34:28 2014 +0000
- Revision:
- 4:dd534b0b54dd
- Parent:
- 3:c4bdaf91371c
- Child:
- 5:92add1a06191
Main updated.
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 | 4:dd534b0b54dd | 3 | DigitalOut myled(LED1); |
EiJay | 4:dd534b0b54dd | 4 | Serial pc(USBTX, USBRX); |
EiJay | 4:dd534b0b54dd | 5 | SPI spi(p5, p6, p7); |
EiJay | 4:dd534b0b54dd | 6 | I2C i2c(p28, p27); |
EiJay | 4:dd534b0b54dd | 7 | |
EiJay | 4:dd534b0b54dd | 8 | MLX90393 mlx_spi(p8,&spi); |
EiJay | 4:dd534b0b54dd | 9 | MLX90393 mlx_i2c(0x19,&i2c); |
EiJay | 4:dd534b0b54dd | 10 | |
EiJay | 4:dd534b0b54dd | 11 | char read_buffer_main[10]; |
EiJay | 0:7bb832ad2fb8 | 12 | |
EiJay | 0:7bb832ad2fb8 | 13 | int main() |
EiJay | 0:7bb832ad2fb8 | 14 | { |
EiJay | 0:7bb832ad2fb8 | 15 | |
EiJay | 2:ed31b405067c | 16 | |
EiJay | 4:dd534b0b54dd | 17 | pi.format(8,3); |
EiJay | 4:dd534b0b54dd | 18 | //OR |
EiJay | 4:dd534b0b54dd | 19 | //spi.format(MLX90393::spi_bits,MLX90393::spi_mode); |
EiJay | 0:7bb832ad2fb8 | 20 | |
EiJay | 4:dd534b0b54dd | 21 | spi.frequency(1000000); |
EiJay | 4:dd534b0b54dd | 22 | i2c.frequency(75000); |
EiJay | 4:dd534b0b54dd | 23 | /* |
EiJay | 4:dd534b0b54dd | 24 | __ ___ ______ _______. _______ ______ __ __ _______ .__ __. ______ _______ |
EiJay | 4:dd534b0b54dd | 25 | | | |__ \ / | / || ____| / __ \ | | | | | ____|| \ | | / || ____| |
EiJay | 4:dd534b0b54dd | 26 | | | ) | | ,----' | (----`| |__ | | | | | | | | | |__ | \| | | ,----'| |__ |
EiJay | 4:dd534b0b54dd | 27 | | | / / | | \ \ | __| | | | | | | | | | __| | . ` | | | | __| |
EiJay | 4:dd534b0b54dd | 28 | | | / /_ | `----. .----) | | |____ | `--' '--.| `--' | | |____ | |\ | | `----.| |____ |
EiJay | 4:dd534b0b54dd | 29 | |__| |____| \______| |_______/ |_______| \_____\_____\\______/ |_______||__| \__| \______||_______| |
EiJay | 2:ed31b405067c | 30 | |
EiJay | 4:dd534b0b54dd | 31 | */ |
EiJay | 4:dd534b0b54dd | 32 | while (0) { |
EiJay | 4:dd534b0b54dd | 33 | mlx_i2c.WR(read_buffer_main,0,0x7C,0); |
EiJay | 4:dd534b0b54dd | 34 | pc.printf("[WR] - Status: %i\n",read_buffer_main[0]); |
EiJay | 4:dd534b0b54dd | 35 | wait(1); |
EiJay | 4:dd534b0b54dd | 36 | mlx_i2c.RR(read_buffer_main,0,0); |
EiJay | 4:dd534b0b54dd | 37 | pc.printf("[RR] - Status: %i MSB: %i LSB: %i\n",read_buffer_main[0],read_buffer_main[1],read_buffer_main[2]); |
EiJay | 4:dd534b0b54dd | 38 | wait(1); |
EiJay | 4:dd534b0b54dd | 39 | mlx_i2c.SB(read_buffer_main,0xF,0); |
EiJay | 4:dd534b0b54dd | 40 | pc.printf("[SB] - Status: %i\n",read_buffer_main[0]); |
EiJay | 4:dd534b0b54dd | 41 | wait(1); |
EiJay | 4:dd534b0b54dd | 42 | for(int i=0 ; i<10; ++i) { |
EiJay | 4:dd534b0b54dd | 43 | mlx_i2c.RM(read_buffer_main,0xF,0); |
EiJay | 4:dd534b0b54dd | 44 | pc.printf("[RM] - Status: %i T= %i X= %i Y= %i Z= %i\n",read_buffer_main[0],256*read_buffer_main[1]+read_buffer_main[2],256*read_buffer_main[3]+read_buffer_main[4],256*read_buffer_main[5]+read_buffer_main[6],256*read_buffer_main[7]+read_buffer_main[8]); |
EiJay | 4:dd534b0b54dd | 45 | wait(0.2); |
EiJay | 4:dd534b0b54dd | 46 | } |
EiJay | 4:dd534b0b54dd | 47 | wait(1); |
EiJay | 4:dd534b0b54dd | 48 | mlx_i2c.EX(read_buffer_main,0); |
EiJay | 4:dd534b0b54dd | 49 | pc.printf("[EX] - Status: %i\n",read_buffer_main[0]); |
EiJay | 4:dd534b0b54dd | 50 | wait(1); |
EiJay | 4:dd534b0b54dd | 51 | mlx_i2c.SM(read_buffer_main,0xF,0); |
EiJay | 4:dd534b0b54dd | 52 | pc.printf("[SM] - Status: %i\n",read_buffer_main[0]); |
EiJay | 4:dd534b0b54dd | 53 | wait(1); |
EiJay | 4:dd534b0b54dd | 54 | mlx_i2c.RM(read_buffer_main,0xF,0); |
EiJay | 4:dd534b0b54dd | 55 | pc.printf("[RM] - Status: %i T= %i X= %i Y= %i Z= %i\n",read_buffer_main[0],256*read_buffer_main[1]+read_buffer_main[2],256*read_buffer_main[3]+read_buffer_main[4],256*read_buffer_main[5]+read_buffer_main[6],256*read_buffer_main[7]+read_buffer_main[8]); |
EiJay | 4:dd534b0b54dd | 56 | wait(1); |
EiJay | 4:dd534b0b54dd | 57 | pc.printf("\n"); |
EiJay | 4:dd534b0b54dd | 58 | } |
EiJay | 1:e0fb0db3db3d | 59 | |
EiJay | 4:dd534b0b54dd | 60 | /* |
EiJay | 4:dd534b0b54dd | 61 | _______..______ __ _______. _______ ______ __ __ _______ .__ __. ______ _______ |
EiJay | 4:dd534b0b54dd | 62 | / || _ \ | | / || ____| / __ \ | | | | | ____|| \ | | / || ____| |
EiJay | 4:dd534b0b54dd | 63 | | (----`| |_) | | | | (----`| |__ | | | | | | | | | |__ | \| | | ,----'| |__ |
EiJay | 4:dd534b0b54dd | 64 | \ \ | ___/ | | \ \ | __| | | | | | | | | | __| | . ` | | | | __| |
EiJay | 4:dd534b0b54dd | 65 | .----) | | | | | .----) | | |____ | `--' '--.| `--' | | |____ | |\ | | `----.| |____ |
EiJay | 4:dd534b0b54dd | 66 | |_______/ | _| |__| |_______/ |_______| \_____\_____\\______/ |_______||__| \__| \______||_______| |
EiJay | 0:7bb832ad2fb8 | 67 | |
EiJay | 4:dd534b0b54dd | 68 | */ |
EiJay | 4:dd534b0b54dd | 69 | while (1) { |
EiJay | 4:dd534b0b54dd | 70 | mlx_spi.WR(read_buffer_main,0,0x7C,1); |
EiJay | 4:dd534b0b54dd | 71 | pc.printf("[WR] - Status: %i\n",read_buffer_main[0]); |
EiJay | 4:dd534b0b54dd | 72 | wait(1); |
EiJay | 4:dd534b0b54dd | 73 | mlx_spi.RR(read_buffer_main,0,1); |
EiJay | 4:dd534b0b54dd | 74 | pc.printf("[RR] - Status: %i MSB: %i LSB: %i\n",read_buffer_main[0],read_buffer_main[1],read_buffer_main[2]); |
EiJay | 4:dd534b0b54dd | 75 | wait(1); |
EiJay | 4:dd534b0b54dd | 76 | mlx_spi.SB(read_buffer_main,0xF,1); |
EiJay | 4:dd534b0b54dd | 77 | pc.printf("[SB] - Status: %i\n",read_buffer_main[0]); |
EiJay | 4:dd534b0b54dd | 78 | wait(1); |
EiJay | 4:dd534b0b54dd | 79 | for(int i=0 ; i<10; ++i) { |
EiJay | 4:dd534b0b54dd | 80 | mlx_spi.RM(read_buffer_main,0xF,1); |
EiJay | 4:dd534b0b54dd | 81 | pc.printf("[RM] - Status: %i T= %i X= %i Y= %i Z= %i\n",read_buffer_main[0],256*read_buffer_main[1]+read_buffer_main[2],256*read_buffer_main[3]+read_buffer_main[4],256*read_buffer_main[5]+read_buffer_main[6],256*read_buffer_main[7]+read_buffer_main[8]); |
EiJay | 4:dd534b0b54dd | 82 | wait(0.2); |
EiJay | 0:7bb832ad2fb8 | 83 | } |
EiJay | 4:dd534b0b54dd | 84 | wait(1); |
EiJay | 4:dd534b0b54dd | 85 | mlx_spi.EX(read_buffer_main,1); |
EiJay | 4:dd534b0b54dd | 86 | pc.printf("[EX] - Status: %i\n",read_buffer_main[0]); |
EiJay | 4:dd534b0b54dd | 87 | wait(1); |
EiJay | 4:dd534b0b54dd | 88 | mlx_spi.SM(read_buffer_main,0xF,1); |
EiJay | 4:dd534b0b54dd | 89 | pc.printf("[SM] - Status: %i\n",read_buffer_main[0]); |
EiJay | 4:dd534b0b54dd | 90 | wait(1); |
EiJay | 4:dd534b0b54dd | 91 | mlx_spi.RM(read_buffer_main,0xF,1); |
EiJay | 4:dd534b0b54dd | 92 | pc.printf("[RM] - Status: %i T= %i X= %i Y= %i Z= %i\n",read_buffer_main[0],256*read_buffer_main[1]+read_buffer_main[2],256*read_buffer_main[3]+read_buffer_main[4],256*read_buffer_main[5]+read_buffer_main[6],256*read_buffer_main[7]+read_buffer_main[8]); |
EiJay | 4:dd534b0b54dd | 93 | wait(1); |
EiJay | 4:dd534b0b54dd | 94 | pc.printf("\n"); |
EiJay | 0:7bb832ad2fb8 | 95 | } |
EiJay | 0:7bb832ad2fb8 | 96 | } |