Jump to content

IO_TABLE.INC => Ich verstehe nur Bahnhof... ??!?


Amiga-Falcon
 Share

Recommended Posts

Hallo MIDI-Boxer,

ich probier den ganzen Abend (huch, is ja schon wieder nach 2...), also die ganze Nacht rum und komme

vorne und hinten nicht klar.

Meine LC enthält (noch) das originale Programm zur Ansteuerung von 4 LC-Displays (2x16) von Thorsten.

Ich hab bisher nur einen einzigen Parameter geändert: Keine Motorfader. Das Modul kommt erst noch.

Bislang teste ich nur mit einem Core und 2 x DOUTx4.

Die LEDs zur Anzeige von Mute, Solo, Rec und Select klappen 1A (also DOUT Nummer 1 => Schieberegister 1-4).

Nun wollte ich testweise mal mein LED-Bardisplay an das 2. DOUT anschließen, ich bekomme das mit der

Definition in LC_IO_TABLES.INC vorn und hinten nicht auf die Tüte.

Wenn ich die Kathoden der 1. Displayhälfte (also die linken 4 LED-Anzeigen) am 1. Schieberegister und die Anoden der LEDs am 2. Schieberegister (von DOUT Modul Nummer 2) angeschlossen habe, sehe ich... gar nix ?!

Das glaiche gilt für die rechte Displayhälfte. Die Kathoden liegen am 3. SR, die Anoden am 4. SR des DOUT Nummer 2.

DOUT Nummer 2 sollten ja, wie ich annehme, die SR´s 5-9 sein.

Daß ich nix sehe, verstehe ich ja, weil die ursprüngiche Belegung für die Taktanzeige das DOUT Nummer 4 vorsieht (also SR 13-16).

Könnte mir bitte mal jemand unter die Arme greifen und mir sagen, wo ich was ändern muß, damit meine Taktanzeige auf DOUT Nummer 2 => SR 5-8) läuft ?

Ich denke, wenn ich es einmal für meinen Fall gezeigt bekomme, schnalle ich es.

Vielen Dank im Voraus für Eure Bemühungen,

Amiga-Falcon.

Link to comment
Share on other sites

Hi,

Du musst in der setup_midibox_lc.asm zunächst einmal angeben, an welchem DOUT deine LED-Anzeigen hängen:

Auszug:

;; used by lc_leddigits.inc

;; the schematic can be found under http://www.ucapps.de/midibox_lc/midibox_lc_leddigits.pdf

;; NOTE: in principle this driver supports up to 16 LED digits, but only 12 of them are used

#define LEDDIGITS_ENABLED 1 ; if 1, leddigits are enabled

#define LEDDIGITS_SR_SEGMENTS_1 12 ; shift register which drives the segments of digit 7-0 (right side)

#define LEDDIGITS_SR_SELECT_1 13 ; shift register which selects the digits 7-0

#define LEDDIGITS_SR_SEGMENTS_2 14 ; shift register which drives the segments of digit 15-8 (left side)

#define LEDDIGITS_SR_SELECT_2 15 ; shift register which selects the digits 15-8

Danach musst Du die Zuordnung der LC-Funktionen in der LC_IO_Tables ändern.

An den shift-registern, an denen Du dein LED-Display betreibst, musst Du ID_IGNORE eintragen (wenn es nur die DOUTs betrifft, dann nur den jeweils rechten Eintrag auf ID_IGNORE ändern!).

Beispiel:

Du willst an den Shift-Registern 1-4 dein LED-Bardisplay eintragen.

Ändere in der setup die Einträge (12 -15) in 1 - 4.

In der IO_table sieht es dann (hier nur am Beispiel des ersten SR) so aus:

Vorher:

; IMPORTANT: this table MUST consist of 128 entries!!!

; unused lines have to be filled with "db ID_IGNORE, ID_IGNORE"

; ==========================================================================

LC_IO_TABLE_LAYER0

;; 1st shift register

;; button LED

db ID_SELECT_CHN1, ID_SELECT_CHN1

db ID_SELECT_CHN2, ID_SELECT_CHN2

db ID_SELECT_CHN3, ID_SELECT_CHN3

db ID_SELECT_CHN4, ID_SELECT_CHN4

db ID_SELECT_CHN5, ID_SELECT_CHN5

db ID_SELECT_CHN6, ID_SELECT_CHN6

db ID_SELECT_CHN7, ID_SELECT_CHN7

db ID_SELECT_CHN8, ID_SELECT_CHN8

Nachher:

; IMPORTANT: this table MUST consist of 128 entries!!!

; unused lines have to be filled with "db ID_IGNORE, ID_IGNORE"

; ==========================================================================

LC_IO_TABLE_LAYER0

;; 1st shift register

;; button LED

db ID_SELECT_CHN1, ID_IGNORE

db ID_SELECT_CHN2, ID_IGNORE

db ID_SELECT_CHN3, ID_IGNORE

db ID_SELECT_CHN4, ID_IGNORE

db ID_SELECT_CHN5, ID_IGNORE

db ID_SELECT_CHN6, ID_IGNORE

db ID_SELECT_CHN7, ID_IGNORE

db ID_SELECT_CHN8, ID_IGNORE

