Software Processes - AboudyKreidieh/truck-code GitHub Wiki

Table of contents

Introduction

The processes spread out within the truck-code framework are responsible for everything from data acquisition and logging to torque/brake control. A sketch of the general architecture and how the various software processes interact with one another can be seen in the figure below. Each of these processes are described in detail in the next section.

Overview of Processes

The below pages provide a detailed description of each of process available within the framework.

Communication Between Processes

Processes communicate asynchronous messages with one another via a publish/subscribe interface within the QNX operating system called "Persistent Publish/Subcribe", or PPS. These message are often communicated to multiple processes simultaneously. For example, the J1939 messages that are communicated to the PPS server by the rd_j1939 process is received by both the ctrl_long and logger processes.

If you are a developer and wish to add additional processes to the framework, or if you would like to further understand the internals of the publish/subscribe abstraction, you are encouraged to review this page.