aboutsummaryrefslogtreecommitdiff
path: root/apps/drivers/px4io/px4io.cpp
diff options
context:
space:
mode:
authorpx4dev <px4@purgatory.org>2013-01-26 13:15:27 -0800
committerpx4dev <px4@purgatory.org>2013-01-26 13:15:27 -0800
commit72fcc8aad32936692814f4e9521a462bedc6c723 (patch)
treee9997e35734de7a82718f41e11428410332df175 /apps/drivers/px4io/px4io.cpp
parent899fbcc7cf13fbcdfb371663fef7782dd9ea1456 (diff)
downloadpx4-firmware-72fcc8aad32936692814f4e9521a462bedc6c723.tar.gz
px4-firmware-72fcc8aad32936692814f4e9521a462bedc6c723.tar.bz2
px4-firmware-72fcc8aad32936692814f4e9521a462bedc6c723.zip
Tidy up the write path.
Diffstat (limited to 'apps/drivers/px4io/px4io.cpp')
-rw-r--r--apps/drivers/px4io/px4io.cpp12
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[]);