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.
Diff: main.cpp
- Revision:
- 5:92add1a06191
- Parent:
- 4:dd534b0b54dd
- Child:
- 6:c09f0df4123c
--- a/main.cpp Fri Jul 25 11:34:28 2014 +0000 +++ b/main.cpp Fri Jul 25 13:35:41 2014 +0000 @@ -1,96 +1,75 @@ #include "mbed.h" #include "MLX90393.h" -DigitalOut myled(LED1); -Serial pc(USBTX, USBRX); -SPI spi(p5, p6, p7); -I2C i2c(p28, p27); -MLX90393 mlx_spi(p8,&spi); -MLX90393 mlx_i2c(0x19,&i2c); - -char read_buffer_main[10]; int main() { + //mBed indicators + DigitalOut myled(LED1); + + //PC-communication + Serial pc (USBTX, USBRX); + pc.baud(9600); + char hostCommand; + int hostData1; + int hostData2; + int hostData3; + //Chip communication + SPI spi(p5, p6, p7); + spi.format(MLX90393::spi_bits,MLX90393::spi_mode); + spi.frequency(1000000); + MLX90393 sensor(p26,&spi); - pi.format(8,3); - //OR - //spi.format(MLX90393::spi_bits,MLX90393::spi_mode); + //variables + char read_buffer[10]; - spi.frequency(1000000); - i2c.frequency(75000); - /* - __ ___ ______ _______. _______ ______ __ __ _______ .__ __. ______ _______ - | | |__ \ / | / || ____| / __ \ | | | | | ____|| \ | | / || ____| - | | ) | | ,----' | (----`| |__ | | | | | | | | | |__ | \| | | ,----'| |__ - | | / / | | \ \ | __| | | | | | | | | | __| | . ` | | | | __| - | | / /_ | `----. .----) | | |____ | `--' '--.| `--' | | |____ | |\ | | `----.| |____ - |__| |____| \______| |_______/ |_______| \_____\_____\\______/ |_______||__| \__| \______||_______| + while(1) { + printf("**voor*** \n\r"); + pc.scanf(" %i, %i, %i, %i", &hostCommand, &hostData1, &hostData2, &hostData3); + printf("**NA*** \n\r"); + //hostCommand = 5; + switch(hostCommand) { + case 0: { - */ - while (0) { - mlx_i2c.WR(read_buffer_main,0,0x7C,0); - pc.printf("[WR] - Status: %i\n",read_buffer_main[0]); - wait(1); - mlx_i2c.RR(read_buffer_main,0,0); - pc.printf("[RR] - Status: %i MSB: %i LSB: %i\n",read_buffer_main[0],read_buffer_main[1],read_buffer_main[2]); - wait(1); - mlx_i2c.SB(read_buffer_main,0xF,0); - pc.printf("[SB] - Status: %i\n",read_buffer_main[0]); - wait(1); - for(int i=0 ; i<10; ++i) { - mlx_i2c.RM(read_buffer_main,0xF,0); - 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]); - wait(0.2); + break; + } + case 1: { + break; + } + case 2: { + break; + } + case 3: { + break; + } + case 4: { + break; + } + case 5: { + //exit + //printf("**case5** \n\r"); + sensor.EX(read_buffer,1); + break; + } + case 6: { + //single measurement + sensor.SM(read_buffer,hostData1,1); + break; + } + case 7: { + break; + } + case 8: { + //burst + sensor.SB(read_buffer,hostData1,1); + break; + } + case 9: { + //wake up on change + sensor.SWOC(read_buffer,hostData1,1); + break; + } } - wait(1); - mlx_i2c.EX(read_buffer_main,0); - pc.printf("[EX] - Status: %i\n",read_buffer_main[0]); - wait(1); - mlx_i2c.SM(read_buffer_main,0xF,0); - pc.printf("[SM] - Status: %i\n",read_buffer_main[0]); - wait(1); - mlx_i2c.RM(read_buffer_main,0xF,0); - 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]); - wait(1); - pc.printf("\n"); - } - - /* - _______..______ __ _______. _______ ______ __ __ _______ .__ __. ______ _______ - / || _ \ | | / || ____| / __ \ | | | | | ____|| \ | | / || ____| - | (----`| |_) | | | | (----`| |__ | | | | | | | | | |__ | \| | | ,----'| |__ - \ \ | ___/ | | \ \ | __| | | | | | | | | | __| | . ` | | | | __| - .----) | | | | | .----) | | |____ | `--' '--.| `--' | | |____ | |\ | | `----.| |____ - |_______/ | _| |__| |_______/ |_______| \_____\_____\\______/ |_______||__| \__| \______||_______| - - */ - while (1) { - mlx_spi.WR(read_buffer_main,0,0x7C,1); - pc.printf("[WR] - Status: %i\n",read_buffer_main[0]); - wait(1); - mlx_spi.RR(read_buffer_main,0,1); - pc.printf("[RR] - Status: %i MSB: %i LSB: %i\n",read_buffer_main[0],read_buffer_main[1],read_buffer_main[2]); - wait(1); - mlx_spi.SB(read_buffer_main,0xF,1); - pc.printf("[SB] - Status: %i\n",read_buffer_main[0]); - wait(1); - for(int i=0 ; i<10; ++i) { - mlx_spi.RM(read_buffer_main,0xF,1); - 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]); - wait(0.2); - } - wait(1); - mlx_spi.EX(read_buffer_main,1); - pc.printf("[EX] - Status: %i\n",read_buffer_main[0]); - wait(1); - mlx_spi.SM(read_buffer_main,0xF,1); - pc.printf("[SM] - Status: %i\n",read_buffer_main[0]); - wait(1); - mlx_spi.RM(read_buffer_main,0xF,1); - 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]); - wait(1); - pc.printf("\n"); } } \ No newline at end of file