Die Funktionen, die vorher an den Shift-Registern 1 - 4 waren, musst Du dann auf die Shiftregister verschieben, an denen die Leds für diese Funktionen sind. Also z.b. bei shift-register 12 - 15. Dort änderst Du analog ID_IGNORE auf der rechten Seite in ID_SELECT_xx... usw.

Gruss

Doc

Link to comment
Share on other sites

Nachtrag.

Ich habe überlesen, dass Du es für Deinen Fall gezeigt haben möchtest:

Dann sieht es so aus:

setup:

;; used by lc_leddigits.inc

;; the schematic can be found under http://www.ucapps.de/midibox_lc/midibox_lc_leddigits.pdf

;; NOTE: in principle this driver supports up to 16 LED digits, but only 12 of them are used

#define LEDDIGITS_ENABLED      1   ; if 1, leddigits are enabled

#define LEDDIGITS_SR_SEGMENTS_1      5   ; shift register which drives the segments of digit 7-0 (right side)

#define LEDDIGITS_SR_SELECT_1      6   ; shift register which selects the digits 7-0

#define LEDDIGITS_SR_SEGMENTS_2      7   ; shift register which drives the segments of digit 15-8 (left side)

#define LEDDIGITS_SR_SELECT_2      8   ; shift register which selects the digits 15-8

LC_IO_TABLE im layer 0:

;; 5th shift register

;; button LED

db ID_ASSIGN_TRACK, ID_IGNORE

db ID_ASSIGN_SEND, ID_IGNORE

db ID_ASSIGN_PAN_SURROUND, ID_IGNORE

db ID_ASSIGN_PLUG_IN, ID_IGNORE

db ID_ASSIGN_EQ, ID_IGNORE

db ID_ASSIGN_INSTRUMENT, ID_IGNORE

db ID_BANK_LEFT, ID_IGNORE ; (no LED supported by host)

db ID_BANK_RIGHT, ID_IGNORE ; (no LED supported by host)

;; 6th shift register

;; button LED

db ID_BANK_CHANNEL_LEFT, ID_IGNORE ; (no LED supported by host)

db ID_BANK_CHANNEL_RIGHT, ID_IGNORE ; (no LED supported by host)

db ID_FLIP, ID_IGNORE

db ID_GLOBAL_VIEW, ID_IGNORE

db ID_SHIFT, ID_IGNORE ; (no LED supported by host)

db ID_OPTION, ID_IGNORE ; (no LED supported by host)

db ID_CONTROL, ID_IGNORE ; (no LED supported by host)

db ID_CMD_ALT, ID_IGNORE ; (no LED supported by host)

;; 7th shift register

;; button LED

db ID_MARKER, ID_IGNORE

db ID_NUDGE, ID_IGNORE

db ID_CYCLE, ID_IGNORE

db ID_DROP, ID_IGNORE

db ID_REPLACE, ID_IGNORE

db ID_CLICK, ID_IGNORE

db ID_REWIND, ID_IGNORE

db ID_FAST_FWD, ID_IGNORE

;; 8th shift register

;; button LED

db ID_STOP, ID_IGNORE

db ID_PLAY, ID_IGNORE

db ID_RECORD, ID_IGNORE

db ID_CURSOR_UP, ID_IGNORE ; (no LED supported by host)

db ID_CURSOR_LEFT, ID_IGNORE ; (no LED supported by host)

db ID_ZOOM, ID_IGNORE

db ID_CURSOR_RIGHT, ID_IGNORE ; (no LED supported by host)

db ID_CURSOR_DOWN, ID_IGNORE ; (no LED supported by host)

Das wars schon.

Du musst jetzt nur noch alle Funktionen der LEDs, die jetzt ja vermutlich an anderen Shift Registern hängen, an der jeweiligen Stelle eintragen, wenn die LED dort leuchten soll.

Gruss

Doc

Link to comment
Share on other sites

Guten Morgen ;),

und vielen Dank, doc, für diese ausführliche Beschreibung.

Ich denke, damit komme ich klar.

Mich hat es irritiert, daß in den originalen Files zwischendurch immer

in den Kommentaren stand: "don't change the numbers here!

use the definitions in the IO table to assign functions to buttons and LEDs".

Das hat mich irgendwie verunsichert.

Ein schönes WE,

Amiga-Falcon.

Link to comment
Share on other sites

Mich hat es irritiert, daß in den originalen Files zwischendurch immer

in den Kommentaren stand: "don't change the numbers here!

use the definitions in the IO table to assign functions to buttons and LEDs".

Das ist an der Stelle nicht als Verunsicherung gedacht. Man darf im oberen Definitionsteil tatsächlich keine Nummern ändern (dort darf man aber die Namen ändern, wenn man möchte....).

Weiter unten in der IO Table musst/sollst Du Deine Zuordnung dann nach Herzenslust ändern.  ;D

Gruss

Doc

Link to comment
Share on other sites

Super !

Hat alles geklappt. Wenn man´s einmal kapiert hat, ist es eigentlich

ganz einfach und logisch.

Ich hatte bloß zuerst noch ´nen Denkfehler gemacht und als 1. Schieberegister

die Nummer 5 vergeben. Daß die von 0 an gezählt werden und ich folglich dann bei 4

anfangen muß, kam mir aber gleich bei dem angezeigten Kauderwelsch in den Sinn.

Nochmals Danke für Deine Hilfe,

Amiga-Falcon.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...