2.1. Driver Libraries

The LCBD interface presents a public, stable interface to multiple users. All user applications communicate via the LCBD interface. The LCBD interface, in turn depends on the low level hardware interface (Chapter 1) and on several utility services provided by a common LAT Flight Software utility library[1].

The Figure 2-2 below shows the interrupt mode LCB driver library and its dependencies. Note that the user applications only interact with the public interface of the LCBD.

Figure 2-2. Interrupt Mode Driver Libraries.

The LCBD will use the following services from the LAT FSW utility library:

LAT FSW Utility Services

Message Queues

The LCBD relies on message queues to buffer communications between the hardware and the user applications[2]. This includes messages sent from the user application (commands) and messages sent from the LCB (responses or unsolicited data).

Time and Timers

The LCBD will need wake up timers in order to timeout commands whose responses either never arrive or arrive late.

Fixed Packet Allocators

The LCBD will need to manage a pool of LCB_msg objects, which are all fixed length. These messages are allocated by the LCBD and are freed by user supplied result processing functions.

Notes

[1]

Currently this library is called BBC, but the name is subject to change.

[2]

This corresponds to the FORK routines in the BBC package.