This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

problem with layered drivers


Hi all,
I'm writing a driver for a PSoC, it is connected to the 
microcontroller through the serial port so I'm building the serial 
driver on top of the AT91 serial driver. The PSoC has two functions: it 
receives from the serial port a byte, sets an analog output with a DAC, 
and send the value back to the serial port (a sort of acknowledgment 
for the microcontroller). In the meanwhile it always monitors an analog 
input and send an error message (1 byte) through the serial port if the 
input is below a threshold. The error message has a unique value, so it 
can't be confused with an "ack" value.
The 2 different functions belong to 2 different drivers, which are 
built on top of the PSoC driver, let's call A the driver for the DAC 
and B the driver that want to be notified by the error message.
The A driver will call the cyg_io_write() function of the PSoC driver 
which will call the cyg_io_write() function of the serial driver and 
check the value back with the cyg_io_read() function of the serial 
driver. The B driver will call the cyg_io_read ()function of the PSoC 
which will call the cyg_io_read() function of the serial driver. The 
problem is that in the PSoC driver I would like to implement a sort of 
DSR that choses to which driver (A or B) belongs the value read from 
the serial port and that resumes the thread (for the driver A or B) 
that has been blocked. So my question is if I can have a callback 
coming from the serial driver to the PSoC driver, or any other sort of 
software interrupt which I can use to see that a character is arrived 
on the serial port.
I hope to have been clear enough, thanks a lot.

Michele


Naviga e telefona senza limiti con Tiscali     
Scopri le promozioni Tiscali adsl: navighi e telefoni senza canone Telecom

http://abbonati.tiscali.it/adsl/


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]