Zum Inhalt springen

Arduino Pinball Controller


Black Knight

Empfohlene Beiträge

Quote

Am besten wäre es wenn du da einfach eine 0 zurück geben könntest.

Ist OK, dann gebe ich eine Null zurück, wenn er bereit ist USB Befehle zu empfangen. In welcher Zeit muss das passieren? Der Bootvorgang dauert nämlich ein paar Sekunden.

Quote

die internen Switchnummern die APC für die Diag Switche in der Kassentür verwendet geben

64 bis einschl. 70 sind die Special Solenoid Switches, die dann bei uns über eine Hardware Rule abgefangen werden, da sie eine sofortige Reaktion erfordern.

71 ist der ‚Memory Protect‘, der stellt fest, ob die Kassentüre offen ist und setzt den Speicher in ReadOnly oder sowas. Dieser Schalter wird beim APC zumindest nicht gebraucht und kann theoretisch für was anderes benutzt werden. 

72 ist der Advance Button und 73 der Up/Down.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Antworten 1,6Tsd
  • Erstellt
  • Letzte Antwort

Top-Benutzer in diesem Thema

  • Black Knight

    642

  • bontango

    438

  • Volley

    100

  • jabdoa

    97

Top-Benutzer in diesem Thema

Veröffentlichte Bilder

vor 1 Stunde schrieb Black Knight:

st OK, dann gebe ich eine Null zurück, wenn er bereit ist USB Befehle zu empfangen. In welcher Zeit muss das passieren? Der Bootvorgang dauert nämlich ein paar Sekunden. 

Wir können in MPF warten solang du willst. Wie viele Sekunden denn? Baue ich dann so

Link zu diesem Kommentar
Auf anderen Seiten teilen

8 hours ago, jabdoa said:

Ich glaube ich hatte das bei dir mit 200ms laufen also sollte das reichen oder?

Du versuchst es aber auch mehrmals, oder?

Momentan löst der MPF beim verbinden einen Hardware Reset aus. Dann startet der APC komplett neu und zeigt beim hochfahren ein paar Statusmeldungen an (SD-Karte gefunden u.s.w.). Das dauert mindestens 3s, bis er dann letztendlich ins Spiel geht, was bei uns ja dann der USB Modus ist.

Ich könnte den Start auch beschleunigen, dann würde ich einen eigenen Prozess starten, der die Statusmeldungen anzeigt und würde während dieser Zeit aber schon ins Spiel gehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 16 Stunden schrieb jabdoa:

Ist noch nicht vollständig: http://docs.missionpinball.org/en/dev/hardware/lisy/protocol.html. Ich hab auch die Excel Liste von dir erweitert aber ich will es mit Beispielen und so haben in den Docs. Sorry ich brauche noch etwas bis ich das so weit habe.

Danke, musste nur den Punkt hinter html wegmachen, ansosnten kommt 'page not found'

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 4 Stunden schrieb Black Knight:

Das dauert mindestens 3s, bis er dann letztendlich ins Spiel geht, was bei uns ja dann der USB Modus ist.

Kann ich bestätigen, ich polle im Sekundentakt wenn am Anfang nichts zurück kommt, beim vierten Mal ist er dann spätestens da.

Unter Linux kann man verhindern dass er 'DTR' hochnimmt bei einem Connect ( das ist der Grund warum der Arduino einen Reset macht)

Ich setze recht früh einen 'stty -F /dev/ttyACM0 -hupcl' ab, um das hochnehmen von DTR zu unterbinden.

Durch das Kommando macht er zwar auch einmal einen Reset, bei folgenden Aufrufen mit dem selben tty ist er aber direkt da.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Geister die ich rief 😉 Damit es sich 'lohnt' muss ich noch die LISY_mini programmieren, und den Comet 'entsiffen'

Daher würde ich den Freitag oder Samstag nach dem Pfingstwochenende vorschlagen (14. oder 15.06)

Ich schreib mal ne PM ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin,

ich bin jetzt mit dem Protokoll fertig. Guckt euch bitte mal die Sektion hier unten an: http://docs.missionpinball.org/en/dev/hardware/lisy/protocol.html#protocol-reference-v0-09-rfc. Das ist mein Vorschlag für die zusätzlichen Commands die wir brauchen. Anmerkungen und Kommentare sind willkommen. Ich implementiere das jetzt mal fix so in MPF.

Gibt es sonst noch was das euch in MPF fehlt? (Außer Doku für APC)

Jan

Link zu diesem Kommentar
Auf anderen Seiten teilen

 

