diff options
Diffstat (limited to 'Adafruit_Python_GPIO/tests/test_SPI.py')
| -rw-r--r-- | Adafruit_Python_GPIO/tests/test_SPI.py | 192 | 
1 files changed, 0 insertions, 192 deletions
diff --git a/Adafruit_Python_GPIO/tests/test_SPI.py b/Adafruit_Python_GPIO/tests/test_SPI.py deleted file mode 100644 index 123eec1..0000000 --- a/Adafruit_Python_GPIO/tests/test_SPI.py +++ /dev/null @@ -1,192 +0,0 @@ -# Copyright (c) 2014 Adafruit Industries -# Author: Tony DiCola -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -import unittest - -import Adafruit_GPIO as GPIO -import Adafruit_GPIO.SPI as SPI - -from MockGPIO import MockGPIO - - -class TestBitBangSPI(unittest.TestCase): -    def test_pin_modes_set_correctly(self): -        gpio = MockGPIO() -        device = SPI.BitBang(gpio, 1, 2, 3, 4) -        self.assertDictEqual(gpio.pin_mode, { 1: GPIO.OUT, -                                              2: GPIO.OUT, -                                              3: GPIO.IN, -                                              4: GPIO.OUT }) - -    def test_ss_set_high_after_initialization(self): -        gpio = MockGPIO() -        device = SPI.BitBang(gpio, 1, 2, 3, 4) -        self.assertListEqual(gpio.pin_written[4], [1]) - -    def test_mode_0_write(self): -        gpio = MockGPIO() -        device = SPI.BitBang(gpio, 1, 2, 3, 4) -        device.write([0x1F]) -        # Verify clock -        self.assertListEqual(gpio.pin_written[1], [0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, 0]) -        # Verify MOSI -        self.assertListEqual(gpio.pin_written[2], [0, 0, 0, 1, 1, 1, 1, 1]) -        # Verify MISO -        self.assertNotIn(3, gpio.pin_written) -        # Verify SS -        self.assertListEqual(gpio.pin_written[4], [1, 0, 1]) - -    def test_write_assert_deassert_ss_false(self): -        gpio = MockGPIO() -        device = SPI.BitBang(gpio, 1, 2, 3, 4) -        device.write([0x1F], assert_ss=False, deassert_ss=False) -        self.assertListEqual(gpio.pin_written[4], [1]) - -    def test_write_lsbfirst(self): -        gpio = MockGPIO() -        device = SPI.BitBang(gpio, 1, 2, 3, 4) -        device.set_bit_order(SPI.LSBFIRST) -        device.write([0x1F]) -        self.assertListEqual(gpio.pin_written[2], [1, 1, 1, 1, 1, 0, 0, 0]) - -    def test_invalid_mode_fails(self): -        gpio = MockGPIO() -        device = SPI.BitBang(gpio, 1, 2, 3, 4) -        self.assertRaises(ValueError, device.set_mode, -1) -        self.assertRaises(ValueError, device.set_mode, 4) - -    def test_invalid_bit_order_fails(self): -        gpio = MockGPIO() -        device = SPI.BitBang(gpio, 1, 2, 3, 4) -        self.assertRaises(ValueError, device.set_bit_order, -1) -        self.assertRaises(ValueError, device.set_bit_order, 2) - -    def test_mode_0_read(self): -        gpio = MockGPIO() -        device = SPI.BitBang(gpio, 1, 2, 3, 4) -        gpio.pin_read[3] = [0, 0, 0, 1, 1, 1, 1, 1] -        result = device.read(1) -        # Verify clock -        self.assertListEqual(gpio.pin_written[1], [0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, 0]) -        # Verify MOSI -        self.assertNotIn(2, gpio.pin_written) -        # Verify MISO -        self.assertNotIn(3, gpio.pin_written) -        # Verify SS -        self.assertListEqual(gpio.pin_written[4], [1, 0, 1]) -        # Verify result -        self.assertEqual(result, bytearray([0x1F])) - -    def test_read_assert_deassert_ss_false(self): -        gpio = MockGPIO() -        device = SPI.BitBang(gpio, 1, 2, 3, 4) -        gpio.pin_read[3] = [0, 0, 0, 1, 1, 1, 1, 1] -        result = device.read(1, assert_ss=False, deassert_ss=False) -        self.assertListEqual(gpio.pin_written[4], [1]) - -    def test_read_multiple_bytes(self): -        gpio = MockGPIO() -        device = SPI.BitBang(gpio, 1, 2, 3, 4) -        gpio.pin_read[3] = [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -                            0, 0, 0, 1, 1, 1, 1, 1] -        result = device.read(3) -        # Verify clock -        self.assertListEqual(gpio.pin_written[1], [0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, 0]) -        # Verify MOSI -        self.assertNotIn(2, gpio.pin_written) -        # Verify MISO -        self.assertNotIn(3, gpio.pin_written) -        # Verify SS -        self.assertListEqual(gpio.pin_written[4], [1, 0, 1]) -        # Verify result -        self.assertEqual(result, bytearray([0x1F, 0xF8, 0x1F])) - -    def test_write_multiple_bytes(self): -        gpio = MockGPIO() -        device = SPI.BitBang(gpio, 1, 2, 3, 4) -        device.write([0x1F, 0xF8, 0x1F]) -        # Verify clock -        self.assertListEqual(gpio.pin_written[1], [0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, 0]) -        # Verify MOSI -        self.assertListEqual(gpio.pin_written[2], [0, 0, 0, 1, 1, 1, 1, 1, -                                                   1, 1, 1, 1, 1, 0, 0, 0, -                                                   0, 0, 0, 1, 1, 1, 1, 1]) -        # Verify MISO -        self.assertNotIn(3, gpio.pin_written) -        # Verify SS -        self.assertListEqual(gpio.pin_written[4], [1, 0, 1]) - -    def test_mode_0_transfer(self): -        gpio = MockGPIO() -        device = SPI.BitBang(gpio, 1, 2, 3, 4) -        gpio.pin_read[3] = [0, 0, 0, 1, 1, 1, 1, 1] -        result = device.transfer([0xF8]) -        # Verify clock -        self.assertListEqual(gpio.pin_written[1], [0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, 0]) -        # Verify MOSI -        self.assertListEqual(gpio.pin_written[2], [1, 1, 1, 1, 1, 0, 0, 0]) -        # Verify MISO -        self.assertNotIn(3, gpio.pin_written) -        # Verify SS -        self.assertListEqual(gpio.pin_written[4], [1, 0, 1]) -        # Verify result -        self.assertEqual(result, bytearray([0x1F])) - -    def test_transfer_multiple_bytes(self): -        gpio = MockGPIO() -        device = SPI.BitBang(gpio, 1, 2, 3, 4) -        gpio.pin_read[3] = [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -                            0, 0, 0, 1, 1, 1, 1, 1] -        result = device.transfer([0xF8, 0x1F, 0xF8]) -        # Verify clock -        self.assertListEqual(gpio.pin_written[1], [0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, -                                                   0, 1, 0, 1, 0, 1, 0, 1, 0]) -        # Verify MOSI -        self.assertListEqual(gpio.pin_written[2], [1, 1, 1, 1, 1, 0, 0, 0, -                                                   0, 0, 0, 1, 1, 1, 1, 1, -                                                   1, 1, 1, 1, 1, 0, 0, 0]) -        # Verify MISO -        self.assertNotIn(3, gpio.pin_written) -        # Verify SS -        self.assertListEqual(gpio.pin_written[4], [1, 0, 1]) -        # Verify result -        self.assertEqual(result, bytearray([0x1F, 0xF8, 0x1F])) - -    #TODO: Test mode 1, 2, 3 - -    #TODO: Test null MOSI, MISO, SS  | 
