FT800 läuft nicht auf SPID eines Xmegas

Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

FT800 läuft nicht auf SPID eines Xmegas

 · 
Posted: 29.03.2019 - 18:31  ·  #1
Ich habe einige Displays mit FT800 in Betrieb, alle liefen bisher auf SPIC.

Jetzt habe ich einen neuen Prototyp, wo der SPID für da Display verwendet wird, nach sehr langer Suche, warum das Display nicht lief, habe ich jetzt aus Verzweiflung mal auf einem Protoboard getestet, ob es überhaupt läuft, und zu meinem Entsetzen scheint die FT800 nur auf SPIC zu laufen! Da scheint irgend etwas hart kodiert auf SPIC zu sein.
Auf SPID kommen zwar die Signale, aber aus unerfindlichem Grund läuft das Display da nicht an.

Kann jemand mal in den Compilercode schauen ob da irgendwo SPIC hardkodiert drin steht?
Denn auf meinem Prototyp läuft die Hardware an SPIC auch nicht, obwohl da alles ok ist. Da hängt ein Flash dran.

Ich weiß, dass es keinen Support für FT800 gibt, aber vielleicht kann jemand einen Blick in den Code werfen. In der Unit selbst ist nichts zu finden.
rage
Benutzer
Avatar
Gender: n/a
Age: 65
Homepage: processanalytik.de
Posts: 237
Registered: 02 / 2007
Subject:

Re: FT800 läuft nicht auf SPID eines Xmegas

 · 
Posted: 01.04.2019 - 10:55  ·  #2
Guten Morgen,

naja kein Support, so würde ich das nicht nennen, wenn ich helfen kann dann tue ich das auch. In den Sourcen ist auch wirklich nichts zu finden. Denn der Teil steckt tatsächlich im AvrCo, deshalb muß ja auch die EVE_Graphic eingebunden werden. Ich kann jetzt nicht sagen in wie weit da was schief liegt und meine Hardware liegt tatsächlich immer auf PortC, anbei habe ich mal eine Unit mit beigelegt, mit der der ganze Zugriff nativ erledigt werden kann, aber vorsicht da sind noch ein paar Defines drin die raus müssen. EVE_Graphic wird dann nicht mehr benötigt, ob der Zugriff dann langsamer ist, weil Rolf diese Routinen in Assembler erledigt, weiß ich auch nicht.

cu rage
Attachments
Unit uFT800Native;

interface
// global part

{ $W+} // enable/disable warnings for this unit

uses ;

{--------------------------------------------------------------}
{ Const Declarations }
const

{$IDATA}
{--------------------------------------------------------------}
{ Type Declarations }
type

{--------------------------------------------------------------}
{ Var Declarations }
var
{$IFDEF StangeV2}
FT800ResetDir[@DDRB, 6]: Bit;
FT800Reset [@PortB,6]: Bit;
FT800CSDir [@DDRC, 4]: Bit;
FT800CS [@PortC,4]: Bit;
{$ELSIFDEF MGALoggerV2 or MGALoggerV2_640480}
FT800ResetDir[@DDRA, 4]: Bit;
FT800Reset [@PortA,4]: Bit;
FT800CSDir [@DDRA, 2]: Bit;
FT800CS [@PortA,2]: Bit;
{$ELSIFDEF AKZOLogger}
FT800ResetDir[@DDRC, 0]: Bit;
FT800Reset [@PortC,0]: Bit;
FT800CSDir [@DDRC, 4]: Bit;
FT800CS [@PortC,4]: Bit;
{$ENDIF}

{--------------------------------------------------------------}
{ functions }
Procedure InitFT800Pins;
Function FT800_ReadGPU8(CMD:LongWord):Byte;
Function FT800_ReadGPU16(CMD:LongWord):Word;
Function FT800_ReadGPU32(CMD:LongWord):LongWord;
Procedure FT800_HostCommand(CMD:Byte);

Procedure FT800_SPI_Slow;
Procedure FT800_SPI_Fast;

Procedure FT800_CS_Hi;
Procedure FT800_CS_Lo;
Procedure FT800_RES_Hi;
Procedure FT800_RES_Lo;

Procedure EVEoutAddr(Value:LongWord);
Procedure EVEoutLong(Data:LongWord);
Procedure EVEoutWord(Data:Word);
Procedure EVEoutByte(Data:Byte);

implementation
// local part

{--------------------------------------------------------------}
{ Type Declarations }
type

{--------------------------------------------------------------}
{ Const Declarations }
const

{--------------------------------------------------------------}
{ Var Declarations }
{$IDATA}

{--------------------------------------------------------------}
{ functions }
Procedure InitFT800Pins;
Begin
FT800ResetDir:=True;
FT800Reset :=True;
FT800CSDir :=True;
FT800CS :=True;
Filename: uFT800Native.pas
Filesize: 4.54 KB
Title:
Download counter: 52
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: FT800 läuft nicht auf SPID eines Xmegas

 · 
Posted: 01.04.2019 - 11:06  ·  #3
Hallo Lschreyer,

wenn ich sowas habe, stelle ich es zum testen immer erstmal auf den Software-SPI um, evtl. kannst Du das mal austesten.

Thorsten
rage
Benutzer
Avatar
Gender: n/a
Age: 65
Homepage: processanalytik.de
Posts: 237
Registered: 02 / 2007
Subject:

Re: FT800 läuft nicht auf SPID eines Xmegas

 · 
Posted: 01.04.2019 - 11:18  ·  #4
Das wäre auch eine Idee, zumal ich weiß das Software-SPI auch unterstützt wird.
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: FT800 läuft nicht auf SPID eines Xmegas

 · 
Posted: 01.04.2019 - 14:36  ·  #5
Hallo rage,

was ist das für ein XMEGA?

Thorsten
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: FT800 läuft nicht auf SPID eines Xmegas

 · 
Posted: 01.04.2019 - 19:47  ·  #6
Ich habe den Grund gefunden, und der war wirklich doof: Ich hatte meine üblichen Xmega256A3U bestellt, geliefert wurden aber Xmega256A3-AU, kleiner Zahlendreher, große Wirkung. Dummerweise habe ich die auf einigen Boards gelötet, und auch ein eigenes Demoboard damit ausgestattet, bis man das merkt..so kam es dass der Fehler auf beiden Platinen da war.

Der Effekt ist, dass da bei einem im Code definiertem A3U tatsächlich der Spi auf PortD nicht läuft.
PortC geht, D nicht. Da sind wohl einige Adressen anders.
Irgendwann habe ich aus Verzweiflung den Prozessor ausgelötet und getauscht, unterm Mikroskop fiel mir dann der Zahlendreher auf, was habe ich mir da an den Kopf gefasst, aiaiai.
Ist natürlich letztendlich mein Fehler, zu blöd dass ich das nicht gesehen habe, man muss wirklich genau schauen was man geliefert bekommt.

Wenn man den Code auf den Controller umstellt läufts auf einmal. Also alles gut, ich war blöd, bzw. der Lieferant.
rage
Benutzer
Avatar
Gender: n/a
Age: 65
Homepage: processanalytik.de
Posts: 237
Registered: 02 / 2007
Subject:

Re: FT800 läuft nicht auf SPID eines Xmegas

 · 
Posted: 02.04.2019 - 08:34  ·  #7
Guten Morgen

@pvs-deck je nach Schaltung ist es ein xmega384C3 (hier geht ja kein SPI_D) oder ein xmega256A3U

cu rage
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 16 · Cache Hits: 15   127   142 · Page-Gen-Time: 0.027807s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI