]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
ODROID-COMMON: Support ADC pins
authorSteve Jeong <steve@how2flow.net>
Mon, 11 Dec 2023 08:20:53 +0000 (08:20 +0000)
committerSteve Jeong <steve@how2flow.net>
Fri, 29 Dec 2023 01:16:48 +0000 (01:16 +0000)
e.g.

```
import time
import board
from analogio import AnalogIn

analog_in = AnalogIn(board.A0) # support A0 and A1.

def get_voltage(pin):
    return (pin.value * 1.8) / 1024

while True:
    print((get_voltage(analog_in),))
    time.sleep(0.1)
```

Signed-off-by: Steve Jeong <steve@how2flow.net>
src/adafruit_blinka/board/hardkernel/odroidc4.py
src/adafruit_blinka/board/hardkernel/odroidm1.py
src/adafruit_blinka/board/hardkernel/odroidm1s.py
src/adafruit_blinka/board/hardkernel/odroidn2.py
src/adafruit_blinka/microcontroller/amlogic/meson_g12_common/pin.py
src/adafruit_blinka/microcontroller/rockchip/rk3566/pin.py
src/adafruit_blinka/microcontroller/rockchip/rk3568b2/pin.py
src/analogio.py

index 814f374ce99cebb537e8596e67bb9da54b480834..34e1acece1e7058b6fd9e9447ff092871c765935 100644 (file)
@@ -53,3 +53,7 @@ D44 = pin.GPIOAO_9
 D45 = pin.GPIOAO_7
 D46 = pin.GPIOAO_8
 D47 = pin.GPIOAO_4
+
+""" ADC """
+A0 = 40
+A1 = 37
index 61d9757e90bf519b1e57811e2a79637ff8525f8e..7093fc4113b5f96c1059c08da94e5cd6e351f4b8 100644 (file)
@@ -51,3 +51,7 @@ I2C0_SDA = D3
 I2C0_SCL = D5
 I2C1_SDA = D27
 I2C1_SCL = D28
+
+""" ADC """
+A0 = 40
+A1 = 37
index 24a32f422c3e2265e99b76fdea9903791f282466..4b5d6007b3cd23a312284d4bfbcfacd4ed1cff1d 100644 (file)
@@ -57,3 +57,7 @@ I2C0_SDA = D3
 I2C0_SCL = D5
 I2C1_SDA = D27
 I2C1_SCL = D28
+
+""" ADC """
+A0 = 40
+A1 = 37
index 9a0492680ed3b4f2505a71340cfc628f273dc24d..782fbd263a2fcfc0bbed4f65b5b1bfbaa9563003 100644 (file)
@@ -98,3 +98,7 @@ D26 = GPIOA_12  # PIN_32
 D27 = GPIOX_19  # PIN_36
 D30 = GPIOA_14  # PIN_27
 D31 = GPIOA_15  # PIN_28
+
+""" ADC """
+A0 = 40
+A1 = 37
index fc4e58885dc0cd7f6e5f3cc2bb61fec8620ea615..f44f92a04a408f5084cf890f7befd86f229f5f39 100644 (file)
@@ -136,6 +136,9 @@ uartPorts = [
     (1, UART1_TX, UART1_RX),
 ]
 
+# SysFS analog inputs, Ordered as analog analogInId, device, and channel
+analogIns = []
+
 board = detector.board.id
 if board in ("ODROID_C4", "ODROID_N2"):
     alias = get_dts_alias("ffd1d000.i2c")
@@ -159,5 +162,13 @@ if board in ("ODROID_C4", "ODROID_N2"):
         globals()[alias + "_RX"] = GPIOX_7
         uartPorts.append((int(alias[-1]), GPIOX_6, GPIOX_7))
 
+if board in ("ODROID_C4"):
+    analogIns.append((37, 0, 2))
+    analogIns.append((40, 0, 0))
+if board in ("ODROID_N2"):
+    analogIns.append((37, 0, 3))
+    analogIns.append((40, 0, 2))
+
+analogIns = tuple(analogIns)
 i2cPorts = tuple(i2cPorts)
 uartPorts = tuple(uartPorts)
index ff812ac797c0a9f55400774287e5c6a9b61e694a..02e39d529ff6c67c22cd73f34837ce99b05cafc8 100644 (file)
@@ -175,10 +175,13 @@ pwmOuts = [
 uartPorts = []
 
 # SysFS analog inputs, Ordered as analog analogInId, device, and channel
-analogIns = ((ADC_AIN3, 0, 3),)
+analogIns = [
+    (ADC_AIN3, 0, 3),
+]
 
 board = detector.board.id
 if board in ("ODROID_M1S"):
+    analogIns.append((40, 0, 2))
     alias = get_dts_alias("fe5c0000.i2c")
     if alias is not None:
         globals()[alias + "_SCL"] = GPIO3_B5
@@ -213,6 +216,7 @@ if board in ("ODROID_M1S"):
         globals()[alias + "_RX"] = GPIO2_A3
         uartPorts.append((int(alias[-1]), GPIO2_A4, GPIO2_A3))
 
+analogIns = tuple(analogIns)
 i2cPorts = tuple(i2cPorts)
 pwmOuts = tuple(pwmOuts)
 spiPorts = tuple(spiPorts)
index 8b23505aedf8771f053235cef6e13d341e27e99b..1179e1d441f2a35d4d426e726270d766c8afb28d 100644 (file)
@@ -78,13 +78,12 @@ pwmOuts = []
 uartPorts = []
 
 # SysFS analog inputs, Ordered as analog analogInId, device, and channel
-analogIns = (
-    (ADC_AIN0, 0, 0),
-    (ADC_AIN1, 0, 0),
-)
+analogIns = []
 
 board = detector.board.id
 if board in ("ODROID_M1"):
+    analogIns.append((37, 0, 7))
+    analogIns.append((40, 0, 6))
     alias = get_dts_alias("fe5c0000.i2c")
     if alias is not None:
         globals()[alias + "_SCL"] = GPIO3B_5
@@ -113,7 +112,7 @@ if board in ("ODROID_M1"):
         globals()[alias + "_RX"] = GPIO3D_7
         uartPorts.append((int(alias[-1]), GPIO3D_6, GPIO3D_7))
 
-
+analogIns = tuple(analogIns)
 i2cPorts = tuple(i2cPorts)
 pwmOuts = tuple(pwmOuts)
 uartPorts = tuple(uartPorts)
index e3ebb39d82bd8d63d591dfa79110354f664646d3..ed1adfe8acc2ace42c588cfaeb4c618af2cdfa61 100644 (file)
@@ -22,6 +22,8 @@ if detector.board.microchip_mcp2221:
 elif detector.board.greatfet_one:
     from adafruit_blinka.microcontroller.nxp_lpc4330.analogio import AnalogIn
     from adafruit_blinka.microcontroller.nxp_lpc4330.analogio import AnalogOut
+elif detector.board.any_odroid_40_pin:
+    from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 elif detector.board.any_siemens_simatic_iot2000:
     from adafruit_blinka.microcontroller.am65xx.analogio import AnalogIn
     from adafruit_blinka.microcontroller.am65xx.analogio import AnalogOut