examples/rtai/rtai_sample.c
changeset 516 f703e33ee395
parent 512 24292123d174
child 637 d5d04c868e0e
--- a/examples/rtai/rtai_sample.c	Mon Jan 08 15:01:18 2007 +0000
+++ b/examples/rtai/rtai_sample.c	Mon Jan 08 15:02:05 2007 +0000
@@ -47,7 +47,7 @@
 /*****************************************************************************/
 
 // RTAI task frequency in Hz
-#define FREQUENCY 10000
+#define FREQUENCY 4000
 #define INHIBIT_TIME 20
 
 #define TIMERTICKS (1000000000 / FREQUENCY)
@@ -64,13 +64,10 @@
 ec_domain_t *domain1 = NULL;
 
 // data fields
-void *r_ana_out;
-
-// channels
-uint32_t k_pos;
+void *r_dig_out;
 
 ec_pdo_reg_t domain1_pdos[] = {
-    {"2", Beckhoff_EL4132_Output1, &r_ana_out},
+    {"2", Beckhoff_EL2004_Outputs, &r_dig_out},
     {}
 };
 
@@ -78,6 +75,9 @@
 
 void run(long data)
 {
+    static unsigned int blink = 0;
+    static unsigned int counter = 0;
+
     while (1) {
         t_last_cycle = get_cycles();
 
@@ -87,13 +87,21 @@
         rt_sem_signal(&master_sem);
 
         // process data
-        //k_pos = EC_READ_U32(r_ssi_input);
+        EC_WRITE_U8(r_dig_out, blink ? 0x0F : 0x00);
 
         rt_sem_wait(&master_sem);
         ecrt_domain_queue(domain1);
         ecrt_master_run(master);
         ecrt_master_send(master);
         rt_sem_signal(&master_sem);
+		
+        if (counter) {
+            counter--;
+        }
+        else {
+            counter = FREQUENCY;
+            blink = !blink;
+        }
 
         rt_task_wait_period();
     }