Mercurial > tote-had
changeset 11:5c99ed631554
Don't send "dirty" flags
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Wed, 06 Apr 2016 22:34:26 +0200 |
| parents | 2dfdd05f2c91 |
| children | 1298204d2f3d |
| files | controller/i2c.ino controller/leg.ino controller/misc.h python/robot.py |
| diffstat | 4 files changed, 12 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/controller/i2c.ino Mon Apr 04 21:59:34 2016 +0200 +++ b/controller/i2c.ino Wed Apr 06 22:34:26 2016 +0200 @@ -3,7 +3,7 @@ const int SLAVE_ADDRESS = 0x09; -const int MAX_REGS = 16; +const int MAX_REGS = 12; volatile int8_t regs[MAX_REGS] = {}; volatile uint8_t address; @@ -24,11 +24,8 @@ void i2c_loop() { for (int leg = 0; leg < 4; ++leg) { - if (regs[leg * 4]) { - move_leg(leg, regs[leg * 4 + 1] + HOME, - regs[leg * 4 + 2] + HOME, - regs[leg * 4 + 3] - TIBIA); - regs[leg * 4] = 0; - } + move_leg(leg, regs[leg * 4 + 0] + HOME, + regs[leg * 4 + 1] + HOME, + regs[leg * 4 + 2] - TIBIA); } }
--- a/controller/leg.ino Mon Apr 04 21:59:34 2016 +0200 +++ b/controller/leg.ino Wed Apr 06 22:34:26 2016 +0200 @@ -53,6 +53,9 @@ double ankle = NAN; double knee = NAN; double hip = NAN; + if (leg_position[0] == x && leg_position[1] == y && leg_position[2] == z) { + return true; + } leg_position[leg][0] = x; leg_position[leg][1] = y; leg_position[leg][2] = z;
--- a/controller/misc.h Mon Apr 04 21:59:34 2016 +0200 +++ b/controller/misc.h Wed Apr 06 22:34:26 2016 +0200 @@ -6,7 +6,4 @@ extern const double TAU; extern const double SQRT2; -// Use the larger SG90 servos -#define TOTE2 - #endif
--- a/python/robot.py Mon Apr 04 21:59:34 2016 +0200 +++ b/python/robot.py Wed Apr 06 22:34:26 2016 +0200 @@ -55,11 +55,11 @@ def update(self): data = ustruct.pack( - "Bbbbbbbbbbbbbbbbb", 0, - 1, self.legs[0].x, self.legs[0].y, self.legs[0].z, - 1, self.legs[1].x, self.legs[1].y, self.legs[1].z, - 1, self.legs[2].x, self.legs[2].y, self.legs[2].z, - 1, self.legs[3].x, self.legs[3].y, self.legs[3].z, + "Bbbbbbbbbbbbb", 0, + self.legs[0].x, self.legs[0].y, self.legs[0].z, + self.legs[1].x, self.legs[1].y, self.legs[1].z, + self.legs[2].x, self.legs[2].y, self.legs[2].z, + self.legs[3].x, self.legs[3].y, self.legs[3].z, ) while True: try:
