diff options
author | px4dev <px4@purgatory.org> | 2013-01-26 13:15:27 -0800 |
---|---|---|
committer | px4dev <px4@purgatory.org> | 2013-01-26 13:15:27 -0800 |
commit | 72fcc8aad32936692814f4e9521a462bedc6c723 (patch) | |
tree | e9997e35734de7a82718f41e11428410332df175 /apps/drivers/px4io | |
parent | 899fbcc7cf13fbcdfb371663fef7782dd9ea1456 (diff) | |
download | px4-firmware-72fcc8aad32936692814f4e9521a462bedc6c723.tar.gz px4-firmware-72fcc8aad32936692814f4e9521a462bedc6c723.tar.bz2 px4-firmware-72fcc8aad32936692814f4e9521a462bedc6c723.zip |
Tidy up the write path.
Diffstat (limited to 'apps/drivers/px4io')
-rw-r--r-- | apps/drivers/px4io/px4io.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/apps/drivers/px4io/px4io.cpp b/apps/drivers/px4io/px4io.cpp index 257b15685..769363b4a 100644 --- a/apps/drivers/px4io/px4io.cpp +++ b/apps/drivers/px4io/px4io.cpp @@ -1085,18 +1085,16 @@ ssize_t PX4IO::write(file *filp, const char *buffer, size_t len) { unsigned count = len / 2; - int ret; - if (count > 0) { if (count > _max_actuators) count = _max_actuators; - ret = io_reg_set(PX4IO_PAGE_DIRECT_PWM, 0, (uint16_t *)buffer, count); - } else { - ret = -EINVAL; - } - + if (count > 0) { + int ret = io_reg_set(PX4IO_PAGE_DIRECT_PWM, 0, (uint16_t *)buffer, count); + if (ret != OK) return ret; } + return count * 2; +} extern "C" __EXPORT int px4io_main(int argc, char *argv[]); |