aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/mkblctrl/mkblctrl.cpp
diff options
context:
space:
mode:
authorNosDE <marco@wtns.de>2015-02-28 20:29:03 +0100
committerNosDE <marco@wtns.de>2015-02-28 20:29:03 +0100
commit3de63dee6c3eac5fec7959ececf012abe12ab3a4 (patch)
tree13aedafa01764db6530f59ab8fb951b980b3934a /src/drivers/mkblctrl/mkblctrl.cpp
parente4ad2f8e48cd52e81018bded9d76534f0af6212a (diff)
downloadpx4-firmware-3de63dee6c3eac5fec7959ececf012abe12ab3a4.tar.gz
px4-firmware-3de63dee6c3eac5fec7959ececf012abe12ab3a4.tar.bz2
px4-firmware-3de63dee6c3eac5fec7959ececf012abe12ab3a4.zip
interface for min and max rc added
Diffstat (limited to 'src/drivers/mkblctrl/mkblctrl.cpp')
-rw-r--r--src/drivers/mkblctrl/mkblctrl.cpp34
1 files changed, 33 insertions, 1 deletions
diff --git a/src/drivers/mkblctrl/mkblctrl.cpp b/src/drivers/mkblctrl/mkblctrl.cpp
index 23a98d18d..cb463eb59 100644
--- a/src/drivers/mkblctrl/mkblctrl.cpp
+++ b/src/drivers/mkblctrl/mkblctrl.cpp
@@ -99,6 +99,7 @@
#define RC_MIN_VALUE 1010
#define RC_MAX_VALUE 2100
+
struct MotorData_t {
unsigned int Version; // the version of the BL (0 = old)
unsigned int SetPoint; // written by attitude controller
@@ -304,7 +305,7 @@ MK::init(unsigned motors)
_task = task_spawn_cmd("mkblctrl",
SCHED_DEFAULT,
SCHED_PRIORITY_MAX - 20,
- 2048,
+ 1500,
(main_t)&MK::task_main_trampoline,
nullptr);
@@ -1085,6 +1086,37 @@ MK::pwm_ioctl(file *filp, int cmd, unsigned long arg)
break;
}
+ case PWM_SERVO_SET_MIN_PWM: {
+ struct pwm_output_values* pwm = (struct pwm_output_values*)arg;
+ if (pwm->channel_count > _max_actuators)
+ /* fail with error */
+ return -E2BIG;
+
+ set_rc_min_value((unsigned)pwm->values[0]);
+ ret = OK;
+ break;
+ }
+
+ case PWM_SERVO_GET_MIN_PWM:
+ ret = OK;
+ break;
+
+ case PWM_SERVO_SET_MAX_PWM: {
+ struct pwm_output_values* pwm = (struct pwm_output_values*)arg;
+ if (pwm->channel_count > _max_actuators)
+ /* fail with error */
+ return -E2BIG;
+
+ set_rc_max_value((unsigned)pwm->values[0]);
+ ret = OK;
+ break;
+ }
+
+ case PWM_SERVO_GET_MAX_PWM:
+ ret = OK;
+ break;
+
+
default:
ret = -ENOTTY;
break;