Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 770 → Rev 771

/shark/trunk/ports/servo/servo.c
391,7 → 391,7
 
com_init_irq((unsigned)(port));
 
com_set_functions(servo_confirm,servo_indication);
com_set_functions((unsigned)(port),servo_confirm,servo_indication);
 
com_irq_enable((unsigned)(port),ALL_IRQ);
 
/shark/trunk/drivers/serial/include/drivers/scomirq.h
35,7 → 35,7
*/
 
/*
CVS : $Id: scomirq.h,v 1.2 2004-06-01 14:50:33 giacomo Exp $
CVS : $Id: scomirq.h,v 1.3 2004-07-27 12:54:19 giacomo Exp $
 
scomirq.h:
 
84,7 → 84,7
 
void com_init_irq(unsigned port);
 
void com_set_functions(void (*confirm)(unsigned port, BYTE msg_status),void (*indication)(unsigned port, BYTE data));
void com_set_functions(unsigned port, void (*confirm)(unsigned port, BYTE msg_status),void (*indication)(unsigned port, BYTE data));
 
void com_irq_send(unsigned port, BYTE len, BYTE *data);
 
/shark/trunk/drivers/serial/scomirq.c
43,7 → 43,7
****************************/
static unsigned com_irq[] = {COM1_IRQ, COM2_IRQ, COM3_IRQ, COM4_IRQ};
 
struct SCom_Access_Type SCom_Access;
struct SCom_Access_Type SCom_Access[4];
 
unsigned SCom_Error[4];
 
157,15 → 157,15
 
}
 
void com_set_functions(void (*confirm)(unsigned port, BYTE msg_status),void (*indication)(unsigned port, BYTE data))
void com_set_functions(unsigned port, void (*confirm)(unsigned port, BYTE msg_status),void (*indication)(unsigned port, BYTE data))
{
SYS_FLAGS f;
 
f = kern_fsave();
 
SCom_Access.confirm = confirm;
SCom_Access.request = com_send_msg;
SCom_Access.indication = indication;
SCom_Access[port].confirm = confirm;
SCom_Access[port].request = com_send_msg;
SCom_Access[port].indication = indication;
 
kern_frestore(f);
 
199,17 → 199,17
{
if (SCom_TX_data[port].ptr < SCom_TX_data[port].len)
com_write(port, THR, SCom_TX_data[port].buf[SCom_TX_data[port].ptr++]);
else SCom_Access.confirm(port, COM_OK);
else SCom_Access[port].confirm(port, COM_OK);
}
 
void RBRF_handler (unsigned port) /* Receive Data Register Full */
{
SCom_Access.indication(port, com_read(port, RBR));
SCom_Access[port].indication(port, com_read(port, RBR));
}
 
void LSR_handler (unsigned port) /* break = 8, frame = 4, parity = 2, RBR overrun = 1*/
{
SCom_Error[port] = (com_read(port, LSR) & (bit4|bit3|bit2|bit1) ) >> 1;
SCom_Access.confirm(port, COM_ERROR);
SCom_Access[port].confirm(port, COM_ERROR);
}