1## Introduction 2 3This library provides a basic set of functions for low level communication 4between devices and a Phy. 5 6Is also provides a (very rarely needed) API devices can use to communicate 7directly in between them independently of the Phy. 8 9 10## Basic IPC functions 11 12Normal devices will not use this library alone, but together with one dedicated 13for a particular Phy IPC, like for example the ext_2G4_libPhyComv1. 14 15Only simple ancillary devices, like the handbrake or the time monitor, will 16use this library alone as their operations are not linked to any particular Phy. 17 18This library provides a basic API: 19 20 * for devices to connect and disconnect from a Phy 21 * for a Phy to connect to devices 22 * for either to send and receive messages to the other 23 * And for sending and responding to "wait" commands. 24 A wait command being an indication from a device to 25 the Phy, telling that it does not need to interact with 26 the Phy until the point in time indicated in the command. 27 And for which the Phy will respond when that point in time 28 has been reached. 29 For the device, both blocking and nonblocking calls to 30 request a wait are provided. 31 32Some more information can be found in the source files. 33 34 35## Backchannels 36 37This is an API simulated devices can use to communicate with each other 38independently of the Phy, for example to exchange side information in between 39test code. 40More information can be found in the 41[source file bs_pc_backchannel.c](../src/bs_pc_backchannel.c) 42 43It is very rare a device will need to use this, as usually it will be easier 44to write the device testcode without sharing status information with other 45devices testcode. 46