050216

Dependencies:   MODSERIAL mon-050216 mbed timer0-050216

Fork of mbed_blinky by Mbed

Files at this revision

API Documentation at this revision

Comitter:
rs27
Date:
Fri Feb 05 16:52:41 2016 +0000
Parent:
9:0d1a88e54782
Child:
11:be852b7b7692
Commit message:
050216

Changed in this revision

MODSERIAL.lib Show annotated file Show diff for this revision Revisions of this file
RS_485.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
main.h Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
mon.lib Show annotated file Show diff for this revision Revisions of this file
timer0.lib Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MODSERIAL.lib	Fri Feb 05 16:52:41 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/AjK/code/MODSERIAL/#ae0408ebdd68
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RS_485.lib	Fri Feb 05 16:52:41 2016 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/teams/Notaus/code/RS_485-050216/#8779e76fd4ea
--- a/main.cpp	Thu Oct 29 12:28:39 2015 +0000
+++ b/main.cpp	Fri Feb 05 16:52:41 2016 +0000
@@ -1,12 +1,128 @@
+// RS485 Link für modeserial
+// https://developer.mbed.org/cookbook/MODSERIAL
+
 #include "mbed.h"
+#include "main.h"
+#include "timer0.h"
+#include "mon.h"
+#include "rs_485.h"
+
+DigitalOut led1(LED1,1);
+DigitalOut led2(LED2,1);
+DigitalOut led3(LED3,1);
+DigitalOut led4(LED4,1);
+DigitalOut led5(LED5,1);
+DigitalOut led6(LED6,1);
+DigitalOut led7(LED7,1);
+
+DigitalOut out1(OUT1,0);    // max 500mA schaltet gegen GND
+DigitalOut out2(OUT2,0);
+DigitalOut out3(OUT3,0);
+DigitalOut out4(OUT4,0);
 
-DigitalOut myled(LED1);
+DigitalIn in1(IN1);         // 0 oder 24V
+DigitalIn in2(IN2);
+DigitalIn in3(IN3);
+DigitalIn in4(IN4);
+        
+MODSERIAL pc(TXD, RXD);             // tx, rx
+timer0 down_timer;                  // Timer für Zeitsteuerung
+rs_485 RS485_BUS;                   // RS485 BUS
+
+monitor mon;
+
+void led_aus(void)
+{
+    led1 = 1;
+    led2 = 1;
+    led3 = 1;
+    led4 = 1;
+    led5 = 1; 
+    led6 = 1;
+    led7 = 1; 
+    out2 = 0; 
+    out3 = 0;
+    out4 = 0;                
+}
+
+
+uint8_t i = 1;
 
 int main() {
+    
+    pc.baud(115200);
+    pc.printf("\nHello IOX.mini\n");
+    
+    down_timer.SetCountdownTimer(1,1,500); // Timer für LED
+    
     while(1) {
-        myled = 1;
-        wait(0.2);
-        myled = 0;
-        wait(0.2);
-    }
+         
+        mon.monPC();          // Eingaben abfragen und auswerten
+        //RS485_BUS.execute();  // RS485 Bus
+        
+        //--------------------------------------------------------------------------
+        // LED für Statusanzeige              
+       
+        if (down_timer.GetTimerStatus(1) == 0)
+        {
+            // RS485.printf("\n %02x",i);
+            
+            down_timer.SetCountdownTimer(1,1,50);    // alle 500ms 
+            // pc.printf("\nLED #%d",i);
+            switch (i)
+            {
+                
+                case 1:
+                    i = 2;
+                    led_aus();
+                    led1 = 0;
+                    break;
+                case 2:
+                    i = 3;
+                    led_aus();
+                    led2 = 0;
+                    break; 
+                case 3:
+                    i = 4;
+                    led_aus();
+                    led3 = 0;
+                    break;  
+                case 4:
+                    i = 5;
+                    led_aus();
+                    led4 = 0;
+                    break;
+                case 5:
+                    i = 6;
+                    led_aus();
+                    led5 = 0;
+                    break;
+                case 6:
+                    i = 7;
+                    led_aus();
+                    led6 = 0;
+                    break; 
+                case 7:
+                    i = 8;
+                    led_aus();
+                    led7 = 0;
+                    break;
+                case 8:     // Die LED's sind mit den Ausgängen verbunden und werden mit 1 geschaltet
+                    i = 9;
+                    led_aus();
+                    out2 = 1;
+                    break;      
+                case 9:
+                    i = 10;
+                    led_aus();
+                    out3 = 1;
+                    break; 
+                case 10:
+                    i = 1;
+                    led_aus();
+                    out4 = 1;
+                    break;                                                                                                      
+            } // end switch
+        } // end if(down_timer
+    } // end while(1)
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.h	Fri Feb 05 16:52:41 2016 +0000
@@ -0,0 +1,49 @@
+// Deklarationen für die IOX.mini
+//
+#ifndef MINI_H
+#define MINI_H
+
+#define LED1        P3_26
+#define LED2        P1_24
+#define LED3        P1_26
+#define LED4        P2_12
+#define LED5        P2_13
+#define LED6        P3_25
+#define LED7        P1_25
+
+// LED8     OUT2
+// LED9     OUT3
+// LED10    OUT4    
+
+#define IN1         P1_29
+#define IN2         P0_18
+#define IN3         P0_27
+#define IN4         P0_19
+
+#define OUT1        P1_1    
+#define OUT2        P0_9
+#define OUT3        P0_8
+#define OUT4        P0_17
+
+#define EXT_RESET   P1_8 
+#define EXT_INT     P0_24
+
+#define CAN_RX1     P0_21
+#define CAN_TX1     P0_22
+
+#define CAN_RX2     P0_4
+#define CAN_TX2     P0_5
+
+#define RS485_TX1   P4_28  
+#define RS485_RX1   P4_29
+#define RS485_DIR1  P1_0
+
+#define TXD         P0_2
+#define RXD         P0_3 
+
+
+
+
+
+   
+#endif // end MINI_H
\ No newline at end of file
--- a/mbed.bld	Thu Oct 29 12:28:39 2015 +0000
+++ b/mbed.bld	Fri Feb 05 16:52:41 2016 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/mbed/builds/9296ab0bfc11
\ No newline at end of file
+http://mbed.org/users/mbed_official/code/mbed/builds/4336505e4b1c
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mon.lib	Fri Feb 05 16:52:41 2016 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/teams/Notaus/code/mon-050216/#bf1028d27a23
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/timer0.lib	Fri Feb 05 16:52:41 2016 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/teams/Notaus/code/timer0-050216/#3ab9e5cd87e7