1## BLE Phy for BabbleSim
2
3The overall
4[BabbleSim documentation](https://babblesim.github.io/)
5provides information about
6[BabbleSim's architecture](https://babblesim.github.io/architecture.html),
7as well as
8[general information on this physical layer](https://babblesim.github.io/2G4.html).
9
10There you can also find some
11[simple usage examples](https://babblesim.github.io/example_2g4.html).
12
13This Phy accepts many command line parameters, for more information about these,
14you can run it with the `--help` option.
15
16For more details about the design of this Phy please check
17[README_design.md](./README_design.md).
18
19For information about how to select a different channel or modem model
20[check this page](https://babblesim.github.io/2G4_select_ch_mo.html).
21For information about how to implement a new channel or modem model,
22check [README_channel_and_modem_if.md](README_channel_and_modem_if.md)
23
24The interface between the simulated devices and this Phy is provided by
25[ext_2G4_libPhyComv1](https://github.com/BabbleSim/ext_2G4_libPhyComv1).
26Please refer to
27[its documentation](https://github.com/BabbleSim/ext_2G4_libPhyComv1/blob/master/docs/README.md)
28for more information about the exact protocol and the messages which each device
29exchanges with this Phy.
30
31### A few notes about the device-Phy interface
32A device is free to advance its simulated time even before it gets
33a response to a request and to pipe several consecutive requests.
34This can be done easily and safely for Tx and Wait requests.
35It would be more difficult though for a device to be able to
36pipe any request after a Rx, RSSI, or CCA attempt.<br>
37But this Phy follows the principle of not responding to a request until the
38time in which that request would have been completed.
39
40Note that piping several requests ahead of time will greatly increase the
41speed of the simulation if there is free CPU cores.
42Even if there is no free CPUs, it will overall increase performance by
43decreasing the number of required context switches.
44