Mal wieder: Arduino und Rapsberry als Treiber-Boards - Deutsches Howto

More
7 years 7 months ago #128599 by wicki
ein nebenprodukt des raw-eth-treibers:



wird einfach mit

net X ethraw.0.par-00-pos <= stepgen.0.position-fb

eingebunden.
das hier wird von einem raspberry-zero gesteuert (mit usb-eth dran).
ich glaube, ich baue fuer die gemaechlichen sachen noch einen
"normalen" IP-stack mit ein.

irgendwie kommen immer neue baustellen dazu... ;)

Please Log in or Create an account to join the conversation.

More
7 years 7 months ago #128605 by Mike_Eitel
Na dann hast de ja wat zu tun. Sonst wird Dir noch langweilig ;-()

Please Log in or Create an account to join the conversation.

More
7 years 7 months ago #128646 by pl7i92
Schön gross das Display es fehlt der "springende Punkt"

Please Log in or Create an account to join the conversation.

More
7 years 7 months ago #128648 by wicki

pl7i92 wrote: Schön gross das Display es fehlt der "springende Punkt"



alles zu seiner zeit....
ich bau grade neben raw-eth noch udp ein (fuer "langsame" sachen wie display und so)

und bin da in eine falle gelaufen :-(
(bei udp ist das allerdings kein problem - es tritt nur bei raw-eth auf)

ich frag mal hier rum, aber vermutlich ist das wohl ehr was fuer die developer-liste:

da ich die raw-pakete "von hand" filtern muss, erwies sich die idee, direkt mit einem
gemeisamen receive- und arbeits-buffer als eine scheissidee.
ueber-optimiert nennt man das wohl ;-)

denn wenn die daten da sind und ich merke, dass die ja gar nicht fuer mich sind,
dann haben sie ja schon die zuvor validen altdaten uberschrieben.

also muss ich den relevanten datenbereich aus dem empfangspuffer rausschaffen.
und nun die frage:
kann es passieren, wenn ich diese 20 bytes mit memcpy in den validen bereich
move, dass ein linuxCNC-thread waehrenddessen zuschlaegt ? - und das genau
dann, wenn der memcpy erst 10 der 20 bytes gemoved hat?

munter bleiben

wicki

Please Log in or Create an account to join the conversation.

More
7 years 7 months ago #128655 by pl7i92
matrixtreiber wie cool ist das denn
der MCP23017 oder S017 ist der oberhammer für displays

Please Log in or Create an account to join the conversation.

More
7 years 7 months ago #128671 by Mike_Eitel
Ja, generell ein bekanntes und nicht immer einfaches Problem. Speziell wen Du keine RT Umgebung hast.
Wenn Du keine Möglichkeit hast DMA / Interrupt zu unterbinden (denke das kannst Du nicht) dann müsstest Du mit grösserem Ringbuffer arbeiten und anhand des Anfang/ End Pointers Dein Memcopy machen. Aber ob das im Raspi möglich ist weiss ich nicht. Beim Arduino würde ich solange die Interupts disablen.

Please Log in or Create an account to join the conversation.

Moderators: Muecke
Time to create page: 0.828 seconds
Powered by Kunena Forum