Xyris  0.5
rs232.cpp File Reference
#include <Arch/Arch.hpp>
#include <Devices/Serial/rs232.hpp>
#include <Library/RingBuffer.hpp>
#include <Library/stdio.hpp>
#include <Library/string.hpp>
#include <Locking/RAII.hpp>
#include <Logger.hpp>
#include <Memory/heap.hpp>
#include <stdarg.h>
+ Include dependency graph for rs232.cpp:

Go to the source code of this file.

Namespaces

 RS232
 

Macros

#define RS_232_COM1_IRQ   0x04
 
#define RS_232_COM3_IRQ   0x04
 
#define RS_232_COM2_IRQ   0x03
 
#define RS_232_COM4_IRQ   0x03
 
#define RS_232_DATA_REG   0x0
 
#define RS_232_INTERRUPT_ENABLE_REG   0x1
 
#define RS_232_INTERRUPT_IDENTIFICATION_REG   0x2
 
#define RS_232_LINE_CONTROL_REG   0x3
 
#define RS_232_MODEM_CONTROL_REG   0x4
 
#define RS_232_LINE_STATUS_REG   0x5
 
#define RS_232_MODEM_STATUS_REG   0x6
 
#define RS_232_SCRATCH_REG   0x7
 

Functions

int RS232::vprintf (const char *fmt, va_list args)
 
int RS232::printf (const char *format,...)
 
void RS232::init (uint16_t com_id)
 
size_t RS232::read (char *buf, size_t count)
 
size_t RS232::write (const char *buf, size_t count)
 
int RS232::close ()
 

Detailed Description

Author
Keeton Feavel (keeto.nosp@m.nfea.nosp@m.vel@c.nosp@m.edar.nosp@m.ville.nosp@m..edu)
Version
0.3
Date
2020-06-29

TODO: Make this module robust enough for fast transmission of binary data currently it adequately supports slow, character transmission.

Definition in file rs232.cpp.

Macro Definition Documentation

◆ RS_232_COM1_IRQ

#define RS_232_COM1_IRQ   0x04

Definition at line 25 of file rs232.cpp.

◆ RS_232_COM2_IRQ

#define RS_232_COM2_IRQ   0x03

Definition at line 27 of file rs232.cpp.

◆ RS_232_COM3_IRQ

#define RS_232_COM3_IRQ   0x04

Definition at line 26 of file rs232.cpp.

◆ RS_232_COM4_IRQ

#define RS_232_COM4_IRQ   0x03

Definition at line 28 of file rs232.cpp.

◆ RS_232_DATA_REG

#define RS_232_DATA_REG   0x0

Definition at line 30 of file rs232.cpp.

◆ RS_232_INTERRUPT_ENABLE_REG

#define RS_232_INTERRUPT_ENABLE_REG   0x1

Definition at line 31 of file rs232.cpp.

◆ RS_232_INTERRUPT_IDENTIFICATION_REG

#define RS_232_INTERRUPT_IDENTIFICATION_REG   0x2

Definition at line 32 of file rs232.cpp.

◆ RS_232_LINE_CONTROL_REG

#define RS_232_LINE_CONTROL_REG   0x3

Definition at line 33 of file rs232.cpp.

◆ RS_232_LINE_STATUS_REG

#define RS_232_LINE_STATUS_REG   0x5

Definition at line 35 of file rs232.cpp.

◆ RS_232_MODEM_CONTROL_REG

#define RS_232_MODEM_CONTROL_REG   0x4

Definition at line 34 of file rs232.cpp.

◆ RS_232_MODEM_STATUS_REG

#define RS_232_MODEM_STATUS_REG   0x6

Definition at line 36 of file rs232.cpp.

◆ RS_232_SCRATCH_REG

#define RS_232_SCRATCH_REG   0x7

Definition at line 37 of file rs232.cpp.