Seite 2 von 2

AW: Nice Display API

Verfasst: Do 12. Apr 2007, 18:02
von Elle4u
Also ich habe es heute nochmal mit dem Trennen nach H und C versucht aber der Compiler meckert nun immer mehr.

Da muss ich es wohl so machen wie von Happy beschrieben.
Ich schreibe mir meine eigenen Funktionen, welche dann seine wiederum aufrufen...

AW: Nice Display API

Verfasst: Do 12. Apr 2007, 18:19
von rugi
[quote=""Elle4u""]@rugi: Irgend eine Idee, warum es so auch nicht funktioniert?[/quote]

Hi Elle4u,

(war 2 Tage weg)
Sorry, mein erster Test war einfach, das nd_api100.h zweimal in denselben Source zu geben, was geht; du hast es aber ja jeweils in verschiedenen C Files...

Habs noch etwas überarbeitet, gesplittet in ein nd_api100g.c und ein .h (g für geteilt).
In deinen C Files ist nur das nd_api100g.h zu includieren.
Und das Makefile zum Kompilieren gehört angepasst:
zum bestehenden
call ..\gcc %tapname%.c
noch dazu ein:
call ..\gcc nd_api100g.c

dann entsteht auch ein nd_api100.o Objectfile; leider hab ich noch nicht geschafft, dass ich das korrekt zum tapname.o dazulinke.
Also irgendwo bei mips-ld ... müsste es rein:
mips-ld --cref -o %tapname%.elf -T ..\TAP.LD %tapname%.o -l tap -l c -Map %tapname%.map

Hast du nicht ohnehin mehrere C Files, die du zusammenlinkst? Oder sonst kann wer dazu Tips geben wie man das Makefile dazu anpasst?

Attached das *.c *.h und *.bat, wobei das makefile build.bat eben noch nicht korrekt das nd_api100.o dazulinkt.

Hoffe das hilft ein wenig :) rugi

AW: Nice Display API

Verfasst: Do 12. Apr 2007, 18:26
von Elle4u
Ich habe es jetzt so gemacht:

In meiner helper.c linke ich 1x das File von Happy.

Dann habe ich in der helper.h folgendes stehen:

Code: Alles auswählen

typedef enum
{
	Filer_CmdNone = 0,
	Filer_CmdUseBothLines,
	Filer_CmdUseFirstLine,
	Filer_CmdUseSecondLine
} TYPE_Filer_Command;

int			Filer_Initialize_ND_API(void);
int			Filer_CancelDisplay_NDAPI(dword TAPId);
int			Filer_SetHeartBeat_NDAPI(dword TAPId);
int			Filer_ShowDisplay_NDAPI(char * line1, char * line2, TYPE_Filer_Command Command, dword TAPId);
und in die helper.c habe ich folgendes stehen:

Code: Alles auswählen

int			Filer_Initialize_ND_API(void)
{
  return Initialize_ND_API();
}

int			Filer_CancelDisplay_NDAPI(dword TAPId)
{
  return CancelDisplay_NDAPI(TAPId);
}

int			Filer_SetHeartBeat_NDAPI(dword TAPId)
{
  return SetHeartBeat_NDAPI(TAPId);
}

int			Filer_ShowDisplay_NDAPI(char * line1, char * line2, TYPE_Filer_Command Command, dword TAPId)
{
  return ShowDisplay_NDAPI(line1, line2, Command, TAPId);
}
Ich rufe dann immer die Filer_* auf und damit funktioniert es jetzt. :)

AW: Nice Display API

Verfasst: Do 12. Apr 2007, 18:31
von rugi
super! freut mich, daß du nun eine Lösung hast!
Bin schon neugierig was der Filer so alles aufs ND bringen wird ;)
:) rugi

AW: Nice Display API

Verfasst: Fr 13. Apr 2007, 11:52
von Elle4u
@Happy:

Folgendes ist mir bei der Benutzung der API aufgefallen:

Wenn sich der Text der Zeile 1 nicht verändert, dann wird der Scroll-Vorgang anscheinend nicht neu angestoßen.
In manchen Situationen ist das gut in manchen aber nicht (evtl. wäre da eine Option praktisch).

