]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - src/adafruit_blinka/microcontroller/mcp2221/pin.py
updates
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / mcp2221 / pin.py
index c66263eabd094d4feebafe056091244664586d27..139d8b6fc3b684d64b9cb8886047937a81c087ca 100644 (file)
@@ -20,12 +20,19 @@ class Pin:
         if self.id is None:
             raise RuntimeError("Can not init a None type pin.")
         if mode in (Pin.IN, Pin.OUT):
+            # All pins can do GPIO
             mcp2221.gp_set_mode(self.id, mcp2221.GP_GPIO)
             mcp2221.gpio_set_direction(self.id, mode)
         elif mode == Pin.ADC:
+            # ADC only available on these pins
+            if self.id not in (1, 2, 3):
+                raise ValueError("Pin does not have ADC capabilities")
             mcp2221.gp_set_mode(self.id, mcp2221.GP_ALT0)
             mcp2221.adc_configure()
         elif mode == Pin.DAC:
+            # DAC only available on these pins
+            if self.id not in (2, 3):
+                raise ValueError("Pin does not have DAC capabilities")
             mcp2221.gp_set_mode(self.id, mcp2221.GP_ALT1)
             mcp2221.dac_configure()
         else: