mirror of
https://github.com/thearn/Python-Arduino-Command-API.git
synced 2026-04-24 03:00:20 -04:00
Add servo tests.
This commit is contained in:
@@ -190,5 +190,71 @@ class TestArduino(ArduinoTestCase):
|
|||||||
build_cmd_str('aw', (pin, value)))
|
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__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|||||||
Reference in New Issue
Block a user