|
Open Model Railroad Network (OpenMRN)
|
A dummy device driver that spews out a lot of GC packets when a button is held. More...
#include <TivaTestPacketSource.hxx>
Public Member Functions | |
| TivaTestPacketSource (const char *name) | |
| Constructor. | |
| void | timer_isr () |
| Call this function from extern "C" void timer3a_interrupt_handler() | |
| unsigned | absolute_offset () |
Public Member Functions inherited from Device | |
| Device (const char *name) | |
| Constructor. | |
| virtual | ~Device () |
| Destructor. | |
Protected Member Functions | |
| void | enable () override |
| Turns on the device. | |
| void | disable () override |
| Turns off the device. | |
| void | flush_buffers () override |
| Unused. | |
| ssize_t | write (File *, const void *, size_t len) override |
| Unused. | |
| ssize_t | read (File *file, void *vtgt, size_t len) override |
| Performs generating the fake data and/or blocking the caller as needed. | |
| bool | select (File *file, int mode) override |
| Implementation of device-specific select() functionality. | |
| void | reset_packet () |
| Helper function to clear the input packet buffer and fill in with the next packet in line. | |
Protected Member Functions inherited from Node | |
| Node (const char *name) | |
| Constructor. | |
| virtual | ~Node () |
| Destructor. | |
| int | open (File *, const char *, int, int) OVERRIDE |
| Open method. | |
| int | close (File *) OVERRIDE |
| Close method. | |
| virtual int | fstat (File *file, struct stat *stat) override |
| Get the status information of a file or device. | |
Protected Member Functions inherited from FileIO | |
| FileIO (const char *name) | |
| Constructor. | |
| virtual | ~FileIO () |
| Destructor. | |
| virtual off_t | lseek (File *f, off_t offset, int whence) |
| Seek method. | |
| virtual int | ioctl (File *file, unsigned long int key, unsigned long data) |
| Request an ioctl transaction. | |
| virtual int | fcntl (File *file, int cmd, unsigned long data) |
| Manipulate a file descriptor. | |
Protected Attributes | |
| SelectInfo | readSelect_ |
| Helper structure for select() support. | |
| unsigned | offset_ {0} |
| Which is the next byte from the INPUT_PACKET to send back. | |
| unsigned | bufferedBytes_ {0} |
| How many bytes we have accumulated to send back. | |
| unsigned | cnt_ {0} |
| Index of the next packet. | |
| char | packet_ [40] |
| Text-rendered form of the next packet. | |
| unsigned | inputPacketLen_ |
| Length of packet_;. | |
| uint32_t | absoluteOffset_ {0} |
| How many bytes in total have been read from this driver since boot. | |
Protected Attributes inherited from Node | |
| OSMutex | lock_ |
| protects internal structures. | |
| mode_t | mode_ |
| File open mode, such as O_NONBLOCK. | |
| unsigned int | references_ |
| number of open references | |
Protected Attributes inherited from FileIO | |
| const char * | name |
| device name | |
Additional Inherited Members | |
Static Public Member Functions inherited from Device | |
| static int | open (struct _reent *reent, const char *path, int flags, int mode) |
| Open a file or device. | |
| static int | close (struct _reent *reent, int fd) |
| Close a file or device. | |
| static int | stat (struct _reent *reent, const char *path, struct stat *stat) |
| Get the status information of a file or device. | |
| static int | select (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, long long timeout) |
| POSIX select(). | |
| static void | select_clear () |
| Clears the current thread's select bits. | |
Static Public Member Functions inherited from FileIO | |
| static ssize_t | read (struct _reent *reent, int fd, void *buf, size_t count) |
| Read from a file or device. | |
| static ssize_t | write (struct _reent *reent, int fd, const void *buf, size_t count) |
| Write to a file or device. | |
| static _off_t | lseek (struct _reent *reent, int fd, _off_t offset, int whence) |
| Change the offset index of a file or device. | |
| static int | fstat (struct _reent *reent, int fd, struct stat *stat) |
| Get the status information of a file or device. | |
| static int | ioctl (int fd, unsigned long int key, unsigned long data) |
| Request and ioctl transaction. | |
| static int | fcntl (int fd, int cmd, unsigned long data) |
| Manipulate a file descriptor. | |
| static bool | is_device (int fd) |
| Test if the file descriptor belongs to a device. | |
Static Protected Member Functions inherited from Device | |
| static void | select_insert (SelectInfo *info) |
| Add client to list of clients needing woken. | |
| static void | select_wakeup (SelectInfo *info) |
| Wakeup the list of clients needing woken. | |
| static void | select_wakeup_from_isr (SelectInfo *info, int *woken) |
| Wakeup the list of clients needing woken. | |
Static Protected Member Functions inherited from FileIO | |
| static int | fd_alloc (void) |
| Allocate a free file descriptor. | |
| static void | fd_free (int fd) |
| Free up a file descriptor. | |
| static File * | file_lookup (int fd) |
| Looks up a reference to a File corresponding to a given file descriptor. | |
| static int | fd_lookup (File *file) |
| Looks up a file descriptor corresponding to a given File reference. | |
Static Protected Attributes inherited from FileIO | |
| static const unsigned int | numOpenFiles = 20 |
| static File | files [] |
| File descriptor pool. | |
| static OSMutex | mutex |
| mutual exclusion for fileio | |
A dummy device driver that spews out a lot of GC packets when a button is held.
Useful for debugging buffer usage.
Definition at line 75 of file TivaTestPacketSource.hxx.
|
inline |
Constructor.
| name | is the filesystem device name (e.g. "/dev/load") |
Definition at line 80 of file TivaTestPacketSource.hxx.
|
inline |
Definition at line 102 of file TivaTestPacketSource.hxx.
|
inlineoverrideprotectedvirtual |
|
inlineoverrideprotectedvirtual |
|
inlineoverrideprotectedvirtual |
|
inlineoverrideprotectedvirtual |
Performs generating the fake data and/or blocking the caller as needed.
Implements FileIO.
Definition at line 145 of file TivaTestPacketSource.hxx.
|
inlineprotected |
Helper function to clear the input packet buffer and fill in with the next packet in line.
Definition at line 219 of file TivaTestPacketSource.hxx.
|
inlineoverrideprotectedvirtual |
Implementation of device-specific select() functionality.
Reimplemented from FileIO.
Definition at line 197 of file TivaTestPacketSource.hxx.
|
inline |
Call this function from extern "C" void timer3a_interrupt_handler()
Definition at line 89 of file TivaTestPacketSource.hxx.
|
inlineoverrideprotectedvirtual |
|
protected |
How many bytes in total have been read from this driver since boot.
Definition at line 240 of file TivaTestPacketSource.hxx.
|
protected |
How many bytes we have accumulated to send back.
Definition at line 232 of file TivaTestPacketSource.hxx.
|
protected |
Index of the next packet.
Definition at line 234 of file TivaTestPacketSource.hxx.
|
protected |
Length of packet_;.
Definition at line 238 of file TivaTestPacketSource.hxx.
|
protected |
Which is the next byte from the INPUT_PACKET to send back.
Definition at line 230 of file TivaTestPacketSource.hxx.
|
protected |
Text-rendered form of the next packet.
Definition at line 236 of file TivaTestPacketSource.hxx.
|
protected |
Helper structure for select() support.
Definition at line 228 of file TivaTestPacketSource.hxx.