Problem beim kompilieren von srcpd durch io.h

Hm, hört sich nicht so einfach an. Ich hatte anfangs schon überlegt ob ich mit dem IO-Warrior etwas basteln soll aber dann verworfen. Mir wäre etwas am liebsten was auch andere verwenden. Zur Not muss mein alter P3 700 Laptop herhalten
 
Ist auch nichts was andere verwenden :-/
 
Vielleicht kannst Du ja andere davon überzeugen, das auch zu verwenden :)
Jedoch mit über 10 EUR plus Steuer und Versand ist der IO-Warrior doch nicht so günstig, und für diesen Zweck scheint er auch recht langsam zu sein.

Die Variante mit dem Atmega scheint mir recht einfach zu sein.
 
Atmega ist wohl das beste, wird mir aber nciht so einfach fallen. Vor allem da ganze später noch in srcpd einzubauen...
Ich versucher zuerst mal das Paket zu patchen so dass es ohne s888 und ohne Änderungen an der Toolchain compiliert
 
Das in srcpd einzubauen sollte nicht weiter schwierig sein.
Und damit es kompiliert, muß man nur den Test auf io.h in configure auf optional ändern und io.h nur dort einlesen, wo sie auch gebraucht wird. Alle Stellen außer in ddl-s88.c sind unnötig.
 
In der Theorie ist mir das soweit klar, muss nur schauen wie ich das umgesetzt bekommen. Makedateien sind nicht meine Freunde ;-)
 
Code:
--- org-srcpd-2.1.1/configure.in        2010-03-03 22:28:27.000000000 +0100
+++ srcpd-2.1.1/configure.in    2010-11-30 18:06:52.000000000 +0100
@@ -184,7 +184,7 @@
   *-*-linux*)
     AC_CHECK_HEADERS(sys/io.h linux/serial.h \
                      linux/i2c-dev.h, ,
-                 AC_MSG_ERROR(essential header file is missing))
+                 )
     ;;
   *-*-cygwin*)
     AC_CHECK_HEADERS(sys/io.h, ,
--- org-srcpd-2.1.1/src/ddl.h   2009-12-10 21:06:19.000000000 +0100
+++ srcpd-2.1.1/src/ddl.h       2010-11-30 17:27:35.000000000 +0100
@@ -24,7 +24,6 @@
 #include <sched.h>

 #if linux
-#include <sys/io.h>
 #include <linux/serial.h>
 #endif

--- org-srcpd-2.1.1/src/ib.c    2010-02-28 21:01:39.000000000 +0100
+++ srcpd-2.1.1/src/ib.c        2010-11-30 17:28:39.000000000 +0100
@@ -29,10 +29,6 @@
 #include <string.h>
 #include <unistd.h>

-#ifdef linux
-#include <sys/io.h>
-#endif
-
 #include "config-srcpd.h"
 #include "ib.h"
 #include "io.h"
--- org-srcpd-2.1.1/src/li100-main.c    2010-02-28 21:01:39.000000000 +0100
+++ srcpd-2.1.1/src/li100-main.c        2010-11-30 17:28:13.000000000 +0100
@@ -15,10 +15,6 @@
  *                                                                         *
  ***************************************************************************/

-#ifdef linux
-#include <sys/io.h>
-#endif
-
 #include "config-srcpd.h"
 #include "li100.h"
 #include "io.h"
Danach "autoreconf".
 
Danke! Ich hab es noch etwas allgemeiner umgebaut:

Code:
Index: configure.in
===================================================================
--- configure.in	(revision 1494)
+++ configure.in	(working copy)
@@ -182,8 +182,12 @@
 dnl Checks for host dependend header files.
 case $host in
   *-*-linux*)
-    AC_CHECK_HEADERS(sys/io.h linux/serial.h \
-                     linux/i2c-dev.h, ,
+
+    if test "$with_DDLS88" = "yes"; then
+        AC_CHECK_HEADERS(sys/io.h, ,
+                     AC_MSG_ERROR(essential header file is missing))
+    fi
+    AC_CHECK_HEADERS(linux/serial.h linux/i2c-dev.h, ,
                  AC_MSG_ERROR(essential header file is missing))
     ;;
   *-*-cygwin*)

Das Ganze läuft so leider aber immer noch nicht :mad: Ich werde es mal mit älteren versionen versuchen..
 
Die aktuelle Version 2.1.1 gibt immer beim öffnen vom Com-Port einen Fehler (-2 oder -3?) zurück. Das passiert auch auf dem Laptop bei USB2COM und richtigem seriellen Port. Die mindestens 1 Jahr alte srcpd 2.0.12-opt4DDL funktioniert dagegen auf dem Laptop. Für Fritzbox muss ich das testen wenn ich richtig Zeit dazu hab
 
Mach ich die Tage mal, komme momentan zu nichts.
Der Fehler wird jedenfalls durch src/ddl.c von der Funktion "static int reset_customdivisor(int fd)", Zeile 226 ausgelöst
 
Danke für deine Hilfe Ralf, hab jetzt nach dem letzten Wochenende eingesehen dass es auf der Fritzbox nicht läuft wie es soll. Das Problem ist wohl wie die Ports genutzt werden.
Falls es jemand braucht, hab ich einen Patch angehängt. Baut aber ohne Funktion
 

Anhänge

  • srcpd-2_1_1.patch.zip
    1.7 KB · Aufrufe: 1
Funktioniert auch die serielle Ansteuerung nicht? Für "normale" Geschwindigkeiten muß man nicht den Divisor setzen, das geht auch ohne.

Wenn Du den Vorschlag von [POST=1646884]#20[/POST] aufgreifen willst, kannst Du Dich melden.
 
Bin noch nicht sicher wie ich das jetzt umsetze. Da ich nun für die Steuerung ein altes P3 Thinkpad nehme hab ich mehr Möglichkeiten. Dies hat sogar noch einen "richtigen" LPT-Port und COM-Port. Ich brauch jetzt nur noch mehr Zeit :p
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
246,295
Beiträge
2,249,593
Mitglieder
373,893
Neuestes Mitglied
Kukkatto
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.