Jump to content

[C/C++] On-Device-Programmierung auf Bricklet-Plugin zugreifen


Recommended Posts

Hallo

 

Ich bin dabei mein Master-Brick so umzuprogrammieren, das es ohne einen PC funktioniert (standalone).

Durch den Thread von hurz (http://www.tinkerunity.org/forum/index.php/topic,1381.msg8861.html) konnte ich schon viel darüber in Erfahrung bringen, wie die Firmware aufgebaut ist.

Daher weiß ich auch, das es am besten ist, in der "tick_task"-Funktion den Code einzufügen.

In dem Thread wurde nur darauf hingewiesen, das es "einfacher" ist, das Bricklet selber auszulesen, als die Funktionen zu nehmen.

 

Meine Frage jetzt, wie würde es funktionieren, wenn ich es über die Bricklet-Funktionen machen wollte?

Weil wenn ich das in dem Thread richtig verstanden habe, dann müsste immer das selbe Bricklet an dem selben Port angeschlossen werden.

 

Gruß

FLORIAN

 

Link zu diesem Kommentar
Share on other sites

Also wenn ich ein On-Device-Programming Interface erstellen wollte, würde ich "OnDevice" als weitere Kommunikationsschnittstelle in com.c/com.h hinzufügen.

 

Solch eine Schnittstelle muss send, recv und init implementiere (siehe none.c in com/none/ für eine minimale Schnittstelle die nichts tut).

 

Nachrichten die du an Bricklets schicken willst könntest du mit com_route_message_from_pc verschicken, wobei du als dritten Parameter deine neue Schnittstelle angeben musst, also z.B. COM_ONDEVICE.

 

Die Antworten rufen dann ondevice_recv auf.

 

Die Daten selbst sind im gleichen Format wie im TCP/IP Protokoll beschrieben.

Link zu diesem Kommentar
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.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...