Lazarus ve Python ile yazilmis programlar arasinda veri alisverisi

Başlatan z, 31 Temmuz 2020, 08:25:09

z

Raspberry pi icin programi komple Python ile yazarsam kodlar cok yavas calisiyor fakat kodlama cok kolay oluyor.

Lazarus (Pascal) kullanirsam kodlar cok daha hizli kosuyor fakat eksikliklerimden dolayi bazi fonksiyonlari yazmam zor.

Aklima gelen cozum programin bazi kisimlarini Lazarus ile bir kismini Python ile yazarsam isin icinden carcabuk cikacagim.

Fakat iki program arasinda veri alisverisi yapabilmem gerekiyor.

Bu islem icin text dosya acsam cozum olur ama dosya flashda acilirsa yaz oku sil yaz oku sil flashin canina okur.

Ramdisk yapabilir ve dosyayi ramdiskde olusturursam bu sorun hallolur.

Iki program parcacigi arasinda veri alisverisi icin baska neler yapabilirim?


Not:

Projeyi kople Lazarusda yazmaya kalkarsam zorlanacagim konular.

1. SPI
2. GPIO toogle ve giris pinlerindeki degisimlere ait event rutinleri
3. Threading



digiman

@z hocam ram de belli bir adresi bloke edip malloc gibi ordan data alisverisi yapilabilir mi acaba, aslinda yapilir ama isletim sistemi buna izin verir mi keza kendileri istedigi gibi kullaniyor, ram disk swap vs.
Âlimin afeti, kendini büyük görmesidir.

brandice5

@digiman evet yapilabiliyor. Windows'da "memory mapped file", linux'da "shared memory" olarak geciyor.

MCansız

Ben olsam lazarusta indy ile udp client  kullanıp Python ile udp server kurarak birbirleri ile haberlestiririm. Tcp de kullanilabilinir.


engerex

Merhaba,

Bunun bir çok çözüm yolu olabilir.
Daha önce incelemediyseniz eğer bu linke bir göz atın : https://wiki.freepascal.org/Lazarus_on_Raspberry_Pi
SPI, IO portlar vs. bir çok konudan bahsediyor.
Yukarıdaki sayfada birden fazla kütüphaneden bahsedilmiş ve en belirgini sanırım şu linkteki : http://asphyre.net/products/pxl

Delphi içerisinden harici ve dahili olarak Python çalıştırmakta mümkün.