Hatten wir Kommando 9 nicht schon? -> "get number of switches", und der erste Abschnitt 'modern lights' ist doppelt

ansonsten OK für mich

Gruesse

Ralf

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Get Number of switches hatte ich mal angedacht. Aber am Ende iterieren wir eh alle switches und können max 127 haben. Daher hab ich es weggelassen. Die doppelte Sektion fixe ich heute Abend.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schönen guten Abend an alle hier, ich hätte da mal eine Frage:

Wäre es möglich mit APC und Lisy_Mini die MPU von einem Time Machine oder Secret Service von DE zu ersetzen?

Gruß Marcus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Marcus,

habe gerade einmal testweise das Time Machine rom im pinmame geladen, er benutzt scheinbar die System11 Routinen, d.h. für LISY_mini

machbar, wenn auch noch nicht programmiert. APC muss Frank ( @Black Knight ) was zu sagen, ich denke aber dat jeht 😊

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also falls Frank bestätigt das es funktionieren könnte würde ich mich als Tester anbieten, woher bekomme ich dann eine APC-Platine?

Gruß Marcus

Link zu diesem Kommentar
Auf anderen Seiten teilen

On 5/30/2019 at 4:07 PM, jabdoa said:

Gibt es sonst noch was das euch in MPF fehlt? (Außer Doku für APC)

Hier mal meine gesammelten Anmerkungen:

- Set Segment Display: 16 Segment Displays gibt's bei Williams nicht, die haben alle nur 14. Wenn Ralf nicht widerspricht könntest du dir diese Option also sparen.

- Play Sound (0x32): Die Verwendung der Original Soundboards ist nicht bei allen Maschinen möglich, da bei den frühen Sys11ern und Sys9 Teile der Sounderzeugung auf dem CPU Board sitzen. Wenn man den APC einbaut sind die also gar nicht mehr da und können daher auch nicht angesprochen werden. Bis einschließlich Sys6 werden Spulentreiber als Interface zum Soundboard benutzt, d.h. man betätigt eine bestimmte Spule um einen Sound auszulösen - da brauchen wir also gar nichts zu machen. Bei Sys7 und Sys11c müsste man die Soundboards über ein kleines HW-Interface ansprechen - das würde ich aber erst angehen, wenn wir keine anderen Sorgen mehr haben und würde den Befehl 0x32 erst mal ignorieren.

- Play Sound File (0x34): Diesen Befehl brauche ich auch nochmal für die zweite Tonspur (Play Music File) und dazu noch einen entsprechenden Stop Music.

41 minutes ago, Marc1 said:

Also falls Frank bestätigt das es funktionieren könnte würde ich mich als Tester anbieten, woher bekomme ich dann eine APC-Platine?

Das kann ich bestätigen. Meines Wissens nach sind die Data East aus der Zeit komplett kompatibel zu Sys11, du solltest den APC also problemlos einsetzen können. Ich habe noch eine letzte Platine hier, allerdings habe ich zur Zeit keine 74FST3244 mehr (das ist so ein nerviges IC, das es nicht bei Reichelt gibt). Wenn du die übrigen Bauteile also bei Reichelt bestellen möchtest, dann würde ich erst noch eine Ladung davon bestellen und dir einen mit schicken.

Gruß

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 6 Minuten schrieb Black Knight:

- Set Segment Display: 16 Segment Displays gibt's bei Williams nicht, die haben alle nur 14. Wenn Ralf nicht widerspricht könntest du dir diese Option also sparen. 

Vielleicht macht das wer anders. Im Grunde ist das Format für 14 und 16 Segmente ja gleich. Passt beides in zwei Byte.

Ich baue dann mal rudimentäre Mappingtabellen für 14 Segment displays. Aktuell ist in MPF alles Ascii aber dann können wir ja in Zukunft auch noch mehr Grafik anzeigen.

 

vor 7 Minuten schrieb Black Knight:

- Play Sound File (0x34): Diesen Befehl brauche ich auch nochmal für die zweite Tonspur (Play Music File) und dazu noch einen entsprechenden Stop Music.

Dann würde ich vorschlagen wir machen eine Version mit Spur Index. Da würde ich dann zwei Commands hinzufügen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

1 hour ago, jabdoa said:

Vielleicht macht das wer anders. Im Grunde ist das Format für 14 und 16 Segmente ja gleich. Passt beides in zwei Byte.

Jein, in den zwei Byte werden bei Williams nämlich auch noch das Komma und der Punkt untergebracht, damit passen dann nur 14 Segmente in zwei Byte.

1 hour ago, jabdoa said:

