F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
Drv Namespace Reference

Classes

class  BlockDriverComponentBase
 Auto-generated base for BlockDriver component. More...
 
class  InputByteStreamPollPort
 Input ByteStreamPoll port. More...
 
class  OutputByteStreamPollPort
 Output ByteStreamPoll port. More...
 
class  InputByteStreamReadyPort
 
class  OutputByteStreamReadyPort
 
class  InputByteStreamRecvPort
 
class  OutputByteStreamRecvPort
 
class  InputByteStreamSendPort
 
class  OutputByteStreamSendPort
 
class  PollStatus
 
class  RecvStatus
 Status associated with the received data. More...
 
class  SendStatus
 Status returned by the send call. More...
 
class  InputDataBufferPort
 
class  OutputDataBufferPort
 
class  InputGpioReadPort
 Input GpioRead port. More...
 
class  OutputGpioReadPort
 Output GpioRead port. More...
 
class  InputGpioWritePort
 Input GpioWrite port. More...
 
class  OutputGpioWritePort
 Output GpioWrite port. More...
 
class  InputI2cPort
 Input I2c port. More...
 
class  OutputI2cPort
 Output I2c port. More...
 
class  I2cStatus
 
class  InputI2cWriteReadPort
 
class  OutputI2cWriteReadPort
 
class  LinuxGpioDriverComponentBase
 Auto-generated base for LinuxGpioDriver component. More...
 
class  LinuxI2cDriverComponentBase
 Auto-generated base for LinuxI2cDriver component. More...
 
class  LinuxSpiDriverComponentBase
 Auto-generated base for LinuxSpiDriver component. More...
 
class  LinuxUartDriverComponentBase
 Auto-generated base for LinuxUartDriver component. More...
 
class  InputSpiReadWritePort
 Input SpiReadWrite port. More...
 
class  OutputSpiReadWritePort
 Output SpiReadWrite port. More...
 
class  StreamCrossoverComponentBase
 Auto-generated base for StreamCrossover component. More...
 
class  TcpClientComponentBase
 Auto-generated base for TcpClient component. More...
 
class  TcpServerComponentBase
 Auto-generated base for TcpServer component. More...
 
class  UdpComponentBase
 Auto-generated base for Udp component. More...
 
class  BlockDriverImpl
 
class  DataBuffer
 
class  IpSocket
 Helper base-class for setting up Berkeley sockets. More...
 
class  SocketReadTask
 supports a task to read a given socket adaptation More...
 
class  TcpClientSocket
 Helper for setting up Tcp using Berkeley sockets as a client. More...
 
class  TcpServerSocket
 Helper for setting up Tcp using Berkeley sockets as a server. More...
 
struct  SocketState
 
class  UdpSocket
 Helper for setting up Udp using Berkeley sockets as a client. More...
 
class  LinuxGpioDriverComponentImpl
 
class  LinuxI2cDriver
 
class  LinuxSpiDriverComponentImpl
 
class  LinuxUartDriver
 
class  StreamCrossover
 
class  TcpClientComponentImpl
 
class  TcpServerComponentImpl
 
class  UdpComponentImpl
 

Typedefs

typedef BlockDriverImpl BlockDriver
 
using LinuxGpioDriver = LinuxGpioDriverComponentImpl
 
using LinuxSpiDriver = LinuxSpiDriverComponentImpl
 
typedef TcpClientComponentImpl TcpClient
 
typedef TcpServerComponentImpl TcpServer
 
typedef UdpComponentImpl Udp
 

Enumerations

enum  SocketIpStatus {
  SOCK_SUCCESS = 0 , SOCK_FAILED_TO_GET_SOCKET = -1 , SOCK_FAILED_TO_GET_HOST_IP = -2 , SOCK_INVALID_IP_ADDRESS = -3 ,
  SOCK_FAILED_TO_CONNECT = -4 , SOCK_FAILED_TO_SET_SOCKET_OPTIONS = -5 , SOCK_INTERRUPTED_TRY_AGAIN = -6 , SOCK_READ_ERROR = -7 ,
  SOCK_DISCONNECTED = -8 , SOCK_FAILED_TO_BIND = -9 , SOCK_FAILED_TO_LISTEN = -10 , SOCK_FAILED_TO_ACCEPT = -11 ,
  SOCK_SEND_ERROR = -13 , SOCK_NOT_STARTED = -14 , SOCK_FAILED_TO_READ_BACK_PORT = -15
}
 Status enumeration for socket return values. More...
 
enum  SpiFrequency {
  SPI_FREQUENCY_1MHZ = 1000000UL , SPI_FREQUENCY_5MHZ = 5000000UL , SPI_FREQUENCY_10MHZ = 10000000UL , SPI_FREQUENCY_15MHZ = 15000000UL ,
  SPI_FREQUENCY_20MHZ = 20000000UL
}
 
enum  SpiMode { SPI_MODE_CPOL_LOW_CPHA_LOW , SPI_MODE_CPOL_LOW_CPHA_HIGH , SPI_MODE_CPOL_HIGH_CPHA_LOW , SPI_MODE_CPOL_HIGH_CPHA_HIGH }
 

Functions

int gpio_export (unsigned int gpio)
 
int gpio_unexport (unsigned int gpio)
 
int gpio_set_dir (unsigned int gpio, unsigned int out_flag)
 
