#pragma once #include #include #include #include /*********************************** rb2/instance.h RegisteredBus2 Paketorientierte Kommunikation via Serielle Verbindungen mit Adressierung ***********************************/ struct _rb2_instance { uint8_t ax; // Achsnummer dieses Endpunktes uint16_t idmask; // 0x02 Maske aller eigenen IDs uint8_t enabled:1; // 0x04 Endpunkt ist aktiv uint8_t ringmaster:1; // Dieser Knoten ist der Master des RING-BUS uint8_t reserve:6; uint8_t axes; // Anzahl angeschlossener Achsen struct { spinlock_t lock; list_t list; // RB2_LINK *ringlink; } links; avrWAIT ident_timeout; uint32_t timeout; struct { spinlock_t sl_router; spinlock_t sl_pending; volatile list_t router; volatile list_t pending; } queues; list_t proxy; struct { THREAD *router; } threads; };