Programare

Marius '95

Membru Senior
Sugar daddy
Joined
Nov 13, 2005
Messages
4,821
Am nevoie sa scriu un program pentru comunicarea cu un analizor prin portul serial. Ce face efectiv:
- handshake si flow control cu ACK/NAK, masurat timeout-uri, etc.
- verifica CRC16 la blocuri de date
- salveaza datele intr-un fisier
- lanseaza un PHP care sa importe datele in baza de date, sau importa el direct (depinde cat de usor de programat este)

Stiu php la un nivel decent si am deja programul scris in php, dar nu-i adecvat pentru a rula non-stop. Mananca mult procesor (5%). Vreau un executabil adevarat care, preferabil, sa se foloseasca de intreruperea portului, nu sa faca polling periodic ca PHP-ul. As mai vrea sa fie relativ usor portabil in linux/bsd, ca nu mai raman multa vreme cu windows.

Ce limbaj de programare ar trebui sa ma apuc sa invat?
Multumesc.

PS: Acel limbaj pe care ma apuc sa il invat ar trebui sa existe si peste 20 de ani si sa aiba documentatie excelenta acum, mai ales la capitolul comunicare prin porturi si IRQ.
 

Neo

Motan agresif
Sugar daddy
Joined
Oct 16, 2005
Messages
9,871
După ce am studiat diferențele între multe limbaje de programare aș spune Python. Există și un curs moca și se pretează stilului smuls care-l ai în general în abordarea unor probleme :biggrin:
 

Marius '95

Membru Senior
Sugar daddy
Joined
Nov 13, 2005
Messages
4,821
Am zis ca vreau executabil. Python este interpretat la fel ca PHP. Nu ma ajuta.
 

Marius '95

Membru Senior
Sugar daddy
Joined
Nov 13, 2005
Messages
4,821
Motivare? CPU, eficienta, consum... Dar de ce trebuie sa dau si o motivare?
 

miahi

Wizzard
Sugar daddy
Joined
Aug 1, 2004
Messages
8,083
Ca să înțelegem de la început la ce strâmbi din nas, să nu ne mai pierdem timpul. 90% din discuțiile cu tine rămân în pom, că nu mai dai vreun feedback după ce ai rezolvat problema.

Pentru CPU, eficiență, consum, clar ASM, orice altceva e ineficient.
 

Quark

Zis și Brucan
Sugar daddy
Joined
Nov 6, 2003
Messages
13,433
Si acum se va munci la un nou DBMS, scris de la zero, in assembler. :angel:
 

puterfixer

Administrator
Sugar daddy
Joined
Oct 30, 2003
Messages
7,180
Partea cu portabilitatea la ASM va fi o distracție în viitorii 20 de ani, da' mno, capu' face (arhitectura), capu' trage.
 

miahi

Wizzard
Sugar daddy
Joined
Aug 1, 2004
Messages
8,083
Păi n-a specificat portabilitate, doar că va exista și că are documentație. Așa cum va găsi piese de schimb pentru device-ul conectat, va găsi și pentru server-ul pe care îl va rula.
 

miahi

Wizzard
Sugar daddy
Joined
Aug 1, 2004
Messages
8,083
Ai zis în linux/bsd, nu între platforme hardware diferite :tongue:.
 

Marius '95

Membru Senior
Sugar daddy
Joined
Nov 13, 2005
Messages
4,821
Incerc sa scriu un program care comunica prin portul serial cu un router.
Cum fac sa trimit prin serial comenzi de genul sageata in jos, home, del, etc.? Am esuat la google-fu. :frown: Cum sunt codate comezile astea? Dictionar?
 

Marius '95

Membru Senior
Sugar daddy
Joined
Nov 13, 2005
Messages
4,821
Ca sa nu ziceti ca discutia a ramas in pom si n-am mai dat feedback:
- Chestiunea cu comunicarea seriala cu analizorul s-a rezolvat facand un daemon in PHP si mi-am bagat piciorul in performanta. Dupa vreo 6 luni n-am mai avut timp si nervi sa fac suport tehnic si programul a fost inlocuit cu totul cu ceva comercial unde fac altii suport tehnic.
- Chestiunea cu trimisul comenzilor prin serial a mers folosind ANSI escape codes.


Alta:
Am o telecomanda 433MHz pentru rulourile de la ferestre. Vreau sa folosesc RPi-ul sau router-ul sa le comand dupa un program zilnic. Am studiat cu RTL-SDR codurile trimise de telecomanda si ele sunt formate din "pulsuri" radio de 0.56 ms lungime, spatiate la intervale de 0.56 sau 1.12 ms.
La asemenea intervale de timp, cred ca python iese din discutie. Ce altceva pot folosi? In C exista biblioteca wiringPi care pare usor de folosit. Se descurca C-ul cu intervale de 0.56 ms in Linux?
Nu am un Arduino / AVR. Stiu ca exista RTOS pentru RPi, dar nu vreau sa ocup un RPi exclusiv cu job-ul asta.
 
Top Bottom