|
|
|
@ -114,6 +114,7 @@ protected:
@@ -114,6 +114,7 @@ protected:
|
|
|
|
|
virtual int probe(); |
|
|
|
|
|
|
|
|
|
private: |
|
|
|
|
char _port[20]; |
|
|
|
|
float _min_distance; |
|
|
|
|
float _max_distance; |
|
|
|
|
work_s _work; |
|
|
|
@ -199,8 +200,13 @@ SF0X::SF0X(const char *port) :
@@ -199,8 +200,13 @@ SF0X::SF0X(const char *port) :
|
|
|
|
|
_comms_errors(perf_alloc(PC_COUNT, "sf0x_comms_errors")), |
|
|
|
|
_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 */ |
|
|
|
|
_fd = ::open(port, O_RDWR | O_NOCTTY | O_NONBLOCK); |
|
|
|
|
_fd = ::open(_port, O_RDWR | O_NOCTTY | O_NONBLOCK); |
|
|
|
|
|
|
|
|
|
if (_fd < 0) { |
|
|
|
|
warnx("FAIL: laser fd"); |
|
|
|
@ -633,7 +639,7 @@ SF0X::cycle()
@@ -633,7 +639,7 @@ SF0X::cycle()
|
|
|
|
|
/* fds initialized? */ |
|
|
|
|
if (_fd < 0) { |
|
|
|
|
/* open fd */ |
|
|
|
|
_fd = ::open(SF0X_DEFAULT_PORT, O_RDWR | O_NOCTTY | O_NONBLOCK); |
|
|
|
|
_fd = ::open(_port, O_RDWR | O_NOCTTY | O_NONBLOCK); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* collection phase? */ |
|
|
|
|