int gpio_set_value (int fd, unsigned int value)
 
int gpio_get_value (int fd, unsigned int *value)
 
int gpio_set_edge (unsigned int gpio, const char *edge)
 
int gpio_fd_open (unsigned int gpio)
 
int gpio_fd_close (int fd, unsigned int gpio)
 

Typedef Documentation

◆ BlockDriver

Definition at line 13 of file BlockDriver.hpp.

◆ LinuxGpioDriver

Definition at line 13 of file LinuxGpioDriver.hpp.

◆ LinuxSpiDriver

Definition at line 13 of file LinuxSpiDriver.hpp.

◆ TcpClient

Definition at line 13 of file TcpClient.hpp.

◆ TcpServer

Definition at line 13 of file TcpServer.hpp.

◆ Udp

Definition at line 13 of file Udp.hpp.

Enumeration Type Documentation

◆ SocketIpStatus

Status enumeration for socket return values.

Enumerator
SOCK_SUCCESS 

Socket operation successful.

SOCK_FAILED_TO_GET_SOCKET 

Socket open failed.

SOCK_FAILED_TO_GET_HOST_IP 

Host IP lookup failed.

SOCK_INVALID_IP_ADDRESS 

Bad IP address supplied.

SOCK_FAILED_TO_CONNECT 

Failed to connect socket.

SOCK_FAILED_TO_SET_SOCKET_OPTIONS 

Failed to configure socket.

SOCK_INTERRUPTED_TRY_AGAIN 

Interrupted status for retries.

SOCK_READ_ERROR 

Failed to read socket.

SOCK_DISCONNECTED 

Failed to read socket with disconnect.

SOCK_FAILED_TO_BIND 

Failed to bind to socket.

SOCK_FAILED_TO_LISTEN 

Failed to listen on socket.

SOCK_FAILED_TO_ACCEPT 

Failed to accept connection.

SOCK_SEND_ERROR 

Failed to send after configured retries.

SOCK_NOT_STARTED 

Socket has not been started.

SOCK_FAILED_TO_READ_BACK_PORT 

Failed to read back port from connection.

Definition at line 23 of file IpSocket.hpp.

◆ SpiFrequency

This was taken from the dspal_tester example

Supported SPI frequency to talk to MPU9x50 slave device MPU9x50 SPI interface supports upto 20MHz frequency. However 20MHz is not reliable in our test and corrupted data is observed.

Enumerator
SPI_FREQUENCY_1MHZ 
SPI_FREQUENCY_5MHZ 
SPI_FREQUENCY_10MHZ 
SPI_FREQUENCY_15MHZ 
SPI_FREQUENCY_20MHZ 

Definition at line 27 of file LinuxSpiDriverComponentImpl.hpp.

◆ SpiMode

SPI Mode Select

Defines the SPI Clock Polarity and Phase for each SPI Transaction.

SPI Clock Polarity(CPOL): Defines clock polarity as idle low (CPOL = 0) or idle high(CPOL = 1) SPI Clock Phase(CPHA): Defines if data is shifted out on the rising clock edge and sampled on the falling clock edge(CPHA = 0) or if data is shifted out on the falling clock edge and sampled on the rising clock edge(CPHA=1)

Enumerator
SPI_MODE_CPOL_LOW_CPHA_LOW 

(CPOL = 0, CPHA = 0)

SPI_MODE_CPOL_LOW_CPHA_HIGH 

(CPOL = 0, CPHA = 1)

SPI_MODE_CPOL_HIGH_CPHA_LOW 

(CPOL = 1, CPHA = 0)

SPI_MODE_CPOL_HIGH_CPHA_HIGH 

(CPOL = 1, CPHA = 1)

Definition at line 47 of file LinuxSpiDriverComponentImpl.hpp.

Function Documentation

◆ gpio_export()

int Drv::gpio_export ( unsigned int  gpio)

Definition at line 40 of file LinuxGpioDriverComponentImpl.cpp.

◆ gpio_fd_close()

int Drv::gpio_fd_close ( int  fd,
unsigned int  gpio 
)

Definition at line 237 of file LinuxGpioDriverComponentImpl.cpp.

◆ gpio_fd_open()

int Drv::gpio_fd_open ( unsigned int  gpio)

Definition at line 217 of file LinuxGpioDriverComponentImpl.cpp.

◆ gpio_get_value()

int Drv::gpio_get_value ( int  fd,
unsigned int *  value 
)

Definition at line 154 of file LinuxGpioDriverComponentImpl.cpp.

◆ gpio_set_dir()

int Drv::gpio_set_dir ( unsigned int  gpio,
unsigned int  out_flag 
)

Definition at line 102 of file LinuxGpioDriverComponentImpl.cpp.

◆ gpio_set_edge()

int Drv::gpio_set_edge ( unsigned int  gpio,
const char *  edge 
)

Definition at line 185 of file LinuxGpioDriverComponentImpl.cpp.

◆ gpio_set_value()

int Drv::gpio_set_value ( int  fd,
unsigned int  value 
)

Definition at line 132 of file LinuxGpioDriverComponentImpl.cpp.

◆ gpio_unexport()

int Drv::gpio_unexport ( unsigned int  gpio)

Definition at line 71 of file LinuxGpioDriverComponentImpl.cpp.