--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rs232dbg/rs232dbg.c Fri Oct 21 11:21:42 2005 +0000
@@ -0,0 +1,136 @@
+/******************************************************************************
+*
+* msr_io.c
+*
+* Debugging über Serielle Schnittstelle
+*
+* Autoren: Wilhelm Hagemeister
+*
+* $LastChangedDate: 2005-09-16 17:45:46 +0200 (Fri, 16 Sep 2005) $
+* $Author: hm $
+*
+* (C) Copyright IgH 2005
+* Ingenieurgemeinschaft IgH
+* Heinz-Bäcker Str. 34
+* D-45356 Essen
+* Tel.: +49 201/61 99 31
+* Fax.: +49 201/61 98 36
+* E-mail: sp@igh-essen.com
+*
+* /bin/setserial /dev/ttyS0 uart none
+* /bin/setserial /dev/ttyS1 uart none
+*
+*
+******************************************************************************/
+
+/*--Includes-----------------------------------------------------------------*/
+
+#include <linux/module.h>
+#include <linux/tqueue.h>
+#include <linux/slab.h>
+#include <linux/delay.h>
+#include <linux/spinlock.h>
+
+#include "aip_com.h"
+#include "rs232dbg.h"
+#include <rtai.h>
+
+spinlock_t rs232wlock;
+
+
+void SDBG_print(const char *format, ...)
+{
+ va_list argptr;
+ static char buf[1024];
+ int len;
+ if(format != NULL) {
+ va_start(argptr,format);
+ len = vsnprintf(buf, sizeof(buf), format, argptr);
+ if (len > 0 && buf[len - 1] == '\n') len--; // fp
+ rt_com_write(0,buf,len);
+ rt_com_write(0,"\r\n",2);
+ va_end(argptr);
+ }
+}
+
+/*
+void SDBG_print(unsigned char *buf)
+{
+ static int counter = 0;
+ unsigned char cbuf[20];
+ unsigned long flags;
+
+// flags = rt_spin_lock_irqsave (&rs232wlock);
+
+ sprintf(cbuf,"%0d -- ",counter);
+ rt_com_write(0,cbuf,strlen(cbuf));
+ rt_com_write(0,buf,strlen(buf));
+ rt_com_write(0,"\r\n",2);
+ counter++;
+ counter %= 10; //did we miss frames ??
+// rt_spin_unlock_irqrestore (&rs232wlock,flags);
+}
+*/
+
+
+/*
+*******************************************************************************
+*
+* Function: msr_init
+*
+* Beschreibung: MSR initialisieren
+*
+* Parameter:
+*
+* Rückgabe:
+*
+* Status: exp
+*
+*******************************************************************************
+*/
+
+int msr_init(void)
+{
+ spin_lock_init (&rs2323wlock);
+
+ printk("starting RS232 Setup\n");
+ if(init_aip_com())
+ {
+ printk("RS232 Setup failed\n");
+ return -1;
+ }
+
+ SDBG_print("Hello Word, Serial Debugger started...");
+ mdelay(10);
+ return 0;
+}
+
+/*
+*******************************************************************************
+*
+* Function: msr_io_cleanup
+*
+* Beschreibung: Aufräumen
+*
+* Parameter:
+*
+* Rückgabe:
+*
+* Status: exp
+*
+*******************************************************************************
+*/
+
+void msr_io_cleanup(void)
+{
+ cleanup_aip_com();
+}
+
+/*---Treiber-Einsprungspunkte etc.-------------------------------------------*/
+
+MODULE_LICENSE("GPL");
+
+module_init(msr_init);
+module_exit(msr_io_cleanup);
+
+/*---Ende--------------------------------------------------------------------*/