Hirdetés
- GoodSpeed: Mutasd magad topic!
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- MasterDeeJay: Mi ez a pici videókártya? AMD E9173 teszt
- Intelligencs: Karrierváltás - Első rész
- Andras-G: Az internet veszélyei [2. rész] - Facebook Marketpalce
- Gurulunk, WAZE?!
- Klaus Duran: RCS
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Yutani: 20 év a Prohardveren
Ú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_COUNTMICROSWITCH_COUNT = 4global MICROBUTTON_COUNTMICROBUTTON_COUNT = 2global NC_COUNTNC_COUNT = 2i2c_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_statedef i2c_io_printer(i2c_io_readed_array_reversed, i2c_io_state):global i2c_io_readed_array_reversed_previousprint("----")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_reversedAmi 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.
Új hozzászólás Aktív témák
- Vezeték nélküli fejhallgatók
- Autós topik
- AMD off topik: VGA, CPU, APU és minden, ami AMD
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- OLED TV topic
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Formula-1
- GoodSpeed: Mutasd magad topic!
- AliExpress tapasztalatok
- Milyen légkondit a lakásba?
- További aktív témák...
- Lenovo 13w Yoga 2in1 Gen 2 AMD Ryzen 3 7330U 8 GB RAM 256 GB SSD Premium garancia FHD IPS TOUCH
- Legolcsóbb!! Brutál erős Lenovo E16 g2 (Core Ultra 7 155H 16Gb DDR5 512Gb SSD) 2 hónap gyári gari!
- Asus VivoBook S14 - 14,1 "FULL HD IPS - i5 1135G7 - 16GB - 512GB SSD - Win11 PRO - MAGYAR
- I9 10900+B460-F
- DLSS3 Gamer PC / Intel i5 12400 / 16GB DDR4 / RTX 4060 / 1TB NVME SSD
- Lenovo ThinkPad T14s Gen 4 Ryzen 5 PRO 7540U 14" FHD+ 32GB 512GB Lenovo gar: 2028.01.07!
- Lenovo ThinkPad T14s Gen 5 Intel Ultra 5 135u,16 gb DDR5 6400,garancia 2028.03.
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- HP ZBook Studio G8 i7 32GB RAM 1TB SSD RTX A3000/Garancia
- Új Asus Zenbook S14 WQXGA OLED 120Hz Ultra7 258V 32GB 1TB SSD Intel Arc 140V 16GB Win11 Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
