FreeCalypso > hg > fc-selenite
annotate src/g23m-aci/uart/uart_rxs.c @ 149:bd1301884216
l1_small.c: BIG_SMALL_SLEEP support like in Magnetite
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Wed, 06 Feb 2019 23:21:43 +0000 | 
| parents | d393cd9bb723 | 
| children | 
| rev | line source | 
|---|---|
| 
1
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 +----------------------------------------------------------------------------- | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | Project : | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 | Modul : | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 +----------------------------------------------------------------------------- | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 | All rights reserved. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 | This file is confidential and a trade secret of Texas | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 | Instruments Berlin, AG | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 | The receipt of or possession of this file does not convey | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 | any rights to reproduce or disclose its contents or to | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 | manufacture, use, or sell anything it may describe, in | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 | whole, or in part, without the specific written consent of | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 | Texas Instruments Berlin, AG. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 +----------------------------------------------------------------------------- | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 | Purpose : This modul is part of the entity UART and implements all | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 | functions to handles the incoming process internal signals as | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 | described in the SDL-documentation (RX-statemachine) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 +----------------------------------------------------------------------------- | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 #ifndef UART_RXS_C | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 #define UART_RXS_C | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 #endif /* !UART_RXS_C */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 #define ENTITY_UART | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 #ifndef FF_MULTI_PORT | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 /*==== INCLUDES =============================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 #ifdef WIN32 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 #include "nucleus.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 #endif /* WIN32 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 #include "typedefs.h" /* to get Condat data types */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 #include "vsi.h" /* to get a lot of macros */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 #include "macdef.h" /* to get a lot of macros */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 #include "custom.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 #include "gsm.h" /* to get a lot of macros */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 #include "cnf_uart.h" /* to get cnf-definitions */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 #include "mon_uart.h" /* to get mon-definitions */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 #include "prim.h" /* to get the definitions of used SAP and directions */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 #ifdef DTILIB | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 #include "dti.h" /* to get dti lib */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 #endif /* DTILIB */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 #include "pei.h" /* to get PEI interface */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 #ifdef _TARGET_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 #include "uart/serialswitch.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 #include "uart/traceswitch.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 #else /* _TARGET_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 #include "serial_dat.h" /* to get definitions of serial driver */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 #endif /* _TARGET_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 #include "uart.h" /* to get the global entity definitions */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 #include "uart_rxf.h" /* to get rx functions */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 #include "uart_kers.h" /* to get ker signals */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 #include "uart_dtxs.h" /* to get dtx signals */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 #include "uart_rxp.h" /* to get rx_readdata */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 #endif /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 /*==== CONST ================================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 /*==== LOCAL VARS ===========================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 /*==== PRIVATE FUNCTIONS ====================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 /*==== PUBLIC FUNCTIONS =====================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 | Function : sig_ker_rx_dead_mode_req | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 | Description : Handles the internal signal SIG_KER_RX_DEAD_MODE_REQ. If this | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 | signal is called the service expectes an disabled UART to work | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 | correctly. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 | Parameters : no parameters | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 GLOBAL void sig_ker_rx_dead_mode_req () | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 TRACE_ISIG( "sig_ker_rx_dead_mode_req" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 uart_data->rx.read_permission = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 uart_data->rx.prev_lines = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 uart_data->rx.dlc_instance = UART_EMPTY_INSTANCE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 uart_data->rx.escape = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 uart_data->rx.receive_state = UART_RX_NOT_RECEIVING; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 uart_data->rx.analyze_state = UART_RX_ERROR; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 uart_data->rx.fcs = UART_INITFCS; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 uart_data->rx.address_field = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 uart_data->rx.stored_len = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 switch( GET_STATE( UART_SERVICE_RX ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 case RX_READY: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 case RX_MUX: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 SET_STATE( UART_SERVICE_RX, RX_DEAD ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 case RX_DEAD: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 TRACE_ERROR( "SIG_KER_RX_DEAD_MODE_REQ unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 } /* sig_ker_rx_dead_mode_req() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
115 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
116 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
117 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
118 | Function : sig_ker_rx_ready_mode_req | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
119 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
120 | Description : Handles the internal signal SIG_KER_RX_READY_MODE_REQ. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
122 | Parameters : no parameters | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
123 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 GLOBAL void sig_ker_rx_ready_mode_req () | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 TRACE_ISIG( "sig_ker_rx_ready_mode_req" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
130 switch( GET_STATE( UART_SERVICE_RX ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
131 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
132 case RX_DEAD: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
133 SET_STATE( UART_SERVICE_RX, RX_READY ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
134 uart_data->rx.read_permission = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
135 uart_data->rx.dlc_instance = UART_EMPTY_INSTANCE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
136 uart_data->rx.receive_state = UART_RX_NOT_RECEIVING; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 uart_data->rx.analyze_state = UART_RX_ERROR; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 case RX_MUX: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 SET_STATE( UART_SERVICE_RX, RX_READY ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
142 if(uart_data->rx.read_permission EQ FALSE) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
143 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
144 uart_data->rx.dlc_instance = UART_EMPTY_INSTANCE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
145 uart_data->rx.analyze_state = UART_RX_ERROR; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
147 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
148 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 case RX_READY: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
150 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
151 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
152 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 TRACE_ERROR( "SIG_KER_RX_READY_MODE_REQ unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 } /* sig_ker_rx_ready_mode_req() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
157 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
158 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
161 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
162 | Function : sig_ker_rx_mux_mode_req | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
163 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
164 | Description : Handles the internal signal SIG_KER_RX_MUX_MODE_REQ. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
165 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 | Parameters : no parameters | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
167 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
169 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
170 GLOBAL void sig_ker_rx_mux_mode_req () | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 TRACE_ISIG( "sig_ker_rx_mux_mode_req" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
173 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
174 switch( GET_STATE( UART_SERVICE_RX ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
176 case RX_DEAD: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
177 SET_STATE( UART_SERVICE_RX, RX_MUX ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 uart_data->rx.read_permission = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
179 uart_data->rx.dlc_instance = UART_CONTROL_INSTANCE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
180 uart_data->rx.receive_state = UART_RX_NOT_RECEIVING; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
181 uart_data->rx.analyze_state = UART_RX_ERROR; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
182 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
183 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
184 case RX_READY: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
185 SET_STATE( UART_SERVICE_RX, RX_MUX ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
186 if(uart_data->rx.read_permission EQ FALSE) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
187 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
188 uart_data->rx.dlc_instance = UART_CONTROL_INSTANCE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
189 uart_data->rx.analyze_state = UART_RX_ERROR; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
190 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
191 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
192 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
193 case RX_MUX: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
194 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
195 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
196 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
197 TRACE_ERROR( "SIG_KER_RX_MUX_MODE_REQ unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
198 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
199 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
200 } /* sig_ker_rx_mux_mode_req() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
203 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
204 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
205 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 | Function : sig_dtx_rx_ready_to_receive_req | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
207 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
208 | Description : Handles the internal signal SIG_DTX_RX_READY_TO_RECEIVE_REQ. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
209 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
210 | Parameters : dlc_instance - dlc instance wich belongs to calling DTX | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 | receive_data - descriptor to write | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 | receive_pos - position to start write | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
213 | receive_size - size of descriptor to write | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 GLOBAL void sig_dtx_rx_ready_to_receive_req (UBYTE dlc_instance, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 T_desc2* receive_data, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 USHORT receive_pos, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 USHORT receive_size) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
222 T_DLC* dlc; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
223 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 TRACE_ISIG( "sig_dtx_rx_ready_to_receive_req" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 dlc = &uart_data->dlc_table[dlc_instance]; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 dlc->receive_pos = receive_pos; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
228 dlc->receive_size = receive_size; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
229 dlc->receive_data = receive_data; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
230 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
231 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
232 * start receiving | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 if(uart_data->rx.receive_state EQ UART_RX_RECEIVING) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
235 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
236 if(uart_data->rx.read_permission EQ FALSE) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
237 dlc->receive_process = UART_RX_PROCESS_READY; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
238 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
239 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
240 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
241 dlc->receive_process = UART_RX_PROCESS_READY; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
242 uart_data->rx.receive_state = UART_RX_RECEIVING; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
243 switch( GET_STATE( UART_SERVICE_RX ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
244 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
245 case RX_READY: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
246 uart_data->rx.dlc_instance = UART_EMPTY_INSTANCE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
247 uart_data->rx.analyze_state = UART_RX_ERROR; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
248 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
249 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
250 case RX_MUX: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
251 if(uart_data->rx.dlc_instance EQ UART_EMPTY_INSTANCE) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
252 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
253 uart_data->rx.dlc_instance = UART_CONTROL_INSTANCE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
254 uart_data->rx.analyze_state = UART_RX_ERROR; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
255 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
256 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
257 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
258 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
259 TRACE_ERROR( "SIG_DTX_RX_READY_TO_RECEIVE_REQ unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
260 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
261 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
262 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
263 if(rx_inpavail(uart_data->device) > 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
264 #else /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
265 if(UF_InpAvail (uart_data->device) > 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
266 #endif /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
267 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
268 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
269 * inform channel about reading | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
270 * because previous receive_state was NOT_READING | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
271 * there is only one channel which must be informed | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
272 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
273 uart_data->rx.read_permission = TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
274 uart_data->dtx = dlc->dtx; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
275 sig_rx_dtx_receiving_ind(); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
276 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
277 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
278 uart_data->rx.read_permission = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
279 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
280 if(uart_data EQ (&(uart_data_base[0]))) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
281 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
282 TRACE_EVENT("UF_ReadData()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
283 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
284 rx_readdata(0); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
285 #else /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
286 UF_ReadData (uart_data->device, sm_suspend, rx_readOutFunc_0); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
287 #endif /* else _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
288 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
289 #ifdef FF_TWO_UART_PORTS | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
290 else if(uart_data EQ (&(uart_data_base[1]))) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
291 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
292 TRACE_EVENT("UF_ReadData()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
293 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
294 rx_readdata(1); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
295 #else /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
296 UF_ReadData (uart_data->device, sm_suspend, rx_readOutFunc_1); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
297 #endif /* else _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
298 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
299 #endif /* FF_TWO_UART_PORTS */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
300 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
301 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
302 TRACE_ERROR("wrong value of uart_data"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
303 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
304 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
305 } /* sig_dtx_rx_ready_to_receive_req() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
306 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
307 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
308 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
309 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
310 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
311 | Function : sig_ker_rx_ready_to_receive_req | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
312 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
313 | Description : Handles the internal signal SIG_KER_RX_READY_TO_RECEIVE_REQ. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
314 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
315 | Parameters : receive_data - descriptor to write | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
316 | receive_pos - position to start write | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
317 | receive_size - size of descriptor to write | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
318 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
319 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
320 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
321 GLOBAL void sig_ker_rx_ready_to_receive_req (T_desc2* receive_data, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
322 USHORT receive_pos, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
323 USHORT receive_size) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
324 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
325 T_DLC* dlc; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
326 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
327 TRACE_ISIG( "sig_ker_rx_ready_to_receive_req" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
328 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
329 dlc = &uart_data->dlc_table[UART_CONTROL_INSTANCE]; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
330 switch( GET_STATE( UART_SERVICE_RX ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
331 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
332 case RX_MUX: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
333 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
334 * store data in control instance | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
335 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
336 dlc->receive_pos = receive_pos; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
337 dlc->receive_size = receive_size; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
338 dlc->receive_data = receive_data; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
339 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
340 * start receiving | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
341 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
342 if(uart_data->rx.receive_state EQ UART_RX_RECEIVING) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
343 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
344 if(uart_data->rx.read_permission EQ FALSE) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
345 dlc->receive_process = UART_RX_PROCESS_READY; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
346 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
347 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
348 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
349 dlc->receive_process = UART_RX_PROCESS_READY; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
350 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
351 * start receiving | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
352 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
353 uart_data->rx.receive_state = UART_RX_RECEIVING; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
354 if(uart_data->rx.dlc_instance EQ UART_EMPTY_INSTANCE) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
355 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
356 uart_data->rx.dlc_instance = UART_CONTROL_INSTANCE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
357 uart_data->rx.analyze_state = UART_RX_ERROR; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
358 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
359 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
360 if(rx_inpavail(uart_data->device) > 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
361 #else /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
362 if(UF_InpAvail (uart_data->device) > 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
363 #endif /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
364 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
365 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
366 * inform channel about reading | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
367 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
368 uart_data->rx.read_permission = TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
369 sig_rx_ker_receiving_ind(); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
370 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
371 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
372 uart_data->rx.read_permission = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
373 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
374 if(uart_data EQ (&(uart_data_base[0]))) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
375 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
376 TRACE_EVENT("UF_ReadData()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
377 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
378 rx_readdata(0); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
379 #else /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
380 UF_ReadData (uart_data->device, sm_suspend, rx_readOutFunc_0); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
381 #endif /* else _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
382 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
383 #ifdef FF_TWO_UART_PORTS | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
384 else if(uart_data EQ (&(uart_data_base[1]))) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
385 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
386 TRACE_EVENT("UF_ReadData()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
387 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
388 rx_readdata(1); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
389 #else /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
390 UF_ReadData (uart_data->device, sm_suspend, rx_readOutFunc_1); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
391 #endif /* else _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
392 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
393 #endif /* FF_TWO_UART_PORTS */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
394 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
395 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
396 TRACE_ERROR("wrong value of uart_data"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
397 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
398 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
399 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
400 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
401 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
402 TRACE_ERROR( "SIG_KER_RX_READY_TO_RECEIVE_REQ unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
403 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
404 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
405 } /* sig_ker_rx_ready_to_receive_req() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
406 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
407 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
408 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
409 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
410 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
411 | Function : sig_dtx_rx_not_ready_to_receive_req | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
412 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
413 | Description : Handles the internal signal | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
414 | SIG_DTX_RX_NOT_READY_TO_RECEIVE_REQ. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
415 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
416 | Parameters : dlc_instance - dlc instance wich belongs to calling DTX | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
417 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
418 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
419 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
420 GLOBAL void sig_dtx_rx_not_ready_to_receive_req (UBYTE dlc_instance) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
421 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
422 T_DLC* dlc; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
423 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
424 TRACE_ISIG( "sig_dtx_rx_not_ready_to_receive_req" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
425 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
426 dlc = &uart_data->dlc_table[dlc_instance]; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
427 switch( GET_STATE( UART_SERVICE_RX ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
428 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
429 case RX_READY: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
430 case RX_MUX: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
431 dlc->receive_data = NULL; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
432 dlc->receive_process = UART_RX_PROCESS_STOP; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
433 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
434 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
435 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
436 TRACE_ERROR( "SIG_DTX_RX_NOT_READY_TO_RECEIVE_REQ unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
437 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
438 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
439 } /* sig_dtx_rx_not_ready_to_receive_req() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
440 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
441 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
442 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
443 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
444 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
445 | Function : sig_ker_rx_not_ready_to_receive_req | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
446 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
447 | Description : Handles the internal signal | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
448 | SIG_KER_RX_NOT_READY_TO_RECEIVE_REQ. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
449 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
450 | Parameters : no parameters | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
451 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
452 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
453 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
454 GLOBAL void sig_ker_rx_not_ready_to_receive_req () | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
455 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
456 T_DLC* dlc; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
457 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
458 TRACE_ISIG( "sig_ker_rx_not_ready_to_receive_req" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
459 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
460 dlc = &uart_data->dlc_table[UART_CONTROL_INSTANCE]; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
461 switch( GET_STATE( UART_SERVICE_RX ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
462 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
463 case RX_MUX: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
464 dlc->receive_data = NULL; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
465 dlc->receive_process = UART_RX_PROCESS_STOP; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
466 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
467 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
468 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
469 TRACE_ERROR( "SIG_KER_RX_NOT_READY_TO_RECEIVE_REQ unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
470 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
471 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
472 } /* sig_ker_rx_not_ready_to_receive_req() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
473 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
474 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
475 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
476 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
477 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
478 | Function : sig_ker_rx_restart_read_req | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
479 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
480 | Description : Handles the internal signal SIG_KER_RX_RESTART_READ_REQ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
481 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
482 | Parameters : no parameters | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
483 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
484 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
485 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
486 GLOBAL void sig_ker_rx_restart_read_req () | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
487 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
488 TRACE_ISIG( "sig_ker_rx_restart_read_req" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
489 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
490 switch( GET_STATE( UART_SERVICE_RX ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
491 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
492 case RX_READY: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
493 case RX_MUX: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
494 if(uart_data->rx.receive_state EQ UART_RX_RECEIVING) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
495 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
496 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
497 * restart readOutFunc | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
498 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
499 if(uart_data EQ (&(uart_data_base[0]))) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
500 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
501 TRACE_EVENT("UF_ReadData()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
502 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
503 rx_readdata(0); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
504 #else /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
505 UF_ReadData (uart_data->device, sm_suspend, rx_readOutFunc_0); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
506 #endif /* else _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
507 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
508 #ifdef FF_TWO_UART_PORTS | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
509 else if(uart_data EQ (&(uart_data_base[1]))) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
510 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
511 TRACE_EVENT("UF_ReadData()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
512 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
513 rx_readdata(1); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
514 #else /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
515 UF_ReadData (uart_data->device, sm_suspend, rx_readOutFunc_1); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
516 #endif /* else _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
517 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
518 #endif /* FF_TWO_UART_PORTS */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
519 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
520 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
521 TRACE_ERROR("wrong value of uart_data"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
522 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
523 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
524 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
525 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
526 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
527 TRACE_ERROR( "SIG_KER_RX_RESTART_READ_REQ unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
528 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
529 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
530 } /* sig_ker_rx_restart_read_req() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
531 #endif /* !FF_MULTI_PORT */ | 
