Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
0f304a4e
Commit
0f304a4e
authored
Aug 19, 2019
by
Tomaz Canabrava
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SerialInterface: delete - it's not used thru the project
parent
38a928ab
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
204 deletions
+0
-204
SerialInterface.h
src/comm/SerialInterface.h
+0
-204
No files found.
src/comm/SerialInterface.h
deleted
100644 → 0
View file @
38a928ab
/****************************************************************************
*
* (c) 2009-2018 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
/**
* @file
* @brief Brief Description
*
* @author James Goppertr <james.goppert@gmail.edu>
*
*/
#pragma once
#include <QIODevice>
#include <QtSerialPort/QSerialPort>
#include <iostream>
/**
* @brief The SerialInterface abstracts low level serial calls
*/
class
SerialInterface
:
public
QObject
{
Q_OBJECT
signals:
void
aboutToClose
();
public:
enum
baudRateType
{
BAUD50
,
//POSIX ONLY
BAUD75
,
//POSIX ONLY
BAUD110
,
BAUD134
,
//POSIX ONLY
BAUD150
,
//POSIX ONLY
BAUD200
,
//POSIX ONLY
BAUD300
,
BAUD600
,
BAUD1200
,
BAUD1800
,
//POSIX ONLY
BAUD2400
,
BAUD4800
,
BAUD9600
,
BAUD14400
,
//WINDOWS ONLY
BAUD19200
,
BAUD38400
,
BAUD56000
,
//WINDOWS ONLY
BAUD57600
,
BAUD76800
,
//POSIX ONLY
BAUD115200
,
BAUD128000
,
// WINDOWS ONLY
BAUD230400
,
// WINDOWS ONLY
BAUD256000
,
// WINDOWS ONLY
BAUD460800
,
// WINDOWS ONLY
BAUD921600
// WINDOWS ONLY
};
enum
dataBitsType
{
DATA_5
,
DATA_6
,
DATA_7
,
DATA_8
};
enum
parityType
{
PAR_NONE
,
PAR_ODD
,
PAR_EVEN
,
PAR_MARK
,
//WINDOWS ONLY
PAR_SPACE
};
enum
stopBitsType
{
STOP_1
,
STOP_1_5
,
//WINDOWS ONLY
STOP_2
};
enum
flowType
{
FLOW_OFF
,
FLOW_HARDWARE
,
FLOW_XONXOFF
};
/**
* structure to contain port settings
*/
struct
portSettings
{
baudRateType
BaudRate
;
dataBitsType
DataBits
;
parityType
Parity
;
stopBitsType
StopBits
;
flowType
FlowControl
;
long
timeout_Millisec
;
};
virtual
bool
isOpen
()
=
0
;
virtual
bool
isWritable
()
=
0
;
virtual
qint64
bytesAvailable
()
=
0
;
virtual
int
write
(
const
char
*
data
,
qint64
size
)
=
0
;
virtual
void
read
(
char
*
data
,
qint64
numBytes
)
=
0
;
virtual
void
flush
()
=
0
;
virtual
void
close
()
=
0
;
virtual
void
open
(
QIODevice
::
OpenModeFlag
flag
)
=
0
;
virtual
void
setBaudRate
(
baudRateType
baudrate
)
=
0
;
virtual
void
setParity
(
parityType
parity
)
=
0
;
virtual
void
setStopBits
(
stopBitsType
stopBits
)
=
0
;
virtual
void
setDataBits
(
dataBitsType
dataBits
)
=
0
;
virtual
void
setTimeout
(
qint64
timeout
)
=
0
;
virtual
void
setFlow
(
flowType
flow
)
=
0
;
};
using
namespace
TNX
;
class
SerialQserial
:
public
SerialInterface
{
Q_OBJECT
private:
QSerialPort
*
_port
;
TNX
::
QPortSettings
settings
;
signals:
void
aboutToClose
();
public:
SerialQserial
(
QString
porthandle
,
QIODevice
::
OpenModeFlag
flag
=
QIODevice
::
ReadWrite
)
:
_port
(
NULL
)
{
QObject
::
connect
(
_port
,
SIGNAL
(
aboutToClose
()),
this
,
SIGNAL
(
aboutToClose
()));
settings
.
setBaudRate
(
QPortSettings
::
BAUDR_57600
);
settings
.
setStopBits
(
QPortSettings
::
STOP_1
);
settings
.
setDataBits
(
QPortSettings
::
DB_8
);
settings
.
setFlowControl
(
QPortSettings
::
FLOW_OFF
);
settings
.
setParity
(
QPortSettings
::
PAR_NONE
);
_port
=
new
QSerialPort
(
porthandle
,
settings
);
_port
->
setCommTimeouts
(
QSerialPort
::
CtScheme_NonBlockingRead
);
}
~
SerialQserial
()
{
delete
_port
;
_port
=
NULL
;
}
virtual
bool
isOpen
()
{
return
_port
->
isOpen
();
}
virtual
bool
isWritable
()
{
_port
->
isWritable
();
}
virtual
qint64
bytesAvailable
()
{
return
_port
->
bytesAvailable
();
}
virtual
int
write
(
const
char
*
data
,
qint64
size
)
{
return
_port
->
write
(
data
,
size
);
}
virtual
void
read
(
char
*
data
,
qint64
numBytes
)
{
_port
->
read
(
data
,
numBytes
);
}
virtual
void
flush
()
{
_port
->
flushInBuffer
();
_port
->
flushOutBuffer
();
}
virtual
void
close
()
{
_port
->
close
();
}
virtual
void
open
(
QIODevice
::
OpenModeFlag
flag
)
{
_port
->
open
(
flag
);
//flush();
}
virtual
void
setBaudRate
(
SerialInterface
::
baudRateType
baudrate
)
{
// TODO get the baudrate enum to map to one another
settings
.
setBaudRate
(
QPortSettings
::
BAUDR_57600
);
}
virtual
void
setParity
(
SerialInterface
::
parityType
parity
)
{
settings
.
setParity
(
QPortSettings
::
PAR_NONE
);
}
virtual
void
setStopBits
(
SerialInterface
::
stopBitsType
stopBits
)
{
// TODO map
settings
.
setStopBits
(
QPortSettings
::
STOP_1
);
}
virtual
void
setDataBits
(
SerialInterface
::
dataBitsType
dataBits
)
{
// TODO map
settings
.
setDataBits
(
QPortSettings
::
DB_8
);
}
virtual
void
setTimeout
(
qint64
timeout
)
{
// TODO implement
//_port->setTimeout(timeout);
}
virtual
void
setFlow
(
SerialInterface
::
flowType
flow
)
{
// TODO map
settings
.
setFlowControl
(
QPortSettings
::
FLOW_OFF
);
}
};
// vim:ts=4:sw=4:tw=78:expandtab:
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment