Új hozzászólás Aktív témák
-
atesss
addikt
Üdv !
Raspberry Pi-n használok egy AD átalakítót, és az eddig Píthon kódomat most megpróbáltam kicsit úgy átalakítani - a jobb átláthatóság érdekében - hogy minden változó csak a szükséges függvényben legyen érvényes.
Illetve a hardverhez kapcsoló adat (jelen esetben pl. a csatornáknak a címe) is csak az adott hardver-kezelő függvényben legyen megadva.
Viszont így eléggé "körülményes" lett a kód végére:
Main függvény releváns részei:I2C_address = 0x48ADCCh0_sum_1s = ADCCh0_sum_1s + adc_measure("A0")ADCCh1_sum_1s = ADCCh1_sum_1s + adc_measure("A1")ADCCh2_sum_1s = ADCCh2_sum_1s + adc_measure("A2")ADCCh3_sum_1s = ADCCh3_sum_1s + adc_measure("A3")
És a két releváns függvényem:def adc_measure(channel_name):global I2C_addresschannel = get_channel_from_name(channel_name)try:bus.write_byte(I2C_address,channel)except IOError:passtry:adc_dummyread = bus.read_byte(I2C_address)except IOError:passtime.sleep(0.001)try:adc_value = bus.read_byte(I2C_address)except IOError:pass# print("ADC readed value on Channel Name",channel_name, "(Hexa-ID: ", hex(channel),"): ",adc_value)# print('------')time.sleep(0.001)return adc_valuedef get_channel_from_name(channel_name):A0 = 0x40A1 = 0x41A2 = 0x42A3 = 0x43if channel_name == "A0":channel = A0if channel_name == "A1":channel = A1if channel_name == "A2":channel = A2if channel_name == "A3":channel = A3# print("Non-converted channel name: ",channel)return channel
A kikommentezett print-eket csak debug célra használtam.A "névkonvertáló" függvényt hogyan tudnám elhagyni ?
(Ha viszont direkt feltétel, hogy nem akarom a main-ben megadni az A0, A1, A2, A3 -at.)
Mert én hiába kerestem, nem találtam olyan függvényt, amivel ezt a funkciót egyszerűbben végre tudnám hajtani. Hogyan lehetne kiváltani az " = A0" ... " = A3" értékadó sorokat ?
Új hozzászólás Aktív témák
- Mibe tegyem a megtakarításaimat?
- Milyen okostelefont vegyek?
- WoW avagy World of Warcraft -=MMORPG=-
- Háztartási gépek
- Anglia - élmények, tapasztalatok
- Parci: Milyen mosógépet vegyek?
- Milyen autót vegyek?
- Arc Raiders
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- Apple iPhone 16 Pro 128GB Gold használt karcmentes 97% akku 293 ciklus Apple garancia 2027.02.28-ig
- Acer Predator Helios Neo 16 i9-13900HX, RTX 4070 (140W), QHD+ 165Hz brutális teljesítmény!
- BeQuite! System Power 9 700W 80 Plus Bronze
- FANTASZTIKUS áron eladó dobozos új Hp Laptop 17 /Ryzen 7-7730U/16 GB RAM /512 SSD/FHD/IPS/Garancia/
- Lenovo Thinkpad X1 Carbon G10// fóliás új kijelző! //Core i7 1260P //16Gb /512GB SSD
- Apple iPhone 17 Pro Max 256GB Silver használt, karcmentes, 100% akku, garanciás 2028.11.21-ig MM
- BESZÁMÍTÁS! ASRock H510M i5 11400F 16GB DDR4 512GB SSD GTX 1660 Super 6GB Kolink Rocket Heavy 450W
- Apple iPhone 14 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB DDR5 RAM RTX 5070 12GB GAMER termékbeszámítással
- MS SQL Server 2016, 2017, 2019
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

