forked from Archive/PX4-Autopilot
Merge pull request #2017 from UAVenture/sf02_fix
Store the port so the in use port will be referenced when reopening.
This commit is contained in:
commit
3c36a61569
|
@ -114,6 +114,7 @@ protected:
|
||||||
virtual int probe();
|
virtual int probe();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
char _port[20];
|
||||||
float _min_distance;
|
float _min_distance;
|
||||||
float _max_distance;
|
float _max_distance;
|
||||||
work_s _work;
|
work_s _work;
|
||||||
|
@ -199,8 +200,13 @@ SF0X::SF0X(const char *port) :
|
||||||
_comms_errors(perf_alloc(PC_COUNT, "sf0x_comms_errors")),
|
_comms_errors(perf_alloc(PC_COUNT, "sf0x_comms_errors")),
|
||||||
_buffer_overflows(perf_alloc(PC_COUNT, "sf0x_buffer_overflows"))
|
_buffer_overflows(perf_alloc(PC_COUNT, "sf0x_buffer_overflows"))
|
||||||
{
|
{
|
||||||
|
/* store port name */
|
||||||
|
strncpy(_port, port, sizeof(_port));
|
||||||
|
/* enforce null termination */
|
||||||
|
_port[sizeof(_port) - 1] = '\0';
|
||||||
|
|
||||||
/* open fd */
|
/* open fd */
|
||||||
_fd = ::open(port, O_RDWR | O_NOCTTY | O_NONBLOCK);
|
_fd = ::open(_port, O_RDWR | O_NOCTTY | O_NONBLOCK);
|
||||||
|
|
||||||
if (_fd < 0) {
|
if (_fd < 0) {
|
||||||
warnx("FAIL: laser fd");
|
warnx("FAIL: laser fd");
|
||||||
|
@ -633,7 +639,7 @@ SF0X::cycle()
|
||||||
/* fds initialized? */
|
/* fds initialized? */
|
||||||
if (_fd < 0) {
|
if (_fd < 0) {
|
||||||
/* open fd */
|
/* open fd */
|
||||||
_fd = ::open(SF0X_DEFAULT_PORT, O_RDWR | O_NOCTTY | O_NONBLOCK);
|
_fd = ::open(_port, O_RDWR | O_NOCTTY | O_NONBLOCK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* collection phase? */
|
/* collection phase? */
|
||||||
|
|
Loading…
Reference in New Issue