![]() |
ENGLISH VERSION |
|
![]() |
Links | | | Forum | | | Kommentare | | | News melden |
![]() |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
![]() |
amiga-news.de Forum > Programmierung > 2.+3.Joystikknopf Signale | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
1 2 -3- 4 5 6 | [ - Beitrag schreiben - ] |
22.06.2006, 18:18 Uhr MaikG Posts: 5172 Nutzer |
>Jetzt aus reinem Interesse herraus: Was hast du denn vor? Das ist Geheim :-) Eine Alarmanlage mit dem Amiga bauen. >Aber wenn es immer noch um den POTGO geht, bringt das ja nichts, >weil Du den alten Status nicht lesen kannst. Das verstehe ich immernoch nicht, ich kann doch lesen ob es auf Ausgang oder Eingang geschalten ist. Und wenn ich die Maus jetzt auf Ausgang schalte möchte ich die Chip-Versionsbits und Joystikbits halt so lassen wie sie sind. [ - Antworten - Zitieren - Direktlink - ] |
22.06.2006, 18:38 Uhr Holger Posts: 8116 Nutzer |
Zitat:Nein. Tut mir ja auch leid, aber laut Dokumentaton wirst Du für diese Bits immer 0 lesen. Zitat: He he, hast nicht mit dem Gedanken gespielt, den Chip auf AGA upzugraden ![]() Ist eben so, POTGO und POTGOR haben zwar dieselbe Zuordnung von Pins und Bitnummern, aber die Informationen sind letztendlich ganz anderer Art, auch wenn der Name etwas anderes suggeriert. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
22.06.2006, 19:00 Uhr MaikG Posts: 5172 Nutzer |
Dann ist das lesen von DFF016 im Prinzip völlig unnötig und ich kann nicht ermitteln was auf Ein oder Ausgang steht sondern muss halt einfach reinschreiben was ich brauche? Wozu ist der Lese Register dann überhaupt gut? [ - Antworten - Zitieren - Direktlink - ] |
22.06.2006, 22:57 Uhr NoImag Posts: 1050 Nutzer |
Zitat: Du brauchst POTGOR, wenn du die Analogeingänge als Digitaleingänge benutzen willst, um zu ermitteln, was denn nun reinkommt (die DATxx-Bits). Mir ist nicht ganz klar, wo das Problem liegt. Im POTGO-Register schaltest du den Pin, den du benutzen möchtest, so wie du es brauchst, die anderen lässt du einfach unangetastet. Tschüß [ - Antworten - Zitieren - Direktlink - ] |
22.06.2006, 23:07 Uhr MaikG Posts: 5172 Nutzer |
>Du brauchst POTGOR, wenn du die Analogeingänge als Digitaleingänge >benutzen willst, um zu ermitteln, was denn nun reinkommt >(die DATxx-Bits). Stimmt, ist zu heiss hier um zu denken. >Mir ist nicht ganz klar, wo das Problem liegt. >Im POTGO-Register schaltest du den Pin, den du benutzen möchtest, >so wie du es brauchst, die anderen lässt du einfach unangetastet. Und wie lasse ich die gleich noch unangetastet, wenn ich gar nicht weiss wie der Status momentan ist? Unter Assembler ist das klar, da gibts einen Befehl der explizit nur ein Bit setzen kann. [ - Antworten - Zitieren - Direktlink - ] |
23.06.2006, 11:09 Uhr Holger Posts: 8116 Nutzer |
Zitat:Nee, so klar ist das auch nicht. Unter Assembler gibt es zwar einen Befehl zum Setzen eines einzelnen Bits, aber der macht natürlich nichts anderes als Wort lesen, Bit ändern und Wort zurückschreiben. Der Prozessor kann mit dem Speicher nunmal nur in den vorgesehenen Busbreiten kommunizieren. Und im Fall eines Chip-Registers, dessen Inhalt nur geschrieben werden kann, funktioniert das noch weniger als Deine erste Variante. bset #x,POTGO würde versuchen, den alten Inhalt von POTGO zu lesen, nicht von POTGOR. Das unangestastet Lassen funktioniert halt nur, wenn man mit dem input.device kommuniziert und dieses sich merkt, was es zuletzt reingeschrieben hat. Oder man verzichtet auf das Multitasking komplett und braucht nix mehr unangetastet zu lassen. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
23.06.2006, 23:38 Uhr NoImag Posts: 1050 Nutzer |
Zitat: Oh, natürlich. Ist hier scheinbar auch zu heiß. Tschüß [ - Antworten - Zitieren - Direktlink - ] |
24.06.2006, 10:22 Uhr MaikG Posts: 5172 Nutzer |
Okay, also bleibts bei reinschreiben was man will, sich Intern in seinem Programm merken was der letzte Status war und hoffen das kein anders Programm da was reinschreibt. Jetzt muss ich nur noch wissen wie man das input.device "lahmlegt". [ - Antworten - Zitieren - Direktlink - ] |
24.06.2006, 23:28 Uhr NoImag Posts: 1050 Nutzer |
@MaikG: Laut Amiga-Intern 2 musst du den Input-Task killen, wovon wegen nachfolgender Probleme aber abgeraten wird. Es wird empfohlen, den Rechner komplett zu übernehmen. Tschüß [ - Antworten - Zitieren - Direktlink - ] |
25.06.2006, 01:16 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Würde es eigentlich ausreichen wenn man einfach dem eigenen Task die maximale Priorität zukommen lassen würde? Dann würde zwar auch keine Maus mehr gehn, aber vermutlich auch kein input-task mehr. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
25.06.2006, 10:19 Uhr MaikG Posts: 5172 Nutzer |
>Laut Amiga-Intern 2 musst du den Input-Task killen, wovon wegen >nachfolgender Probleme aber abgeraten wird. Welcher Probleme? >Es wird empfohlen, den Rechner komplett zu übernehmen. Funktioniert dann noch das audio.device, timer etc.? Ich könnte die Schaltung auch auf AKTIV LOW ändern, auf Low setzt das Input device ja nix. Und dann immer Pooken. Gibts keine Serielle Hardware mit 256 Ein und Ausgängen, für den Amiga die billig ist? >Würde es eigentlich ausreichen wenn man einfach dem eigenen Task die >maximale Priorität zukommen lassen würde? Dann würde zwar auch >keine Maus mehr gehn, aber vermutlich auch kein input-task mehr. Da das Programm nicht 100% vom Prozessor benötigt, werden die anderen Tasks trotzdem noch angefahren. [ - Antworten - Zitieren - Direktlink - ] |
25.06.2006, 10:26 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat:Oh, die gibt es schon. Schau mal bei Conrad nach, da kann man serielle Karten in einer kaskade verschalten. Preiswerte... nunja, es geht. Aber läuft auch am Amiga und ist leicht anzusprechen. Zitat:Da wäre ich mir nicht so sicher. Denn da geht nicht mal die Maus und gar nichts mehr, wenn man die maximale Priorität hat. Versuch es doch einfach mal. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
25.06.2006, 12:00 Uhr Holger Posts: 8116 Nutzer |
Zitat:Daß Du ihn z.B. nicht mehr anwerfen kannst, wenn Dein Programm fertig ist. Daß Du nicht genau weißt, was alles durch das Killen des input.task nicht mehr funktioniert. Dessen Aufgaben sind ja keine Konstante, sondern können sich je nach OS-Version ändern. Zitat:Natürlich nicht. Sonst wär's ja nicht "komplett" Zitat: Woher willst Du das wissen? Wenn Dein Programm 100% der CPU benötigt, heißt das noch lange nicht, daß Maiks Programm auch 100% benötigt. Und selbst wenn Du den Tasks die CPU stiehlst, heißt das nicht, daß die Interrupts nicht laufen. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
25.06.2006, 17:57 Uhr MaikG Posts: 5172 Nutzer |
>Oh, die gibt es schon. Schau mal bei Conrad nach, da kann man >serielle Karten in einer kaskade verschalten. Preiswerte... nunja, >es geht. Aber läuft auch am Amiga und ist leicht anzusprechen. Die sind soweit ich weiss nur für Ausgang und sau teuer. 1 Chip drauf und das ist ein PIC. Die Teile währen Ideal für IO, leider kann ich die Programme dafür nicht schreiben. [ - Antworten - Zitieren - Direktlink - ] |
25.06.2006, 19:04 Uhr Ralf27 Posts: 2779 Nutzer |
@MaikG: Ich frag mich auch wieviele analoge Eingänge du denn brauchst für so eine Alarmanlage. Hm, 4 Linien, 1 Sabotageline... hm, das wären 5 die z.b. eigentlich schon ausreichen müßten. Man kann ja auch auf einer Linie mehrere Melder hängen. Ich vermute auch mal das du diese Widerstandsüberwacht machst (10kOhm?) Allerdings bezweifle ich das fertige, von mir aus auch gebrauchte Anlagen, so teuer sind. Aber ok, ist ja auch ein Hobbyprojekt. ![]() -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
25.06.2006, 21:44 Uhr NoImag Posts: 1050 Nutzer |
@ MaikG: Ich habe jetzt auch nochmal in den RKRMs nachgeschaut. Danach könnte es sein, dass es funktioniert, wenn du die potgo.resource verwendest. Es ist sogar ein Beispielprogramm dabei, was genau das macht, was du möchtest. Probleme gibt es nur, wenn ein anderer Task sich bereits über die potgo.resource den Port gesichert hat. Es steht aber nicht dabei, dass dies das input.device (oder gameport.device) macht. Das Beispiel sieht so aus: code:/* * Read_Potinp.c * * An example of using the potgo.resource to read pins 9 and 5 of * port 1 (the non-mouse port). This bypasses the gameport.device. * When the right or middle button on a mouse plugged into port 1 is pressed, * the read value will change. * * Use of port 0 (mouse) is unaffected. * * Compile with SAS C 5.10 lc -b1 -cfistq -v -y -L * * Run from CLI only */ #include <exec/types.h> #include <exec/memory.h> #include <dos/dos.h> #include <resources/potgo.h> #include <hardware/custom.h> #include <clib/exec_protos.h> #include <clib/potgo_protos.h> #include <stdio.h> #ifdef LATTICE int CXBRK(void) {return(0);} /* Disable SAS Ctrl-C checking */ int chkabort(void) { return(0); } /* really */ #endif struct PotgoBase *PotgoBase; ULONG potbits; UWORD value; #define UNLESS(x) if(!(x)) #define UNTIL(x) while(!(x)) #define OUTRY 1L<<15 #define DATRY 1L<<14 #define OUTRX 1L<<13 #define DATRX 1L<<12 extern struct Custom far custom; void main(int argc,char **argv) { UNLESS (PotgoBase=(struct PotgoBase *)OpenResource("potgo.resource")) return; potbits=AllocPotBits(OUTRY|DATRY|OUTRX|DATRX); /* Get the bits for the right and middle mouse buttons on the alternate mouse port. */ if (potbits != (OUTRY|DATRY|OUTRX|DATRX)) { printf("Pot bits are already allocated! %lxn",potbits); FreePotBits(potbits); return; } /* Set all ones in the register (masked by potbits) */ WritePotgo(0xFFFFFFFFL,potbits); printf("nPlug a mouse into the second port. This program will indicate whenn"); printf("the right or middle button (if the mouse is so equipped) is pressed.n"); printf("Stop the program with Control-C. Press return now to begin.n"); getchar(); UNTIL (SIGBREAKF_CTRL_C & SetSignal(0L,0L)) /* until CTRL-C is pressed */ { /* Read word at $DFF016 */ value = custom.potinp; /* Show what was read (restricted to our allocated bits) */ printf("POTINP = $%lxn",value & potbits); } FreePotBits(potbits); } Tschüß [ - Antworten - Zitieren - Direktlink - ] |
26.06.2006, 08:42 Uhr MaikG Posts: 5172 Nutzer |
>Ich frag mich auch wieviele analoge Eingänge du denn brauchst für >so eine Alarmanlage. Hm, 4 Linien, 1 Sabotageline... hm, das wären >5 die z.b. eigentlich schon ausreichen müßten. Man kann ja auch auf >einer Linie mehrere Melder hängen. Momentan 7 Eingänge, ich hänge nur 1 Melder auf eine Leitung (will wissen wo was los ist). ggf. werden das noch mehr wenn ich brauchbare Chips für Par->Ser und umgekehrt finde. >Ich vermute auch mal das du diese Widerstandsüberwacht machst >(10kOhm?) Nein, die Kabel sind innerhalb des gesicherten bereichs und dann noch unter der Mauer. >Allerdings bezweifle ich das fertige, von mir aus auch gebrauchte >Anlagen, so teuer sind. Aber ok, ist ja auch ein Hobbyprojekt. Mag, sein aber die machen nicht unbedingt was du möchtest, ausserdem kann meine Sprechen :-) [ - Antworten - Zitieren - Direktlink - ] |
26.06.2006, 18:44 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat:Da gibt es auch andere Wege. Z.b. alles auf einer Linie und dann Melder mit Alarmspeicher. Wie schaut es aus mit Gehtest? Ist das in deiner Analge auch vorgesehn? Und hast du auch eine richtig ordenliche Außensirene, die ordenlich heult? Oder von mir aus en ordenlichen Subwoofer, der dann Schranz bringt. ![]() Aber denk dran, das dann so ein Teil maximal 3Minuten laufen darf. Zitat:Klar, man kann es machen wie man will, wenn man es privat macht. Zitat:Zja, das können sogar schon die günstigeren Anlagen. Die rufen dich sogar an! ![]() -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
26.06.2006, 23:47 Uhr MaikG Posts: 5172 Nutzer |
@ NoImag Hab mir das Programm endlich angesehen, das liesst aber nur die Pins, das hab ich schon. Jetzt brauch ich die Ausgänge... >Da gibt es auch andere Wege. Z.b. alles auf einer Linie und dann >Melder mit Alarmspeicher. Ich möchte gerne wissen, auf dem Punkt genau wo etwas nicht in Ordnung ist, deswegen kann ich nichts auf eine Line Schalten. >Wie schaut es aus mit Gehtest? Ist das in deiner Analge auch >vorgesehn? Was für ein Gehtest? Du meinst ob die Bewegungsmelder funktionieren? >Und hast du auch eine richtig ordenliche Außensirene, die ordenlich >heult? Oder von mir aus en ordenlichen Subwoofer, der dann Schranz >bringt. ![]() Ich habe einen Blitzer gebaut, der Alarm-Ton läuft mit über den Amiga, hängt ein 40 Watt RMS Verstärker dran. >Aber denk dran, das dann so ein Teil maximal 3Minuten laufen darf. Nö, meinst du der Hund vom Nachbarn bellt um 5 Uhr morgens nur 3 Minuten lang? Das Teil geht solange bis die gefahr vorrüber ist. >Zja, das können sogar schon die günstigeren Anlagen. Die rufen dich >sogar an! ![]() Sprechen? Ich kenne nur die, welche dich mit deinem eigenen Text anrufen und die sagen dir noch nichtmal welcher Sensor ausgelösst wurde. Und für 25 Euro, wie den A1200 bekommst du die auch nicht. [ - Antworten - Zitieren - Direktlink - ] |
27.06.2006, 07:33 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat:Ja, das siehst du dann am Melder der dann blinkt. Zitat:Mit einem Gehtest kann man das Auslöseverhalten eines Melders testen. Bei billigstanlagen oder "Laienanlagen" ist dieser auf Dauerbetrieb geschaltet, was aber eigentlich nicht sein darf. Denn sonst kann sich ja jeder denn Auslösebereich eines Melders selbst herrausfinden. Zitat:Zja, dann pass auf das dich dann keiner der Ruhestörung bezichtigt, bzw. anzeigt. Bei weniger als 3 Minuten kann man nicht davon sprechen. Bzw. gehen z.b. auch Autoalarmanlage spätestens nach 3 Min aus. Die optischen Signalgeber laufen dann aber weiter. Zitat:Ja, was macht denn der Amiga da anderst? Er kann ja auch nur den Text vorher wiedergeben, denn du ihn eingegeben hast. Und wenn du gar denn Translator benutzt, dann wird es auch etwas undeutlich. Er kann zwar dann noch etwas kombinieren, aber das wars dann. Bei einer etwas besseren Anlage kommt auch mehr rüber als "hey, ich habe ausgelöst". ![]() -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
27.06.2006, 09:52 Uhr MaikG Posts: 5172 Nutzer |
>Ja, das siehst du dann am Melder der dann blinkt. Um zu gucken welcher Melder ausgelösst hat müsste ich dann durchs Haus und durch den Hof gehen, toll. >Mit einem Gehtest kann man das Auslöseverhalten eines Melders testen. >Bei billigstanlagen oder "Laienanlagen" ist dieser auf Dauerbetrieb >geschaltet, was aber eigentlich nicht sein darf. Denn sonst kann >sich ja jeder denn Auslösebereich eines Melders selbst >herrausfinden. Hab ich nicht, naja der Amiga sagt mir, wenn ich will, ständig alle Sensoren an. >Zja, dann pass auf das dich dann keiner der Ruhestörung bezichtigt, >bzw. anzeigt. Bei weniger als 3 Minuten kann man nicht davon >sprechen. Bzw. gehen z.b. auch Autoalarmanlage spätestens nach >3 Min aus. Die optischen Signalgeber laufen dann aber weiter. Was ist dir lieber? Eine Anzeige wegen ruhestöhrung oder das du ausgeraubt wirst? Um einen Fehlalarm zu vermeiden ist ja ein Amiga dran. >Ja, was macht denn der Amiga da anderst? Er kann ja auch nur den Text vorher wiedergeben, >denn du ihn eingegeben hast. Und wenn du gar denn Translator benutzt, dann wird es auch >etwas undeutlich. >Er kann zwar dann noch etwas kombinieren, aber das wars dann. Was erwartest du? Eine künstliche Intelligenz? Der Amiga kann mir sagen wo was los ist, das kann eine Normale Alarmanlage nicht. Und der Amiga kann dann detailiert entscheiden was zu tun ist. [ - Antworten - Zitieren - Direktlink - ] |
27.06.2006, 11:55 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat:Wie oft wird denn bei dir eingebrochen? Und wenn es dann so viele Fehlalarme gibt, dann geht wohl auch die Sirene etwas zu oft und wenn die dann noch zu lange geht... ok, es gibt auch noch einige Mittel gegen Fehlalarme, später mehr. Zitat:Also, wenn du schon sowas aufbaust, dann benutze am besten auch die Gehtestfunktion (abschaltbar). Das ist viel besser um die Melder zu testen. Aber ok, es geht auch ohne, dann brauchst du halt noch jemand der dir beim testen hilft. Zitat:Wie oft wirst du denn ausgeraubt? ![]() Ich glaube die Gefahr der Fehlalarme ist da wesentlich höher. Zitat:Na, wenn selbst Profianlagen damit Probleme haben, wie willst du das mit einem Amiga lösen? Na, das wäre dann die Lösung um den Amigamarkt zu retten! ![]() Z.b. statt IR-Melder halt Dualmelder und was sehr wichtig ist, ist der richtige Standort für die Melder(z.b. nicht gegen Fenster oder Heizkörper) Oder halt, was mehr Aufwand ist und eigentlich weniger bei Alarmanalgen benutzt wird, ist eine Zweimelderabhängigkeit. Das wird aber auch vorallem bei Brandmeldeanlage in Problemzonen benutzt. Aber da gibt es auch noch andere Möglichkeiten. Zitat:Hm, mindestens eine künstliche Intelligenz gekoppelt mit Kampfrobotern die gegen die Einbrecher vorgehn. ![]() ![]() Und dann ist die Frage was du unter "normale" Anlagen verstehst. Ok, so eine Conrad-Alarmanlage zum Sparpreis kann das bestimmt nicht, aber die "richtigen" Anlagen schon. Die können sogar mehr Melden als nur "hey, da is was los!" sondern auch "ich bin scharf" oder unscharf, oder sonst was. Ist sogar frei programmierbar. Ich will dich auch nicht entmutigen, ganz im Gegenteil! Ich find das ja recht interesant was du da machst. Seh da bitte mein ganzes getippe nur als Randbemerkung. Also Tipps zu deinem vorhaben. PS: Eine recht gute, günstige und recht zuverlässige Alarmanlage ist übrigens ein richtiger Hund. ![]() -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
27.06.2006, 18:22 Uhr MaikG Posts: 5172 Nutzer |
>Also, wenn du schon sowas aufbaust, dann benutze am besten auch die >Gehtestfunktion (abschaltbar). Das ist viel besser um die Melder zu >testen. Aber ok, es geht auch ohne, dann brauchst du halt noch >jemand der dir beim testen hilft. Ich kann den Amiga in dem Bereich hören wo die Bewegungsmelder sind, also wenn ich da lang gehe höre ich "Bewegungsmelder erfasst objekt". >Wie oft wirst du denn ausgeraubt? ![]() Das nächste mal nicht mehr :-) >Ich glaube die Gefahr der Fehlalarme ist da wesentlich höher. Nein, wie soll so ein Fehlalarm denn entstehen? Zitat: Um einen Fehlalarm zu vermeiden ist ja ein Amiga dran. >Na, wenn selbst Profianlagen damit Probleme haben, wie willst du das >mit einem Amiga lösen? Na, das wäre dann die Lösung um den >Amigamarkt zu retten! ![]() >reduzieren. Z.b. statt IR-Melder halt Dualmelder und was sehr >wichtig ist, ist der richtige Standort für die Melder(z.b. nicht >gegen Fenster oder Heizkörper) Ein Amiga kann alles genau bewerten, selbst wenn die Anlage scharf ist könnte der z.B. durch meine Bewegungsmuster erkennen das ich das bin und kein Einbrecher. Ein Bewegungsmelder(zumindest meine) lösen nur bei Wärme+Bewegung aus. >Hm, mindestens eine künstliche Intelligenz gekoppelt mit >Kampfrobotern die gegen die Einbrecher vorgehn. ![]() >einfach ein Türöffner für die scharfgemachten Hunde. ![]() Das mit den Kampfrobotern ist ja so ein kleines rechtliches Problem, in Amerika kannst du Einbrecher erschiessen, hier in Deutschland bin ich mir da nicht so sicher. >Und dann ist die Frage was du unter "normale" Anlagen verstehst. >Ok, so eine Conrad-Alarmanlage zum Sparpreis kann das bestimmt >nicht, aber die "richtigen" Anlagen schon. Die können sogar mehr >Melden als nur "hey, da is was los!" sondern auch "ich bin scharf" >oder unscharf, oder sonst was. Ist sogar frei programmierbar. >PS: Eine recht gute, günstige und recht zuverlässige Alarmanlage >ist übrigens ein richtiger Hund. ![]() Ein Hund kostet mehr als 25 Euro, und braucht futter, zeit etc. [ - Antworten - Zitieren - Direktlink - ] |
27.06.2006, 20:45 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat:Ah, also doch künstliche Intelligenz im System. ![]() Ok, mir ist nicht ganz klar wie du das lösen willst. Übrigens sind IR-Melder Infrarotmelder die auf Wärme reagieren. Für einen IR-Melder ist ein Heizkörper (wenn er im Betrieb ist) eine sich bewegende Wärmequelle, da ja die warme Luft aufsteigt. Es muß nix passieren, aber es kann passieren das er halt mal auslöst -> Fehlalarm. Bzw. ist eine Quelle für Fehlalarme. Zitat:Nun, dann stell es als Notwehr hin und es geht vielleicht durch. Oder sag einfach der Kampfroboter sei durchgegangen. ![]() Zitat:Das stimmt ja auch. Aber es könnte ja sein das du einen hast. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
27.06.2006, 22:51 Uhr NoImag Posts: 1050 Nutzer |
Zitat: Du meinst, du willst die Pins nicht nur lesen sondern auch beschreiben? Das macht das Programm bereits. Im Beispiel wird immer 1 gesetzt (WritePotgo(0xFFFFFFFFL,potbits)), du kannst aber auch 0 setzen (dann ist es halt kein 0xFFFFFFFFL, sondern irgendwas anderes). Den letzten Abschnitt, wo die Pins gelesen werden, kannst du dann einfach weglassen. Tschüß [ - Antworten - Zitieren - Direktlink - ] |
28.06.2006, 10:07 Uhr MaikG Posts: 5172 Nutzer |
>Übrigens sind IR-Melder Infrarotmelder die auf Wärme reagieren. >Für einen IR-Melder ist ein Heizkörper (wenn er im Betrieb ist) >eine sich bewegende Wärmequelle, da ja die warme Luft aufsteigt. >Es muß nix passieren, aber es kann passieren das er halt mal >auslöst -> Fehlalarm. Bzw. ist eine Quelle für Fehlalarme. Hab innen Z.zt. keine Bewegungsmelder, weiss auch nicht ob die dort wirklich sinnvoll sind, da ich Sensoren an den Türen habe... >Nun, dann stell es als Notwehr hin und es geht vielleicht durch. >Oder sag einfach der Kampfroboter sei durchgegangen. ![]() Der Kampfroboter wollte sein leben schützen? >Du meinst, du willst die Pins nicht nur lesen sondern auch >beschreiben? Das macht das Programm bereits. Im Beispiel wird >immer 1 gesetzt (WritePotgo(0xFFFFFFFFL,potbits)), du kannst >aber auch 0 setzen (dann ist es halt kein 0xFFFFFFFFL, sondern >irgendwas anderes). Den letzten Abschnitt, wo die Pins gelesen >werden, kannst du dann einfach weglassen. Ah, okay muss ich dann mal auf Basic umsetzten und ausprobieren. Ja, den Joyport nutze ich als Eingang(geht ja schon) und der Mausport(3 Maustasten) soll als Ausgang genutzt werden. [ - Antworten - Zitieren - Direktlink - ] |
28.06.2006, 11:47 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat:Sinnvoll wäre das natürlich nur in Räumen, die dann beim scharf geschalteten Zustand keiner betritt. ![]() Was meinst du mit Sensoren an den Türen? Reedkontakte? Glasbruchsensoren? ... ? Zitat:Du weist ja, der 5te Roboter lebt. Allerdings würde ich dann bei Nr.5 darauf achten das du am besten den Atomsprengsatz nicht mitbaust, so wie es beim Original der Fall ist. ![]() Und im Film wollte Nr.5 auch sein leben schützen, also gar nicht so weit her geholt.. ![]() -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
28.06.2006, 14:18 Uhr Holger Posts: 8116 Nutzer |
Zitat: Ein Roboter ohne Atomsprengsatz? Geht sowas überhaupt? ![]() Selbst wenn, wäre es bestimmt nur der halbe Spaß. ![]() Und für ne Hollywood-Verfilmung untauglich. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
28.06.2006, 15:56 Uhr MaikG Posts: 5172 Nutzer |
>Sinnvoll wäre das natürlich nur in Räumen, die dann beim scharf >geschalteten Zustand keiner betritt. ![]() Scharf ist die Anlage normalerweise nur wenn ich nicht da bin. >Was meinst du mit Sensoren an den Türen? Reedkontakte? Ja. >Glasbruchsensoren? ... ? Hab ich auch schon überlegt, kann es da fehlalarm durch geben? Ich meine ausser wenn ich ein Glas fallen lasse :-) >Und im Film wollte Nr.5 auch sein leben schützen, also gar nicht so >weit her geholt.. ![]() Ich könnte das aktzeptieren, die Polizei aber vielleicht nicht... >Ein Roboter ohne Atomsprengsatz? Geht sowas überhaupt? ![]() Der hatte nur eine Laser, Sprengstoff darf man in Deutschland nicht herstellen und auch nicht besitzen. Ja, zurück zum Programm, ich hab das jetzt C->Basic übersetzt, macht nicht das was es soll und stürzt ab. Hab auch nur begrenzte C fähigkeiten und wenn ich es eine weile nicht mehr gemacht habe vergesse ich das immer: DEFINT a-z '$include dos.bh '$include exec.bh '$include potgo.bh LIBRARY OPEN "dos.library",37 LIBRARY OPEN "exec.library" OUTRY&=1&<<15 DATRY&=1&<<14 OUTRX&=1&<<13 DATRX&=1&<<12 LIBRARY VARPTR "potgo.resource", OpenResource&(SADD("potgo.resource" + CHR$(0))) IF LIBRARY("potgo.resource") = NULL& THEN PRINT "Cannot open potgo.resource" ELSE potbits&=AllocPotBits(OUTRY& AND DATRY& AND OUTRX& AND DATRX&) IF potbits&=(OUTRY& AND DATRY& AND OUTRX& AND DATRX&) THEN WritePotgo &hFFFFFFFF&,potbits& ELSE PRINT "Pot bits are already allocated!";potbits:END END IF FreePotBits(potbits&) END IF [ - Antworten - Zitieren - Direktlink - ] |
28.06.2006, 20:54 Uhr Holger Posts: 8116 Nutzer |
Zitat: Du mußt die Bits mit Oder verknüpfen. Sonst ergibt die Verknüpfung 0, was natürlich fehlschlägt, da Du aber mit derselben Und-Verknüpfung (also => 0 ) vergleichst, wird der Vergleich positiv ausfallen. Du versuchst danach also Bits zu schreiben, obwohl Du keine reserviert hast. Also basic code:potbits&=AllocPotBits(OUTRY& OR DATRY& OR OUTRX& OR DATRX&) IF potbits&=(OUTRY& OR DATRY& OR OUTRX& OR DATRX&) THEN mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
1 2 -3- 4 5 6 | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > 2.+3.Joystikknopf Signale | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
![]() |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |
![]() |