Project

General

Profile

Actions

Support Request #7654

closed

Problem manipulating and trasmitting data

Added by hidden almost 5 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
Normal
Customer:
PORSCHE
Department:
Requester's Priority:
Normal
Support Level:
2nd Level
Resolution:
Solved Issue
Product Issue Numbers:
Affected Products:
Platform:
Topic:
DeviceTB::Flexray
FAQ Links:

Description

Supportanfrage

Ich arbeite gerade daran ihren Flexray Signal Decoder in ADTF 2.14.1 für unsere Bedürfnisse anzupassen.

Nun habe ich folgendes Problem:
Ich habe eine Vielzahl von Signalen und möchte diese zum Teil 1 zu 1 übertragen und zum anderen durch konstante Werte überschreiben.
Ich habe hierfür eine while-Schleife geschrieben, aber leider wird die Simulation dadurch extrem langsam.
Durch den Befehl "m_pCoder->TransmitData(pData, &nDataSize);" werden nur modifizierte Werte überschrieben. Werte die aber konstant bleiben sollen, werden leider nicht übertragen.
Als Lösung habe ich mir folgende Möglichkeiten überlegt:

1.) Wir benötigen einen Befehl, der alle Werte künstlich auf modified setzt. Also eine Art: //m_pCoder->SetModifiedFlag(); // sets all modified flags

2.) Wir benötigen einen Befehl, der alle Werte ausgibt, egal ob überarbeitet oder nicht.

Wir können gerne am Donnerstagmittag ab 13:30 Uhr Skypen, dabei kann ich die die offenen Punkte aus der Mail #7646 erklären.

Nachfrage

ganz verstehe ich den Use Case noch nicht. Ein paar Dinge sind von den Begrifflichkeiten her unklar:
Was bedeutet bei euch
"Werte werden nicht übertragen": Wohin übertragen? Übertragen ist bei uns immer mit IPC/Netzwerk konotiert, aber darum gehts hier glaub ich nicht.
"Wir benötigen einen Befehl, der alle Werte ausgibt, egal ob überarbeitet oder nicht." Was heißt hier ausgeben? In ein Log schreiben, oder irgendwo ablegen? Ich vermute hier im ADTF Sample zu aktualisieren?
Wohin sollen die Flexray-Frames denn geschrieben/übertragen werden? Im Moment kenne ich folgende Kette:

ADTF DAT File -> Player -> Flexray Signal Filter (von Euch, mit Flexray Media Coder) -> ???

Soweit ich das erkenne wollt ihr an eurem Flexray Signal Filter wieder ADTF Samples mit Flexray Frames rausschreiben. Sollen die wieder auf einen "echten" Flexray geschrieben werden?

Mein naiver Ansatz wäre man legt sich in einer Hashmap Cycle und Slot IDs der zu modifizierenden Frames ab und leitet alle anderen Samples/Frames 1:1 am Ausgangspin wieder weiter.
Bei den zu modifizierenen Frames kopiert man die Samples in neue Samples und iteriert dann mit dem Coder über alle zu veränderten Signale und setzt die wie gewünscht um.

Bitte noch eine Erläuterung warum ihr bei den nicht modifizierten Signalen auch ein gesetzes Modified Bit haben wollt? Braucht ihr das im Fall auch für Frames in denen gar keine Signale verändert wurden?

Lösung

Ich habe einen eigenen Filter geschrieben, welcher im Low-Level die ganzen PDU´s überschreibt und weitergibt.
Durch das Low-Level ist die Performance deutlich verbessert als beim High-Level.

Actions #1

Updated by hidden almost 5 years ago

  • Project changed from Public Support to 16
  • Status changed from New to In Progress
  • Topic set to DeviceTB::Flexray
  • Customer set to PORSCHE
  • Affected Products ADTF 2.14.1 added

Hi Martin,

hier etwas mehr zum Use Case... kannst du das übernehmen ?

Actions #2

Updated by hidden almost 5 years ago

Hallo,

ganz verstehe ich den Use Case noch nicht. Ein paar Dinge sind von den Begrifflichkeiten her unklar:
Was bedeutet bei euch
  • "Werte werden nicht übertragen": Wohin übertragen? Übertragen ist bei uns immer mit IPC/Netzwerk konotiert, aber darum gehts hier glaub ich nicht.
  • "Wir benötigen einen Befehl, der alle Werte ausgibt, egal ob überarbeitet oder nicht." Was heißt hier ausgeben? In ein Log schreiben, oder irgendwo ablegen? Ich vermute hier im ADTF Sample zu aktualisieren?

Wohin sollen die Flexray-Frames denn geschrieben/übertragen werden? Im Moment kenne ich folgende Kette:

ADTF DAT File -> Player -> Flexray Signal Filter (von Euch, mit Flexray Media Coder) -> ???

Soweit ich das erkenne wollt ihr an eurem Flexray Signal Filter wieder ADTF Samples mit Flexray Frames rausschreiben. Sollen die wieder auf einen "echten" Flexray geschrieben werden?

Mein naiver Ansatz wäre man legt sich in einer Hashmap Cycle und Slot IDs der zu modifizierenden Frames ab und leitet alle anderen Samples/Frames 1:1 am Ausgangspin wieder weiter.
Bei den zu modifizierenen Frames kopiert man die Samples in neue Samples und iteriert dann mit dem Coder über alle zu veränderten Signale und setzt die wie gewünscht um.

Bitte noch eine Erläuterung warum ihr bei den nicht modifizierten Signalen auch ein gesetzes Modified Bit haben wollt? Braucht ihr das im Fall auch für Frames in denen gar keine Signale verändert wurden?

Grüße,

Martin

PS: Ein Online Meeting können wir gerne nächste Woche machen, aber es ist wichtig, dass die grundlegenden Dinge hier in Tickets schriftlich festgehalten werden, weil es sonst für jemand anderen (so wie jetzt für mich) sehr schwierig ist zu übernehmen.

Actions #4

Updated by hidden almost 5 years ago

  • Status changed from In Progress to Customer Feedback Required

hidden: Ist das hier noch aktuell ? Wie ist hierzu die Erwartungshaltung und das weitere Vorgehen angedacht ?

Actions #5

Updated by hidden almost 5 years ago

  • Resolution set to Solved Issue

Hallo Alexander,

danke fürs Feedback.
Kannst du uns noch deine Lösung kundtun ?

Ansonsten ist das Ticket hier so halbgar...

Danke !

Actions #6

Updated by hidden almost 5 years ago

Kann geschlossen werden, habe das Problem anderweitig gelöst.

Mit freundlichen Grüßen

Alexander Clauss

Actions #7

Updated by hidden almost 5 years ago

Ich habe einen eigenen Filter geschrieben, welcher im Low-Level die ganzen PDU´s überschreibt und weitergibt.
Durch das Low-Level ist die Performance deutlich verbessert als beim High-Level.

Mit freundlichen Grüßen

Alexander Clauss

Actions #8

Updated by hidden almost 5 years ago

  • Private changed from Yes to No
  • Project changed from 16 to Public Support
  • Subject changed from ADTF 2.14.1: Problem mit TransmitData to Problem manipulating and trasmitting data
  • Description updated (diff)
  • Status changed from Customer Feedback Required to To Be Closed
Actions #9

Updated by hidden almost 4 years ago

  • Status changed from To Be Closed to Closed
Actions

Also available in: Atom PDF