You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The component provides a general purpose connectivity engine between two micro-controllers, one acting as PPP server (slave), the other one as PPP client (host). Typical application is a WiFi connectivity provider for chips that do not have WiFi:
3
+
The component provides a general purpose connectivity engine between two microcontrollers, one acting as PPP server (slave), the other one as PPP client (host).
4
+
This component could be used for extending network using physical serial connection. Applications could vary from providing PRC engine for multiprocessor solutions to serial connection to POSIX machine. This uses a standard PPP protocol to negotiate IP addresses and networking, so standard PPP toolset could be used, e.g. a `pppd` service on linux. Typical application is a WiFi connectivity provider for chips that do not have WiFi
5
+
6
+
## Typical application
7
+
8
+
Using this component we can construct a WiFi connectivity gateway on PPP channel. The below diagram depicts an application where
9
+
PPP server is running on a WiFi capable chip with NAPT module translating packets between WiFi and PPPoS interface.
10
+
We usually call this node a SLAVE microcontroller. The "HOST" microcontroller runs PPP client and connects only to the serial line,
11
+
brings in the WiFi connectivity from the "SLAVE" microcontroller.
4
12
5
13
```
6
14
SLAVE micro HOST micro
@@ -17,27 +25,28 @@ The component provides a general purpose connectivity engine between two micro-c
17
25
18
26
*`eppp_connect()` -- Simplified API. Provides the initialization, starts the task and blocks until we're connected
19
27
20
-
*`eppp_client_init()` -- Initialization of the client. Need to run only once.
21
-
*`eppp_client_start()` -- Starts the connection, could be called after startup or whenever a connection is lost
22
-
*`eppp_client_perform()` -- Perform one iteration of the PPP task (need to be called regularly in task-less configuration)
23
-
24
28
### Server
25
29
26
30
*`eppp_listen()` -- Simplified API. Provides the initialization, starts the task and blocks until the client connects
27
-
*`eppp_server_init()` -- Initialization of the server. Need to run only once.
28
-
*`eppp_server_start()` -- (Re)starts the connection, should be called after startup or whenever a connection is lost
29
-
*`eppp_server_perform()` -- Perform one iteration of the PPP task (need to be called regularly in task-less configuration)
31
+
32
+
### Manual actions
33
+
34
+
*`eppp_init()` -- Initializes one endpoint (client/server).
35
+
*`eppp_deinit()` -- Destroys the endpoint
36
+
*`eppp_netif_start()` -- Starts the network, could be called after startup or whenever a connection is lost
37
+
*`eppp_netif_stop()` -- Stops the network
38
+
*`eppp_perform()` -- Perform one iteration of the PPP task (need to be called regularly in task-less configuration)
30
39
31
40
## Throughput
32
41
33
42
Tested with WiFi-NAPT example, no IRAM optimizations
0 commit comments