Wenn ich z.B. bei zweizeiliger Darstellung in Zeile 1 die Frage reinschreibe "Datei wirklich löschen?" und in der Zeile 2 dann "Ja" oder "Nein", dann wird bei wechsel von "Ja" auf "Nein" die erste Zeile in Ruhe weiter gescrollt und nur die 2. Zeile verändert.
Wenn ich jetzt aber in der 1-zeiligen Darstellung bin, dann sieht man die Veränderung erst, wenn immer der komplette Text 1 durchgelaufen ist und dann kommt Text 2.

Drehe ich das Ganze nun um, damit man in der 1-zeiligen Darstellung sofort die Änderung sieht, dann wird aber auch bei 2-zeiliger Darstellung jedesmal die 2. Zeile neu aufgebaut, wenn sich die erste verändert hat.

Ich hoffe, Du verstehst was ich meine :)



Dann noch etwas zur Darstellung des Kurz-Textes:

Ich wollte nur 1x z.B. "Filer wird gestartet" durchscrollen lassen.
Der Aufruf "ShowMessage_NDAPI("Filer wird gestartet", 5);" bewirkt aber nur, dass der Text "Filer wir" im Display zu sehen ist und dann verschwindet.
Wird der Kurz-Text also nicht gescrollt?

AW: Nice Display API

Verfasst: Fr 13. Apr 2007, 12:46
von Happy
Hi,

die Anzeige funktioniert genauso wie bei der Anzeige von Sender/Sendung oder Aufnahme/Beschreibung. Nur eine Änderung des ersten Textes zeigt diesen sofort an.
Die API ist nur eine weitere Quelle für die anzuzeigenden Texte.

Es gibt bisher keinen Code, der den 2. Text sofort (ohne Scrollen) im Display anzeigt.

Ja, der Kurztext kann nicht scrollen. Es ist die Funktion, die ND auch intern verwendet, um Format, Auflösung oder Uhrzeit auf Knopfdruck einzublenden.
Wenn etwas scrollen soll, dann muss man die andere Anziegfunktion verwenden. Evtl sollte es eine Funktion geben, die die Anzahl der zu Verfügung stehenden Zeichen zurückgibt.

Die API ist halt hauptsächlich für das Radiotext-TAP gedacht, weniger für Benutzer-Dialoge :wink:

Gruß,
Happy

AW: Nice Display API

Verfasst: Fr 13. Apr 2007, 12:56
von Elle4u
[quote=""Happy""]Die API ist halt hauptsächlich für das Radiotext-TAP gedacht, weniger für Benutzer-Dialoge :wink: [/quote]
Kein Problem. Ist ja mehr ein "Gag" als eine "Feature"...

Ich versuche es dann mit den gelieferten Mitteln einigermaßen hin zu bekommen :)

AW: Nice Display API

Verfasst: Fr 13. Apr 2007, 14:00
von Elle4u
[quote=""rugi""]Bin schon neugierig was der Filer so alles aufs ND bringen wird ;) [/quote]

Bisher :) :

Code: Alles auswählen

+ ND-API: Der aktuell ausgewählte Verzeichnis-Eintrag (Verzeichnis (in []) oder
  Datei) und das aktuelle Verzeichnis werden im Topf-Display angezeigt, wenn
  NiceDisplay läuft
  - 1. Zeile = akt. Verzeichnis
  - 2. Zeile = [Verzeichnis-] oder Datei-Name
+ ND-API: Beim Ja/Nein-Dialog erscheint dieser zusätzlich im Topf-Display
  - 1. Zeile = Frage
  - 2. Zeile = akt. markierte Antwort
+ ND-API: Beim Optionen-Dialog erscheint dieser zusätzlich im Topf-Display
  - 1. Zeile = Überschrift
  - 2. Zeile = gewählte Option
+ ND-API: Beim Move-Dialog erscheint dieser zusätzlich im Topf-Display
  - 1. Zeile = Überschrift
  - 2. Zeile = gewähltes Verzeichnis
+ ND-API: Beim Keyboard-Dialog erscheint dieser zusätzlich im Topf-Display
  - 1. Zeile = Überschrift
  - 2. Zeile = eingegebener Name
+ ND-API: Beim Erw. Infos-Dialog erscheint dieser zusätzlich im Topf-Display
  - 1. Zeile = Überschrift
  - 2. Zeile = EventName ~ EventDescription
+ ND-API: Beim Datei anzeigen-Dialog erscheint dieser zusätzlich im Topf-Display
  - 1. Zeile = Überschrift
  - 2. Zeile = Datei-Name
