project van rtos

Dependencies:   mbed-os

Fork of MFRC522 by Martin Olejar

Revision:
3:80837b470692
Parent:
2:c719944e080b
Child:
4:325954591d0f
--- a/main.cpp	Wed May 02 12:06:27 2018 +0000
+++ b/main.cpp	Tue May 08 12:52:09 2018 +0000
@@ -20,19 +20,252 @@
 Serial pc(USBTX, USBRX);
 
 DigitalOut led(LED1);
+DigitalOut dg0(p27);
+DigitalOut dg1(p28);
+DigitalOut dg2(p29);
+DigitalOut dg3(p30);
+
+DigitalOut da(p26);
+DigitalOut db(p25);
+DigitalOut dc(p24);
+DigitalOut dd(p23);
+DigitalOut de(p22);
+DigitalOut df(p21);
+DigitalOut dg(p19);
+DigitalOut ddp(p18);
+
+AnalogIn a0(p20);
+
+int sevenSeg;
+
+void light7Seg(int nr, int output) {
+    da = 0;
+    db = 0;
+    dc = 0;
+    dd = 0;
+    de = 0;
+    df = 0;
+    dg = 0;
+    ddp = 0;
+    dg0 = 1;
+    dg1 = 1;
+    dg2 = 1;
+    dg3 = 1;
+    switch(output) {
+        case 0:
+            dg0 = 0;
+            break;
+        case 1:
+            dg1 = 0;
+            break;
+        case 2:
+            dg2 = 0;
+            break;
+        case 3:
+            dg3 = 0;
+            ddp = 1;
+            break;
+        default:
+            break;
+    }
+    switch(nr) {
+        case 0:
+            da = 1;
+            db = 1;
+            dc = 1;
+            dd = 1;
+            de = 1;
+            df = 1;
+            dg = 0;
+            break;
+        case 1:
+            da = 0;
+            db = 1;
+            dc = 1;
+            dd = 0;
+            de = 0;
+            df = 0;
+            dg = 0;
+            break;
+        case 2:
+            da = 1;
+            db = 1;
+            dc = 0;
+            dd = 1;
+            de = 1;
+            df = 0;
+            dg = 1;
+            break;
+        case 3:
+            da = 1;
+            db = 1;
+            dc = 1;
+            dd = 1;
+            de = 0;
+            df = 0;
+            dg = 1;
+            break;
+        case 4:
+            da = 0;
+            db = 1;
+            dc = 1;
+            dd = 0;
+            de = 0;
+            df = 1;
+            dg = 1;
+            break;
+        case 5:
+            da = 1;
+            db = 0;
+            dc = 1;
+            dd = 1;
+            de = 0;
+            df = 1;
+            dg = 1;
+            break;
+        case 6:
+            da = 1;
+            db = 0;
+            dc = 1;
+            dd = 1;
+            de = 1;
+            df = 1;
+            dg = 1;
+            break;
+        case 7:
+            da = 1;
+            db = 1;
+            dc = 1;
+            dd = 0;
+            de = 0;
+            df = 0;
+            dg = 0;
+            break;
+        case 8:
+            da = 1;
+            db = 1;
+            dc = 1;
+            dd = 1;
+            de = 1;
+            df = 1;
+            dg = 1;
+            break;
+        case 9:
+            da = 1;
+            db = 1;
+            dc = 1;
+            dd = 1;
+            de = 0;
+            df = 1;
+            dg = 1;
+            break;
+        case 10:
+            da = 1;
+            db = 1;
+            dc = 1;
+            dd = 0;
+            de = 1;
+            df = 1;
+            dg = 1;
+            break;
+        case 11:
+            da = 0;
+            db = 0;
+            dc = 1;
+            dd = 1;
+            de = 1;
+            df = 1;
+            dg = 1;
+            break;
+        case 12:
+            da = 1;
+            db = 0;
+            dc = 0;
+            dd = 1;
+            de = 1;
+            df = 1;
+            dg = 0;
+            break;
+        case 13:
+            da = 0;
+            db = 1;
+            dc = 1;
+            dd = 1;
+            de = 1;
+            df = 0;
+            dg = 1;
+            break;
+        case 14:
+            da = 1;
+            db = 0;
+            dc = 0;
+            dd = 1;
+            de = 1;
+            df = 1;
+            dg = 1;
+            break;
+        case 15:
+            da = 1;
+            db = 0;
+            dc = 0;
+            dd = 0;
+            de = 1;
+            df = 1;
+            dg = 1;
+            break;
+        default:
+            da = 0;
+            db = 0;
+            dc = 0;
+            dd = 0;
+            de = 0;
+            df = 0;
+            dg = 0;
+            ddp = 0;     
+    }
+}
+
+void displayNumber7Seg(float nr) {
+    nr *= 1000;
+    int nrint = (int) nr;
+    int digits[4];
+    int i = 3;
+    while (nrint > 0) {
+        int digit = nrint % 10;
+        digits[i] = digit;
+        if(i == 0) {
+            break;    
+        }
+        i--;
+        nrint /= 10;
+    }    
+    for(int i = 0; i < 4; i++) {
+        light7Seg(digits[3-i], i);
+        wait_ms(100/24); //60Hz
+    }
+}
 
 int main(void) {
   pc.printf("Start");
   // Set debug UART speed
-  //DebugUART.baud(115200);
+  //pc.baud(115200);
 
   // Init. RC522 Chip
   RfChip.PCD_Init();
+  
+    dg0 = 0;
+    dg1 = 0;
+    dg2 = 0;
+    dg3 = 0;
 
   while (true) {
-    led = 0;
+    led = 0;    
+    
+    displayNumber7Seg(a0.read());
+
+    //printf("%0.4f \n\r", a0.read());
     // Look for new cards
-    if ( ! RfChip.PICC_IsNewCardPresent())
+    /*if ( ! RfChip.PICC_IsNewCardPresent())
     {
       wait_ms(500);
       continue;
@@ -58,5 +291,10 @@
     uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak);
     pc.printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType));
     wait_ms(1000);
-  }
+  }*/
+}
 }
+
+
+
+