Radu Cristian Alexandru IACOB - RemoteMonitor

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Initial imi propusesem sa fac un remote control pentru AC. Din diferite motive obiective ( telecomanda pe care o aveam la dispozitie se fol. de un standard ceva mai complicat, probleme cu recunoasterea device-ului, faptul ca am lasat proiectul pe ultima, ultima suta de metri ) m-am gandit la o chestie relativ ineficienta dar interesanta ( “m-am gandit” = undeva pe la 2 AM inainte de deadline ): Un (simulator de) scheduler, care sa permita unui utilizator extern sa trimita diferite task-uri la microprocesor. ( computatie, interogarea senzorilor ).

Descriere generală

Initializarea sistemului se realizeaza printr-un mesaj de tip “start: time_slice”.

Context switch-ul este simulat prin interrupt-ul de la un counter.(Timer1) ( cuanta de timp este cea setata primita ca argument de la host ). ( In timpul context switch-ului counter-ul este dezactivat ).

In continuare, host-ul poate inregistra task-uri ( prin mesaj de control de tip task:timeout:prioritate ).

La expirarea unei cuante de timp, se verifica daca un thread a ajuns la timeout, daca da se aprind led-ul de control (mai mult de debug) si se trimite rezultatul impreuna cu alte informatii relevante. Este posibila preemptarea unui thread, daca intre timp s-a inregistrat un thread cu o prioritate mai mare.

Thread-urile dispun de un numar de 'registrii' ( pentru a simulat tls-ul ).

Sunt perfect constient ca nu este cea mai eficienta abordare ( mai ales avand in vedere ca am realizat comunicarea cu host-ul prin v-usb ).

Hardware Design

Placuta Vanilla.

Software Design

Mediu de dezvoltate: Notepad++ Librarii si surse 3rd-party: v-usb

Bibliografie/Resurse

pm/prj2013/avoinescu/prj2013/avoinescu/remotemonitor.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0