- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- Célkeresztben az OnlyFans, amiért pornót nézhetnek a gyerekek
- Delphi programozás
- Sokat fogyaszt az AI, egyre több az adatközpont, kell az atomenergia
- Aliexpress tapasztalatok
- Hálózatokról alaposan
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Windows 11
- eBay
- Milyen NAS-t vegyek?
Új hozzászólás Aktív témák
-
atesss
addikt
válasz cousin333 #2829 üzenetére
No akkor most ismét nekiállok megírni a hsz-t. Tegnap du. emiatt a warning miatt elveszett amit írtam...
Köszi az ötletet, nekiálltam a NamedTuple-t használni. Egyelőre a következő két függvényemben:def i2c_io_namer(i2c_io_readed_array_reversed):
global MICROSWITCH_COUNT
MICROSWITCH_COUNT = 4
global MICROBUTTON_COUNT
MICROBUTTON_COUNT = 2
global NC_COUNT
NC_COUNT = 2
i2c_io_pinout = namedtuple('I2C_IO_PortA', ['Switch1', 'Switch2', 'Switch3', 'Switch4',
'Button1', 'Button2', 'NC7', 'NC8'])
# sample: i2c_io_readed_array: [True, True, True, True, False, True, False, False]
i2c_io_state = i2c_io_pinout(*i2c_io_readed_array_reversed)
return i2c_io_state
def i2c_io_printer(i2c_io_readed_array_reversed, i2c_io_state):
global i2c_io_readed_array_reversed_previous
print("----")
print("I2C_IO portA állapot:", i2c_io_readed_array_reversed)
# for y in range(len(i2c_io_readed_array_reversed)):
# print ("I2C_IO_PortA: pin", y+1, "actual value: ", i2c_io_readed_array_reversed[y])
print("Port állapot tuple adattípussal: ")
print(i2c_io_state)
print("Kapcsolók állapota: ", i2c_io_state[0:MICROSWITCH_COUNT])
print("Nyomógombok állapota: ", i2c_io_state[MICROSWITCH_COUNT:(MICROSWITCH_COUNT+MICROBUTTON_COUNT)])
print("Nem használt pinek állapota: ", i2c_io_state[(MICROSWITCH_COUNT+MICROBUTTON_COUNT):(MICROSWITCH_COUNT+MICROBUTTON_COUNT+NC_COUNT)])
for i in range(len(i2c_io_readed_array_reversed)):
if (i2c_io_readed_array_reversed[i] != i2c_io_readed_array_reversed_previous[i]):
print("--")
print("Változás az IO bemeneteken: I2C_IO Pin number", i, ": from", i2c_io_readed_array_reversed_previous[i], "to", i2c_io_readed_array_reversed[i])
i2c_io_readed_array_reversed_previous = i2c_io_readed_array_reversed
Ami plusz, hogy ennek az I2C-s IO modulnak (PCF8574) van egy Interrupt kimenete is. És ezt most bekötöttem a Raspberry Pi egyik GPIO bemenetére, és szeretném használni.
Ez az Interrupt Pin akkor változik meg (1-ről 0-ba megy), ha változás történt a PCF8574 bármelyik bemenetén.
A Raspberry-n csak ezt az egy GPIO pint-t figyelném pollingolással, és csak akkor állnék neki I2C-n keresztül kiolvasni az aktuális értékeket, ha bármelyikben egy változás volt.
Maga a funkció működik (bár valamiért kicsit "lassan" áll vissza miután csináltam egy kiolvasást, de a célnak most ez mégis megfelel, a gyakorlatban úgy néz ki). De ez az átalakítás még folyamatban van a programkódomban.De sajnos a korábbi értékkel való összehasonlítást sem tudtam még megoldani a tuple-ön keresztül.
Van amit nem értek még teljesen róla.Az i2c_io_pinout = namedtuple ... utasítással jól gondolom, hogy én egy "i2c_io_pinout" típust hozok létre ?
És utána a i2c_io_state = i2c_io_pinout(*i2c_io_readed_array_reversed) pedig létrehoz egy i2c_io_pinout típusú "változóból"(mi itt erre a helyes szó?) egy konkrét példányt ?Hogy tudnék elérni egy adott számú "kulcsnevet" ?
Tehát nem hogy mi az értéke, hanem hogy mi a neve az i -edik elemnek. ("Switch2" vagy "Button1" , stb.)
Az i2c_io_state[i] az értéket adja meg csak sajnos.
A i2c_io_pinout[i] pedig hibát dob, hogy ez egy nem iterálható típus.[ Szerkesztve ]
Új hozzászólás Aktív témák
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- Eredeti játékok OFF topik
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Samsung Galaxy S24 - nos, Exynos
- iPhone topik
- A Play Áruházban is fellelhető a legjobb Samsung segédalkalmazás
- Politika
- Hardcore café
- Okos Otthon / Smart Home
- Az NVIDIA szerint a partnereik prémium AI PC-ket kínálnak
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen