globale Konstanten

Alles andere hier herein
Antworten
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

globale Konstanten

Beitrag von PIC18F2550 »

Gibt es eine Möglich keit Konstanten von einem Spinn projekt in ein hinzugefügtes Objekt zu übernehmen?

Code: Alles auswählen

CON
  _clkmode = xtal1 + pll16x
  _xinfreq = 5_000_000

  constante1 = 100   --> "FullduplexSerial"

OBJ
  dbg   : "FullduplexSerial"

PUB  Start | nstr, ch, param
  dbg.start(1, 0, 0, 9600)
  repeat
Oder geht das nur mit Variabeln mit @variabel1.

Am schönsten währe es wenn die Konstanten in einer Datei währen und diese mit file Eingefügt würden.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: globale Konstanten

Beitrag von drohne235 »

Du kannst Konstanten in ein Objekt packen und an den verschiedenen Stellen einbinden. Dabei gehen nur ein paar Byte verloren, da man immer mindestens eine PUB-Routine benötigt, die aber leer sein kann. Ist in meinen Augen locker zu verschmerzen. Ich bin gerade dabei das so in mental zu integrieren. Wird wohl auch mal in TriOS einsickern. Ist cool die Kommandocodes von Administra und Bellatrix, sowie die Signaldefinitionen und den ganzen Krempel global für alle drei Chips zu verwenden und nur in einer Datei zu pflegen.


Die Einbindung sieht dann zum Beispiel so aus:

Code: Alles auswählen

OBJ
  gc         : "m-glob-con"

CON
  VGA_BASPORT  = gc#bel_vgabase                          'vga startport
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: globale Konstanten

Beitrag von PIC18F2550 »

Deine Version macht Sinn wenn in in dem Spinn-Code die Namen der Konstanten von der der m-glob-con abweichen.

Da ich noch nicht so große Dateien habe werde ich das etwas anderst handhaben.

Code: Alles auswählen

CON
  _clkmode = xtal1 + pll16x
  _xinfreq = 5_000_000
OBJ
  co   : "sys-con"
PUB  Start | t
  t := co#const1
  repeat

Code: Alles auswählen

PUB dummy
CON
  const1 = 100
  const2 = 100
Danke für den Tip :D
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: globale Konstanten

Beitrag von PIC18F2550 »

Was ist hier Falsch :?:
Main.spin:

Code: Alles auswählen

CON
  _clkmode = xtal1 + pll16x
  _xinfreq = 5_000_000
OBJ
  co   : "sys-con"
  mod  : "modul"
PUB  Start | t
  t := co#const1
  repeat
sys-con.spin:

Code: Alles auswählen

PUB dummy
CON
  const1 = 100
  const2 = 100
modul.spin:

Code: Alles auswählen

OBJ
  co1   : "sys-con"
PUB  modu
    repeat
Fehlermeldung von BST:
sys-con - Relocation pointer error!! 0000
sys-con - Objekt Position is negative! - This binary will not work - Report thes please!
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
kuroneko
Beiträge: 202
Registriert: Sa 22. Okt 2011, 13:05
Wohnort: FN, Germany

Re: globale Konstanten

Beitrag von kuroneko »

PIC18F2550 hat geschrieben:Fehlermeldung von BST:
sys-con - Relocation pointer error!! 0000
sys-con - Objekt Position is negative! - This binary will not work - Report thes please!
Compiler bug. Funktioniert hier (bst 0.19.4-pre14, bstc 0.15.4-pre11, win32).
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: globale Konstanten

Beitrag von PIC18F2550 »

:shock: binn ich aber RETRO :lol:

DANKE!
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Antworten