MikrofonSensor und TemperaturSenor die zwei Python programme funktionieren. mit den jeweiligen 2 json Datein. Beim TemperaturSensor wird im Terminal keine Wertre ausgegeben aber in der json Datei kann man die Temp und Hum sehen.
This commit is contained in:
parent
4c654ec969
commit
1751076592
2614 changed files with 349009 additions and 0 deletions
|
@ -0,0 +1,213 @@
|
|||
# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
"""NXP LPC4330 pin names"""
|
||||
try:
|
||||
from greatfet import GreatFET
|
||||
from greatfet.interfaces.adc import ADC
|
||||
|
||||
gf = GreatFET()
|
||||
except ModuleNotFoundError:
|
||||
raise RuntimeError(
|
||||
"Unable to create GreatFET object. Make sure library is "
|
||||
"installed and the device is connected."
|
||||
) from ModuleNotFoundError
|
||||
|
||||
|
||||
class Pin:
|
||||
"""A basic Pin class for the NXP LPC4330 that
|
||||
acts as a wrapper for the GreatFET api.
|
||||
"""
|
||||
|
||||
# pin modes
|
||||
OUT = gf.gpio.DIRECTION_OUT
|
||||
IN = gf.gpio.DIRECTION_IN
|
||||
ADC = 2
|
||||
DAC = 3
|
||||
|
||||
# pin values
|
||||
LOW = 0
|
||||
HIGH = 1
|
||||
|
||||
def __init__(self, pin_id=None):
|
||||
self.id = pin_id
|
||||
self._mode = None
|
||||
self._pin = None
|
||||
|
||||
def init(self, mode=IN, pull=None):
|
||||
"""Initialize the Pin"""
|
||||
if self.id is None:
|
||||
raise RuntimeError("Can not init a None type pin.")
|
||||
if pull is not None:
|
||||
raise NotImplementedError("Internal pullups and pulldowns not supported")
|
||||
if mode in (Pin.IN, Pin.OUT):
|
||||
if self.id not in gf.GPIO_MAPPINGS:
|
||||
raise ValueError("Pin does not have GPIO capabilities")
|
||||
self._pin = gf.gpio.get_pin(self.id)
|
||||
self._pin.set_direction(mode)
|
||||
elif mode == Pin.ADC:
|
||||
# ADC only available on these pins
|
||||
if self.id not in gf.ADC_MAPPINGS:
|
||||
raise ValueError("Pin does not have ADC capabilities")
|
||||
self._pin = ADC(gf, self.id)
|
||||
elif mode == Pin.DAC:
|
||||
# DAC only available on these pins
|
||||
if self.id != "J2_P5":
|
||||
raise ValueError("Pin does not have DAC capabilities")
|
||||
self._pin = gf.apis.dac
|
||||
self._pin.initialize()
|
||||
else:
|
||||
raise ValueError("Incorrect pin mode: {}".format(mode))
|
||||
self._mode = mode
|
||||
|
||||
def value(self, val=None):
|
||||
"""Set or return the Pin Value"""
|
||||
# Digital In / Out
|
||||
if self._mode in (Pin.IN, Pin.OUT):
|
||||
# digital read
|
||||
if val is None:
|
||||
return self._pin.get_state()
|
||||
# digital write
|
||||
if val in (Pin.LOW, Pin.HIGH):
|
||||
self._pin.set_state(val)
|
||||
return None
|
||||
# nope
|
||||
raise ValueError("Invalid value for pin.")
|
||||
# Analog In
|
||||
if self._mode == Pin.ADC:
|
||||
if val is None:
|
||||
# Read ADC here
|
||||
return self._pin.read_samples()[0]
|
||||
# read only
|
||||
raise AttributeError("'AnalogIn' object has no attribute 'value'")
|
||||
# Analog Out
|
||||
if self._mode == Pin.DAC:
|
||||
if val is None:
|
||||
# write only
|
||||
raise AttributeError("unreadable attribute")
|
||||
# Set DAC Here
|
||||
self._pin.set_value(int(val))
|
||||
return None
|
||||
raise RuntimeError(
|
||||
"No action for mode {} with value {}".format(self._mode, val)
|
||||
)
|
||||
|
||||
|
||||
# create pin instances for each pin
|
||||
# J1 Header Pins
|
||||
J1_P3 = Pin("J1_P3")
|
||||
J1_P4 = Pin("J1_P4")
|
||||
J1_P5 = Pin("J1_P5")
|
||||
J1_P6 = Pin("J1_P6")
|
||||
J1_P7 = Pin("J1_P7")
|
||||
J1_P8 = Pin("J1_P8")
|
||||
J1_P9 = Pin("J1_P9")
|
||||
J1_P10 = Pin("J1_P10")
|
||||
J1_P12 = Pin("J1_P12")
|
||||
J1_P13 = Pin("J1_P13")
|
||||
J1_P14 = Pin("J1_P14")
|
||||
J1_P15 = Pin("J1_P15")
|
||||
J1_P16 = Pin("J1_P16")
|
||||
J1_P17 = Pin("J1_P17")
|
||||
J1_P18 = Pin("J1_P18")
|
||||
J1_P19 = Pin("J1_P19")
|
||||
J1_P20 = Pin("J1_P20")
|
||||
J1_P21 = Pin("J1_P21")
|
||||
J1_P22 = Pin("J1_P22")
|
||||
J1_P23 = Pin("J1_P23")
|
||||
J1_P24 = Pin("J1_P24")
|
||||
J1_P25 = Pin("J1_P25")
|
||||
J1_P26 = Pin("J1_P26")
|
||||
J1_P27 = Pin("J1_P27")
|
||||
J1_P28 = Pin("J1_P28")
|
||||
J1_P29 = Pin("J1_P29")
|
||||
J1_P30 = Pin("J1_P30")
|
||||
J1_P31 = Pin("J1_P31")
|
||||
J1_P32 = Pin("J1_P32")
|
||||
J1_P33 = Pin("J1_P33")
|
||||
J1_P34 = Pin("J1_P34")
|
||||
J1_P35 = Pin("J1_P35")
|
||||
J1_P37 = Pin("J1_P37")
|
||||
J1_P39 = Pin("J1_P39") # MOSI
|
||||
J1_P40 = Pin("J1_P40") # MISO
|
||||
|
||||
|
||||
# J2 Header Pins
|
||||
J2_P3 = Pin("J2_P3")
|
||||
J2_P4 = Pin("J2_P4")
|
||||
J2_P5 = Pin("J2_P5") # ADC, ADC, DAC
|
||||
J2_P6 = Pin("J2_P6")
|
||||
J2_P7 = Pin("J2_P7")
|
||||
J2_P8 = Pin("J2_P8")
|
||||
J2_P9 = Pin("J2_P9") # ADC, GPIO
|
||||
J2_P10 = Pin("J2_P10")
|
||||
J2_P13 = Pin("J2_P13")
|
||||
J2_P14 = Pin("J2_P14")
|
||||
J2_P15 = Pin("J2_P15")
|
||||
J2_P16 = Pin("J2_P16") # GPIO, ADC
|
||||
J2_P18 = Pin("J2_P18")
|
||||
J2_P19 = Pin("J2_P19")
|
||||
J2_P20 = Pin("J2_P20")
|
||||
J2_P22 = Pin("J2_P22")
|
||||
J2_P23 = Pin("J2_P23")
|
||||
J2_P24 = Pin("J2_P24")
|
||||
J2_P25 = Pin("J2_P25")
|
||||
J2_P27 = Pin("J2_P27")
|
||||
J2_P28 = Pin("J2_P28")
|
||||
J2_P29 = Pin("J2_P29")
|
||||
J2_P30 = Pin("J2_P30")
|
||||
J2_P31 = Pin("J2_P31")
|
||||
J2_P33 = Pin("J2_P33")
|
||||
J2_P34 = Pin("J2_P34")
|
||||
J2_P35 = Pin("J2_P35")
|
||||
J2_P36 = Pin("J2_P36")
|
||||
J2_P37 = Pin("J2_P37")
|
||||
J2_P38 = Pin("J2_P38")
|
||||
|
||||
# Bonus Row Pins
|
||||
J7_P2 = Pin("J7_P2")
|
||||
J7_P3 = Pin("J7_P3")
|
||||
J7_P4 = Pin("J7_P4") # ADC, ADC
|
||||
J7_P5 = Pin("J7_P5") # ADC, ADC
|
||||
J7_P6 = Pin("J7_P6")
|
||||
J7_P7 = Pin("J7_P7")
|
||||
J7_P8 = Pin("J7_P8")
|
||||
J7_P13 = Pin("J7_P13")
|
||||
J7_P14 = Pin("J7_P14")
|
||||
J7_P15 = Pin("J7_P15")
|
||||
J7_P16 = Pin("J7_P16")
|
||||
J7_P17 = Pin("J7_P17")
|
||||
J7_P18 = Pin("J7_P18")
|
||||
|
||||
SCL = Pin()
|
||||
SDA = Pin()
|
||||
|
||||
SCK = Pin()
|
||||
MOSI = J1_P39
|
||||
MISO = J1_P40
|
||||
|
||||
TX = J1_P33
|
||||
RX = J1_P34
|
||||
|
||||
# ordered as uartId, txId, rxId
|
||||
uartPorts = ((0, TX, RX),)
|
||||
|
||||
# pwm outputs: pwm channel and pin
|
||||
pwmOuts = (
|
||||
(0, J1_P4),
|
||||
(1, J1_P6),
|
||||
(2, J1_P28),
|
||||
(3, J1_P30),
|
||||
(4, J2_P36),
|
||||
(5, J2_P34),
|
||||
(6, J2_P33),
|
||||
(7, J1_P34),
|
||||
(8, J2_P9),
|
||||
(9, J1_P6),
|
||||
(10, J1_P25),
|
||||
(11, J1_P32),
|
||||
(12, J1_P31),
|
||||
(13, J2_P3),
|
||||
(14, J1_P3),
|
||||
(15, J1_P5),
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue