Reworking the AVR specific stuff into an AVRInterface class.

This commit is contained in:
2026-01-24 16:43:07 -06:00
parent 2ba02318db
commit 30f4047b7c
8 changed files with 298 additions and 20 deletions

View File

@@ -36,7 +36,7 @@ CSerialPort::~CSerialPort()
Close();
}
BOOL CSerialPort::Open(LPCTSTR PortName, DWORD BaudRate, BYTE ByteSize, BYTE Parity, BYTE StopBits, DWORD DesiredAccess)
BOOL CSerialPort::Open(LPCTSTR PortName, uint32_t BaudRate, BYTE ByteSize, BYTE Parity, BYTE StopBits, uint32_t DesiredAccess)
{
Close();
m_PortHandle = CreateFile(PortName, DesiredAccess, 0, NULL, OPEN_EXISTING, 0, 0);
@@ -72,7 +72,7 @@ BOOL CSerialPort::Open(LPCTSTR PortName, DWORD BaudRate, BYTE ByteSize, BYTE Par
SetCommState(m_PortHandle, &dcb);
COMMTIMEOUTS touts;
touts.ReadIntervalTimeout = MAXDWORD; // This, plus the zero timeouts causes immediate return
touts.ReadIntervalTimeout = UINT32_MAX; // This, plus the zero timeouts causes immediate return
touts.ReadTotalTimeoutMultiplier = 0;
touts.ReadTotalTimeoutConstant = 0;
touts.WriteTotalTimeoutConstant = 1;
@@ -104,7 +104,7 @@ BOOL CSerialPort::IsOpen()
return (m_PortHandle != INVALID_HANDLE_VALUE);
}
DWORD CSerialPort::Read(LPVOID Buffer, DWORD BufferSize)
uint32_t CSerialPort::Read(LPVOID Buffer, uint32_t BufferSize)
{
DWORD Res(0);
if (m_PortHandle != INVALID_HANDLE_VALUE)
@@ -114,7 +114,7 @@ DWORD CSerialPort::Read(LPVOID Buffer, DWORD BufferSize)
return Res;
}
DWORD CSerialPort::Write(const LPVOID Buffer, DWORD BufferSize)
uint32_t CSerialPort::Write(const LPVOID Buffer, uint32_t BufferSize)
{
DWORD Res(0);
if (m_PortHandle != INVALID_HANDLE_VALUE)

View File

@@ -32,12 +32,12 @@ public:
BOOL Get_DSR_State();
BOOL Get_CTS_State();
BOOL Get_CD_State();
virtual DWORD Write(const LPVOID Buffer, DWORD BufferSize);
virtual DWORD Read(LPVOID Buffer, DWORD BufferSize);
virtual uint32_t Write(const LPVOID Buffer, uint32_t BufferSize);
virtual uint32_t Read(LPVOID Buffer, uint32_t BufferSize);
virtual BOOL IsOpen();
virtual void Close();
// Use PortName usually "COM1:" ... "COM4:" note that the name must end by ":"
virtual BOOL Open(LPCTSTR PortName, DWORD BaudRate, BYTE ByteSize, BYTE Parity, BYTE StopBits, DWORD DesiredAccess = GENERIC_READ|GENERIC_WRITE);
virtual BOOL Open(LPCTSTR PortName, uint32_t BaudRate, BYTE ByteSize, BYTE Parity, BYTE StopBits, uint32_t DesiredAccess = GENERIC_READ|GENERIC_WRITE);
CSerialPort();
virtual ~CSerialPort();