mbed-os/features/nanostack/FEATURE_NANOSTACK/sal-stack-nanostack/docs/img/NanostackRfPhy.plantuml.txt

67 lines
1.6 KiB
Plaintext

@startuml
package "mbed OS Socket abstraction" {
abstract class MeshInterface -|> NetworkInterface
interface NetworkInterface {
+connect();
+disconnect();
+NetworkStack *get_stack();
}
interface NetworkStack
}
package "Nanostack PHY driver interface" {
interface NanostackPhy {
+int8_t phy_register()
+void get_mac_address(uint8_t *mac)
+void set_mac_address(uint8_t *mac)
}
NanostackPhy <|-- abstract class NanostackRfPhy
NanostackPhy <|-- abstract class NanostackEthernetPhy
}
package "mesh API internals" {
class NanostackInterface {
{static} +NanostackInterface *get_stack()
#socket_open()
#socket_close()
#socket_bind()
#socket_listen()
#socket_connect()
#socket_accept()
#socket_send()
#socket_recv()
#socket_sendto()
#socket_recvfrom()
#socket_attach()
#setsockopt()
#getsockopt()
}
NetworkStack <|-- NanostackInterface
abstract class MeshInterfaceNanostack {
+initialize(NanostackPhy *phy)
+connect()
+disconnect()
#NetworkStack *get_stack(void)
}
MeshInterface <|-- MeshInterfaceNanostack
NanostackPhy --o MeshInterfaceNanostack
MeshInterfaceNanostack -left-> NanostackInterface : get_stack()
}
package "mbed-mesh-api" {
MeshInterfaceNanostack <|-- LoWPANNDInterface
MeshInterfaceNanostack <|-- ThreadInterface
MeshInterfaceNanostack <|-- NanostackEthernetInterface
}
hide empty members
hide empty attributes
hide empty fields
@enduml