コード例 #1
0
		def test_to_pin_value(self):
			self.assertEqual(PinValue.High, PiDevice.to_pin_value(1))
			self.assertEqual(PinValue.High, PiDevice.to_pin_value(True))
			self.assertEqual(PinValue.High, PiDevice.to_pin_value(GPIO.HIGH))
			self.assertEqual(PinValue.Low, PiDevice.to_pin_value(0))
			self.assertEqual(PinValue.Low, PiDevice.to_pin_value(False))
			self.assertEqual(PinValue.Low, PiDevice.to_pin_value(GPIO.LOW))
			with self.assertRaises(ValueError):
				PiDevice.to_pin_value('NO EXISTS')
コード例 #2
0
ファイル: views.py プロジェクト: wmigor/pi_server
from pi_control.abstract_pi_device import PinValue

pi = None


def init_device():
    global pi
    if pi is not None:
        return
    try:
        from pi_control.pi_device import PiDevice
    except Exception, e:
        print e
        from pi_control.pi_imitator import PiImitator as PiDevice

    pi = PiDevice()
    pi.set_mode_board()
    pi.setup_output(11, value=PinValue.High)
    pi.setup_output(13, value=PinValue.High)
    pi.setup_output(15, value=PinValue.High)
    pi.setup_output(16, value=PinValue.High)


def index():
    user = current_user
    radio_info = radio_tools.get_radio_info()
    radio_stations = radio_info.get('icestats', {}).get('source', [])
    if isinstance(radio_stations, dict):
        radio_stations = [radio_stations]
    context = dict(user=user,
                   radio_host=radio_tools.get_radio_host(),
コード例 #3
0
		def setUp(self):
			self.pi = PiDevice()
			self.pi.set_mode_board()
コード例 #4
0
		def test_to_pi_pin_value(self):
			self.assertEqual(GPIO.LOW, PiDevice.to_pi_pin_value(PinValue.Low))
			self.assertEqual(GPIO.HIGH, PiDevice.to_pi_pin_value(PinValue.High))
			with self.assertRaises(ValueError):
				PiDevice.to_pi_pin_value('NO EXISTS')
コード例 #5
0
		def test_to_pi_pull(self):
			self.assertEqual(GPIO.PUD_OFF, PiDevice.to_pi_pull(Pull.Off))
			self.assertEqual(GPIO.PUD_UP, PiDevice.to_pi_pull(Pull.Up))
			self.assertEqual(GPIO.PUD_DOWN, PiDevice.to_pi_pull(Pull.Down))
			with self.assertRaises(ValueError):
				PiDevice.to_pi_pull('NO EXISTS')
コード例 #6
0
		def test_to_pi_pin_mode(self):
			self.assertEqual(GPIO.OUT, PiDevice.to_pi_pin_mode(PinMode.Output))
			self.assertEqual(GPIO.IN, PiDevice.to_pi_pin_mode(PinMode.Input))
			with self.assertRaises(ValueError):
				PiDevice.to_pi_pin_mode('NO EXISTS')
コード例 #7
0
		def test_to_pi_device_mode(self):
			self.assertEqual(GPIO.BOARD, PiDevice.to_pi_device_mode(DeviceMode.Board))
			self.assertEqual(GPIO.BCM, PiDevice.to_pi_device_mode(DeviceMode.Bcm))
			with self.assertRaises(ValueError):
				PiDevice.to_pi_device_mode('NO EXISTS')
コード例 #8
0
		def test_get_numbers(self):
			self.assertEqual(range(1, 41), PiDevice().get_numbers())
コード例 #9
0
	class TestPiDevice(unittest.TestCase):
		pi = PiDevice()

		def test_get_numbers(self):
			self.assertEqual(range(1, 41), PiDevice().get_numbers())

		def test_to_pi_device_mode(self):
			self.assertEqual(GPIO.BOARD, PiDevice.to_pi_device_mode(DeviceMode.Board))
			self.assertEqual(GPIO.BCM, PiDevice.to_pi_device_mode(DeviceMode.Bcm))
			with self.assertRaises(ValueError):
				PiDevice.to_pi_device_mode('NO EXISTS')

		def test_to_pi_pin_mode(self):
			self.assertEqual(GPIO.OUT, PiDevice.to_pi_pin_mode(PinMode.Output))
			self.assertEqual(GPIO.IN, PiDevice.to_pi_pin_mode(PinMode.Input))
			with self.assertRaises(ValueError):
				PiDevice.to_pi_pin_mode('NO EXISTS')

		def test_to_pi_pin_value(self):
			self.assertEqual(GPIO.LOW, PiDevice.to_pi_pin_value(PinValue.Low))
			self.assertEqual(GPIO.HIGH, PiDevice.to_pi_pin_value(PinValue.High))
			with self.assertRaises(ValueError):
				PiDevice.to_pi_pin_value('NO EXISTS')

		def test_to_pi_pull(self):
			self.assertEqual(GPIO.PUD_OFF, PiDevice.to_pi_pull(Pull.Off))
			self.assertEqual(GPIO.PUD_UP, PiDevice.to_pi_pull(Pull.Up))
			self.assertEqual(GPIO.PUD_DOWN, PiDevice.to_pi_pull(Pull.Down))
			with self.assertRaises(ValueError):
				PiDevice.to_pi_pull('NO EXISTS')

		def test_to_pin_value(self):
			self.assertEqual(PinValue.High, PiDevice.to_pin_value(1))
			self.assertEqual(PinValue.High, PiDevice.to_pin_value(True))
			self.assertEqual(PinValue.High, PiDevice.to_pin_value(GPIO.HIGH))
			self.assertEqual(PinValue.Low, PiDevice.to_pin_value(0))
			self.assertEqual(PinValue.Low, PiDevice.to_pin_value(False))
			self.assertEqual(PinValue.Low, PiDevice.to_pin_value(GPIO.LOW))
			with self.assertRaises(ValueError):
				PiDevice.to_pin_value('NO EXISTS')

		def test_setup_output_high(self):
			self.pi.setup_output(11, value=PinValue.High)
			self.assertEqual(PinValue.High, self.pi.get_output(11))

		def test_setup_output_low(self):
			self.pi.setup_output(11, value=PinValue.Low)
			self.assertEqual(PinValue.Low, self.pi.get_output(11))

		def test_setup_output(self):
			self.pi.setup_output(11)
			self.assertEqual(None, self.pi.get_output(11))

		def test_set_output_low(self):
			self.pi.setup_output(11)
			self.pi.set_output_low(11)
			self.assertEqual(PinValue.Low, self.pi.get_output(11))

		def test_set_output_high(self):
			self.pi.setup_output(11)
			self.pi.set_output_high(11)
			self.assertEqual(PinValue.High, self.pi.get_output(11))

		def setUp(self):
			self.pi = PiDevice()
			self.pi.set_mode_board()

		def tearDown(self):
			self.pi.cleanup()
コード例 #10
0
ファイル: test_relay.py プロジェクト: wmigor/pi_server
def main():
	delay = 0.5
	pi = PiDevice()
	try:
		pi.set_mode_board()
		pins = [11, 13, 15, 16]
		for pin in pins:
			pi.setup_output(pin, value=PinValue.High)
		for pin in pins:
			time.sleep(delay)
			pi.set_output_low(pin)
			time.sleep(delay)
			pi.set_output_high(pin)
		for i in xrange(4):
			time.sleep(delay)
			for pin in pins:
				pi.set_output_low(pin)
			time.sleep(delay)
			for pin in pins:
				pi.set_output_high(pin)
	finally:
		pi.cleanup()