Communication with LDC1101. Working version, ready for extensive calibration tests for resolution, linearity, etc.

Dependencies:   Bob DS1825 LDC1101 SDFileSystem mbed

Fork of Inductive_Sensor by Bob Giesberts

Committer:
bobgiesberts
Date:
Sat Dec 12 11:26:35 2015 +0000
Revision:
1:22c272515015
Parent:
0:e81b68888268
Child:
2:1a203732fc95
Including SD File system

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bobgiesberts 0:e81b68888268 1 #include "mbed.h"
bobgiesberts 0:e81b68888268 2 #include "LDC1101.h"
bobgiesberts 1:22c272515015 3 #include "SDFileSystem.h"
bobgiesberts 0:e81b68888268 4 #include <iostream>
bobgiesberts 0:e81b68888268 5 using namespace std;
bobgiesberts 0:e81b68888268 6
bobgiesberts 0:e81b68888268 7
bobgiesberts 0:e81b68888268 8 // Feedback on console
bobgiesberts 0:e81b68888268 9 Serial pc(USBTX, USBRX);
bobgiesberts 0:e81b68888268 10
bobgiesberts 0:e81b68888268 11
bobgiesberts 0:e81b68888268 12 // Feedback with leds
bobgiesberts 0:e81b68888268 13 DigitalOut redled(PTB0); // Red
bobgiesberts 0:e81b68888268 14 DigitalOut greenled(PTB1); // Green
bobgiesberts 0:e81b68888268 15 void flash(int n){
bobgiesberts 0:e81b68888268 16 for(int i = 0; i < n*2; i++){
bobgiesberts 0:e81b68888268 17 redled = 1-redled;
bobgiesberts 0:e81b68888268 18 greenled = 1-greenled;
bobgiesberts 0:e81b68888268 19 wait(0.2);
bobgiesberts 0:e81b68888268 20 }
bobgiesberts 0:e81b68888268 21 }
bobgiesberts 0:e81b68888268 22
bobgiesberts 0:e81b68888268 23
bobgiesberts 0:e81b68888268 24 // Main action
bobgiesberts 0:e81b68888268 25 int main(void){
bobgiesberts 0:e81b68888268 26
bobgiesberts 0:e81b68888268 27 pc.printf("5x knipperen...\n");
bobgiesberts 0:e81b68888268 28 flash(5);
bobgiesberts 0:e81b68888268 29
bobgiesberts 0:e81b68888268 30
bobgiesberts 1:22c272515015 31 // --- Connection to LDC1101
bobgiesberts 1:22c272515015 32 pc.printf("Contact maken met LDC1101...");
bobgiesberts 1:22c272515015 33 LDC1101 ldc(PTC6, PTC7, PTC5, PTC4, 120E-12, 6000000); // mosi, miso, sck, cs, capacitor, f_CLKIN
bobgiesberts 1:22c272515015 34 pc.printf("success!\n");
bobgiesberts 1:22c272515015 35
bobgiesberts 0:e81b68888268 36
bobgiesberts 1:22c272515015 37 // --- Connection to SD card
bobgiesberts 1:22c272515015 38 // Enable PTC3
bobgiesberts 1:22c272515015 39 DigitalOut sd_pin(PTC3);
bobgiesberts 1:22c272515015 40 sd_pin = 1;
bobgiesberts 1:22c272515015 41 // Load SD card
bobgiesberts 1:22c272515015 42 SDFileSystem SD(PTD6, PTD7, PTD5, PTD4, "sd"); // mosi, miso, sclk, cs, sd_name
bobgiesberts 1:22c272515015 43 // something with card detect?
bobgiesberts 1:22c272515015 44 // if(PTE0 == 1)
bobgiesberts 1:22c272515015 45 mkdir("/sd/mydir", 0777);
bobgiesberts 1:22c272515015 46 FILE *fp = fopen("/sd/mydir/sdtest.txt", "w");
bobgiesberts 1:22c272515015 47 if(fp == NULL) {
bobgiesberts 1:22c272515015 48 error("ERROR: Could not open file for write\n");
bobgiesberts 1:22c272515015 49 }
bobgiesberts 1:22c272515015 50 fprintf(fp, "Start writing the SD card!\r\n");
bobgiesberts 1:22c272515015 51 fclose(fp);
bobgiesberts 0:e81b68888268 52
bobgiesberts 0:e81b68888268 53 while(1)
bobgiesberts 0:e81b68888268 54 {
bobgiesberts 1:22c272515015 55 // feedback with LEDs
bobgiesberts 0:e81b68888268 56 flash(1);
bobgiesberts 0:e81b68888268 57
bobgiesberts 1:22c272515015 58 // Feedback in putty
bobgiesberts 0:e81b68888268 59 pc.printf("%4.0f",ldc.get_raw_l());
bobgiesberts 0:e81b68888268 60 pc.printf(", %f \r\n", 1000000*ldc.getInductance());
bobgiesberts 1:22c272515015 61
bobgiesberts 1:22c272515015 62 // Store in SD_card
bobgiesberts 1:22c272515015 63 fprintf(fp, "Doet het!\r\n");
bobgiesberts 1:22c272515015 64
bobgiesberts 0:e81b68888268 65 wait_ms(250);
bobgiesberts 0:e81b68888268 66 }
bobgiesberts 1:22c272515015 67
bobgiesberts 1:22c272515015 68 // On exit
bobgiesberts 1:22c272515015 69 fclose(fp);
bobgiesberts 1:22c272515015 70
bobgiesberts 0:e81b68888268 71 }