:D :D :D

AW: Nice Display API

Verfasst: Fr 13. Apr 2007, 19:23
von rugi
@Elle4u:
Steil! Wann bekommt das Filer Feature die TF Gemeinde? in Filer 2.0 Beta11 oder so?
;) rugi

AW: Nice Display API

Verfasst: Fr 13. Apr 2007, 20:08
von Elle4u
[quote=""rugi""]in Filer 2.0 Beta11 oder so?[/quote]
Ja ;)

AW: Nice Display API

Verfasst: Sa 21. Apr 2007, 11:30
von rugi
Wenn man einen String mit "\n\r" ans ND API übergibt, bekommt man recht nette Effekte, die man ev. nützen will/kann:
z.B. den String "1abcd1\n\r2ABCD2\n\r"
* Zuerst scrollt 2ABCD2 auf der rechten Seite(!) rein
* dann scrollt 1abcd1 links rein
* dann wird alles gelöscht (zeichenweise) und beginnt wieder von Neuem

Also man kann mit newline /n bzw. carriage return /r ganz nette Effekte haben!
(seh ich natürlich als Vorteil!)
:) rugi

AW: Nice Display API

Verfasst: Sa 21. Apr 2007, 12:01
von mega
Normal ist doch, das es von rechts her rein scrollt-

AW: Nice Display API

Verfasst: So 22. Apr 2007, 10:16
von rugi
[quote=""mega""]Normal ist doch, das es von rechts her rein scrollt-[/quote]

Hast recht, es müsste genauer heissen:
(z.B. mit String "1abcd1\n\r2ABCD2\n\r")
* zuerst scrollt 2ABCD2 von recht rein und bleibt rechtsbündig(!) stehn
* wenn 2ABCD2 rechtbündig steht, erscheint linksbündig Zeichen für Zeichen (als nicht gescrollt) dann: 1abcd1
* dann wird alles gelöscht (zeichenweise) und beginnt wieder von Neuem

Im Endeffekt könnte man die Effekte von /n /r noch genauer untersuchen; werd ich mal, sobald ich Zeit finde.
Wie gesagt, ich find das interessant und man könnte es ja nützen irgendwie :)

Wens interessiert, ich hab ein kl. Testtap attached, und es zeigt in der 2. Zeile diesen String. (Es meldet sich mit "EXIT=Recall" im Display, also mit Recalltaste zu beenden).
:) rugi

AW: Nice Display API

Verfasst: So 22. Apr 2007, 10:48
von mega
Und wenn man keine 2te Zeile hat?
Oder kommt die dann auch, wenn man es einzeilig eingstellt hat?

AW: Nice Display API

Verfasst: Mo 23. Apr 2007, 07:51
von rugi
[quote=""mega""]Und wenn man keine 2te Zeile hat?
Oder kommt die dann auch, wenn man es einzeilig eingstellt hat?[/quote]

ja, bei einzeiliger Darstellung kommt zuerst der Sendername (==1.Zeile) und dann z.B. der Name der Sendung (=2.Zeile) nacheinander, wenn man den 2-Zeilenmode einschaltet dasselbe untereinander.

AW: Nice Display API, Standalone/TAPCOM

Verfasst: Mo 14. Mai 2007, 22:10
von Happy
Im ersten Posting habe ich die Infos zur ND-API auf TAPCOM-Basis bereitgestellt.

Gruß,
Happy

AW: Nice Display API, Standalone/TAPCOM

Verfasst: Mo 14. Mai 2007, 22:15
von BlackOne
[quote=""Happy""]Es gibt nun ab Version 1.8 beta 7[/quote]

wo gibt es die denn ?? :oops:

AW: Nice Display API, Standalone/TAPCOM

Verfasst: Mo 14. Mai 2007, 22:36
von Happy
[quote=""BlackOne""]wo gibt es die denn ?? :oops:[/quote]

Da warst Du nur zu ungeduldig. ;-)
Jetzt ist sie da.

Gruß,
Happy

AW: Nice Display API, Standalone/TAPCOM

Verfasst: Mo 14. Mai 2007, 22:42
von ibbi
[quote=""Happy""]Im ersten Posting habe ich die Infos zur ND-API auf TAPCOM-Basis bereitgestellt.[/quote]