Dann würde ich vorschlagen wir machen eine Version mit Spur Index. Da würde ich dann zwei Commands hinzufügen.

Du meinst den gleichen Befehl und die Nummer der Spur als zusätzliches Argument übergeben? Ist mir auch Recht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb Black Knight:

Wenn du die übrigen Bauteile also bei Reichelt bestellen möchtest, dann würde ich erst noch eine Ladung davon bestellen und dir einen mit schicken.

Ja das wäre super, können wir so machen🙂🙂, alles weitere dann per PN?

Gruß Marcus

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 10 Minuten schrieb Black Knight:

Jein, in den zwei Byte werden bei Williams nämlich auch noch das Komma und der Punkt untergebracht, damit passen dann nur 14 Segmente in zwei Byte.

Ok macht Sinn. Das schreibe ich dann noch rein. 14_2_segments oder so. Dann machen wir 16 wirklich erstmal weg. Kann man adden wenn wir es brauchen.

 

vor 12 Minuten schrieb Black Knight:

Du meinst den gleichen Befehl und die Nummer der Spur als zusätzliches Argument übergeben? Ist mir auch Recht. 

Ist mir eigentlich egal ob wir einen neuen Befehl bauen oder den alten erweitern. MPF macht das dann anhand der API Version die zurückgegeben wird. Dann erweitern wir.

Link zu diesem Kommentar
Auf anderen Seiten teilen

 

18 hours ago, bontango said:

schaust Du mal kurz drüber bitte?

Es steht nur ein 100nF Kondensator auf der Liste, hast du noch 2 übrig?

Und vergiss die Flachbandkabel nicht um den ganzen Kram zu verbinden, dazu brauchst du dann auch die entsprechenden Quetschverbinder, also 8 Stück 12x2, 2 Stück 10x2 und 2 Stück 13x2.

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

22 hours ago, Marc1 said:

Ja das wäre super, können wir so machen

Habe gerade versucht die ICs zu bestellen, aber der Verkäufer ist bis 27.6. abwesend und kann keine Bestellungen bearbeiten.

Ich bin mir nicht sicher, aber ich meine eine ähnliche Nachricht schon vor zwei Wochen gesehen zu haben, nur war es da noch der 22. Mai. Wir müssen also damit rechnen, das diese ICs nicht mehr zur Verfügung stehen.

Ich werde den Schaltplan sowieso noch ändern und den 74BCT760 empfehlen. Der ist bei Digikey noch ganz normal im Programm und meiner Meinung nach sowieso die elektrisch bessere Lösung. So lange ihn noch niemand ausprobiert hat besteht aber natürlich immer noch ein Restrisiko, dass ich mich verguckt habe und es doch nicht richtig funktioniert. Daher würde ich gerne warten, bis Mark (Snux) das Ding getestet hat und dann erst die Empfehlung ändern.

Digikey ist zwar teurer als Reichelt, aber es gibt ja noch ein paar weitere Teile, die Reichelt nicht hat, wie z.B. die Molexstecker, den 74HCT154 und der TDA7496 ist wohl auch mittlerweile als Restposten markiert. Von daher wäre es vermutlich gut einen zweiten Warenkorb für Digikey zu haben, in dem die Nicht-Reichelt Teile sind. Die Kanadier machen das gerade für mouser.com. Ich werde da mal reinschauen, ob das auch für Europa taugt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 4 Stunden schrieb Black Knight:

Es steht nur ein 100nF Kondensator auf der Liste, hast du noch 2 übrig?

ne, war ein Fehler, ist korrigiert

 

vor 4 Stunden schrieb Black Knight:

Und vergiss die Flachbandkabel nicht um den ganzen Kram zu verbinden

da wollte ich die 'originalen' nehmen, die waren noch drin im Comet, oder passen die nicht?

Link zu diesem Kommentar
Auf anderen Seiten teilen

50 minutes ago, bontango said:

da wollte ich die 'originalen' nehmen, die waren noch drin im Comet, oder passen die nicht?

Doch, die sollten passen. Sind dann zwei Pins mehr pro Kabel als du brauchst, da die Alten ja noch die Hochspannung brauchten, aber das stört ja nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 18 Stunden schrieb Black Knight:

Daher würde ich gerne warten, bis Mark (Snux) das Ding getestet hat und dann erst die Empfehlung ändern.

Ok dann warte ich auf Deine Freigabe. Also auch noch keine anderen Teile bestellen?

Gruß Marcus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

×
×
  • Neu erstellen...

Wichtige Information

Datenschutzerklärung und Registrierungsbedingungen