mirror of
https://github.com/thearn/Python-Arduino-Command-API.git
synced 2026-01-11 23:48:19 -05:00
Add servo tests.
This commit is contained in:
@@ -190,5 +190,71 @@ class TestArduino(ArduinoTestCase):
|
||||
build_cmd_str('aw', (pin, value)))
|
||||
|
||||
|
||||
class TestServos(ArduinoTestCase):
|
||||
|
||||
def test_attach(self):
|
||||
from Arduino.arduino import build_cmd_str
|
||||
pin = 10
|
||||
position = 0
|
||||
self.mock_serial.push_line(position)
|
||||
servo_min = 544
|
||||
servo_max = 2400
|
||||
self.board.Servos.attach(pin, min=servo_min, max=servo_max)
|
||||
self.assertEquals(self.mock_serial.output[0],
|
||||
build_cmd_str('sva', (pin, servo_min, servo_max)))
|
||||
|
||||
def test_detach(self):
|
||||
from Arduino.arduino import build_cmd_str
|
||||
pin = 10
|
||||
position = 0
|
||||
# Attach first.
|
||||
self.mock_serial.push_line(position)
|
||||
self.board.Servos.attach(pin)
|
||||
self.mock_serial.reset_mock()
|
||||
self.board.Servos.detach(pin)
|
||||
self.assertEquals(self.mock_serial.output[0],
|
||||
build_cmd_str('svd', (position,)))
|
||||
|
||||
def test_write(self):
|
||||
from Arduino.arduino import build_cmd_str
|
||||
pin = 10
|
||||
position = 0
|
||||
angle = 90
|
||||
# Attach first.
|
||||
self.mock_serial.push_line(position)
|
||||
self.board.Servos.attach(pin)
|
||||
self.mock_serial.reset_mock()
|
||||
self.board.Servos.write(pin, angle)
|
||||
self.assertEquals(self.mock_serial.output[0],
|
||||
build_cmd_str("svw", (position, angle)))
|
||||
|
||||
def test_writeMicroseconds(self):
|
||||
from Arduino.arduino import build_cmd_str
|
||||
pin = 10
|
||||
position = 0
|
||||
microseconds = 1500
|
||||
# Attach first.
|
||||
self.mock_serial.push_line(position)
|
||||
self.board.Servos.attach(pin)
|
||||
self.mock_serial.reset_mock()
|
||||
self.board.Servos.writeMicroseconds(pin, microseconds)
|
||||
self.assertEquals(self.mock_serial.output[0],
|
||||
build_cmd_str("svwm", (position, microseconds)))
|
||||
|
||||
def test_read(self):
|
||||
from Arduino.arduino import build_cmd_str
|
||||
pin = 10
|
||||
position = 0
|
||||
angle = 90
|
||||
# Attach first.
|
||||
self.mock_serial.push_line(position)
|
||||
self.board.Servos.attach(pin)
|
||||
self.mock_serial.reset_mock()
|
||||
self.mock_serial.push_line(angle)
|
||||
self.assertEquals(self.board.Servos.read(pin), angle)
|
||||
self.assertEquals(self.mock_serial.output[0],
|
||||
build_cmd_str("svr", (position,)))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user