Browse Source

fmu: remove unused write() interface

sbg
Beat Küng 6 years ago committed by Daniel Agar
parent
commit
1d577802cf
  1. 59
      src/drivers/px4fmu/fmu.cpp

59
src/drivers/px4fmu/fmu.cpp

@ -147,7 +147,6 @@ public: @@ -147,7 +147,6 @@ public:
static int fake(int argc, char *argv[]);
virtual int ioctl(file *filp, int cmd, unsigned long arg);
virtual ssize_t write(file *filp, const char *buffer, size_t len);
virtual int init();
@ -1805,46 +1804,6 @@ PX4FMU::pwm_ioctl(file *filp, int cmd, unsigned long arg) @@ -1805,46 +1804,6 @@ PX4FMU::pwm_ioctl(file *filp, int cmd, unsigned long arg)
return ret;
}
/*
this implements PWM output via a write() method, for compatibility
with px4io
*/
ssize_t
PX4FMU::write(file *filp, const char *buffer, size_t len)
{
unsigned count = len / 2;
uint16_t values[MAX_ACTUATORS];
#if BOARD_HAS_PWM == 0
return 0;
#endif
if (count > BOARD_HAS_PWM) {
// we have at most BOARD_HAS_PWM outputs
count = BOARD_HAS_PWM;
}
if (count > MAX_ACTUATORS) {
count = MAX_ACTUATORS;
}
// allow for misaligned values
memcpy(values, buffer, count * 2);
for (unsigned i = count; i < _num_outputs; ++i) {
values[i] = PWM_IGNORE_THIS_CHANNEL;
}
reorder_outputs(values);
for (unsigned i = 0; i < _num_outputs; i++) {
if (values[i] != PWM_IGNORE_THIS_CHANNEL) {
up_pwm_servo_set(i, values[i]);
}
}
return count * 2;
}
void
PX4FMU::reorder_outputs(uint16_t values[MAX_ACTUATORS])
@ -2274,21 +2233,9 @@ PX4FMU::test() @@ -2274,21 +2233,9 @@ PX4FMU::test()
servos[i] = pwm_value;
}
if (direction == 1) {
// use ioctl interface for one direction
for (unsigned i = 0; i < servo_count; i++) {
if (::ioctl(fd, PWM_SERVO_SET(i), servos[i]) < 0) {
PX4_ERR("servo %u set failed", i);
goto err_out;
}
}
} else {
// and use write interface for the other direction
ret = ::write(fd, servos, sizeof(servos));
if (ret != (int)sizeof(servos)) {
PX4_ERR("error writing PWM servo data, wrote %u got %d", sizeof(servos), ret);
for (unsigned i = 0; i < servo_count; i++) {
if (::ioctl(fd, PWM_SERVO_SET(i), servos[i]) < 0) {
PX4_ERR("servo %u set failed", i);
goto err_out;
}
}

Loading…
Cancel
Save