summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/io/gpio_servo_pp.cc
diff options
context:
space:
mode:
Diffstat (limited to '2004/i/nono/src/io/gpio_servo_pp.cc')
-rw-r--r--2004/i/nono/src/io/gpio_servo_pp.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/2004/i/nono/src/io/gpio_servo_pp.cc b/2004/i/nono/src/io/gpio_servo_pp.cc
index 1e1036d..5edab20 100644
--- a/2004/i/nono/src/io/gpio_servo_pp.cc
+++ b/2004/i/nono/src/io/gpio_servo_pp.cc
@@ -109,7 +109,15 @@ GpioServoPp::update (void)
{
log_ (Log::debug) << "recv " << std::hex << c << std::dec <<
std::endl;
- inputs_ = c;
+ switch (inputs_ & 0x0f)
+ {
+ case 0x0:
+ inputs_ |= c >> 4;
+ break;
+ case 0x7:
+ inputs_ |= c & 0xf0;
+ break;
+ }
}
}