FreeCalypso > hg > fc-selenite
annotate src/g23m-aci/aci/ati_src_rvt.c @ 183:9029c222c426
sync with Magnetite: DTR handling and pcmdata.c +CGxx defaults
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sun, 19 Jan 2020 22:04:28 +0000 | 
| parents | 6b94853890cf | 
| 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 * This module is a FreeCalypso addition. Here we are going to implement | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 * a mechanism for passing AT commands and responses over RVTMUX. | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 */ | 
| 
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 /* includes copied from ati_cmd.c */ | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 #undef DUMMY_ATI_STRINGS | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 #include "aci_all.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 #include "dti.h" /* functionality of the dti library */ | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 #include "line_edit.h" /* SKA 2002-09-05 */ | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 #include "aci_cmh.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 #include "ati_cmd.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 #include "aci_io.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 #include "aci_cmd.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 #include "l4_tim.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 #include <string.h> | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 #include <stdarg.h> | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 #include <stdio.h> | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 #include "psa.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 #include "cmh.h" | 
| 
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 #include "aci_lst.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 #include "dti_conn_mng.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 #ifdef UART | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 #include "psa_uart.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 #endif | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 #include "ati_io.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 #include "aci_mem.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 #ifdef SIM_TOOLKIT | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 #include "ati_src_sat.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 #include "psa_cc.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 #include "psa_sat.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 #endif /* SIM_TOOLKIT */ | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 #ifdef GPRS | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 #include "gaci_cmh.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 #include "gaci_cmd.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 #endif /* GPRS */ | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 #include "aci_prs.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 #ifndef _SIMULATION_ | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 #ifdef UART | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 #include "cmh_uart.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 #endif | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 #endif | 
| 
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 "psa_sms.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 #include "aci.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 #include "ati_ext_mech.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 #ifdef FF_ATI_BAT | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 #include "ati_bat.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 #include "aci_bat.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 #endif | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 EXTERN T_ACI_LIST *ati_src_list; | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 #include "rvt/rvt_gen.h" | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 static UBYTE rvt_src_id; | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 static T_RVT_USER_ID rvt_user_id; | 
| 
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 * The following function is the callback registered with RVT; it gets | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 * called in RVT HISR context. We allocate an ACI_CMD_REQ primitive, | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 * copy the received string into it and post it to ACI to be processed | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 * in our own task context. | 
| 
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 GLOBAL void ati_src_rvt_input_callback (T_RVT_BUFFER in_str, UINT16 in_str_len) | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 { | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 PALLOC (aci_cmd_req, ACI_CMD_REQ); | 
| 
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 aci_cmd_req->cmd_src = rvt_src_id; | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 aci_cmd_req->cmd_len = in_str_len; | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 memcpy(aci_cmd_req->cmd_seq, in_str, in_str_len); | 
| 
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 PSENDX (ACI, aci_cmd_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 | 
| 
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 * The following function is called from aci_aci.c when an ACI_CMD_REQ | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 * primitive (sent by the previous function) has been received. | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 */ | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 GLOBAL BOOL ati_src_rvt_proc_cmd (T_ACI_CMD_REQ *aci_cmd_req) | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 { | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 T_ATI_SRC_PARAMS *src_params = find_element (ati_src_list, rvt_src_id, | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 search_ati_src_id); | 
| 137 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 96 USHORT offset; | 
| 1 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 ati_user_output_cfg[rvt_src_id].atE = 0; | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 | 
| 137 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 100 if (aci_cmd_req->cmd_len && aci_cmd_req->cmd_seq[0] == 0x01) | 
| 1 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 { | 
| 137 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 102 TRACE_FUNCTION ("ati_src_rvt_proc_cmd () unterminated"); | 
| 1 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 | 
| 137 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 104 aci_cmd_req->cmd_seq[aci_cmd_req->cmd_len] = '\0'; | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 105 offset = 1; | 
| 1 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 } | 
| 137 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 107 else | 
| 1 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 { | 
| 137 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 109 offset = 0; | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 110 if (src_params->text_mode EQ CMD_MODE) | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 111 { | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 112 TRACE_FUNCTION ("ati_src_rvt_proc_cmd () CMD MODE"); | 
| 1 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 | 
| 137 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 114 aci_cmd_req->cmd_seq[aci_cmd_req->cmd_len] = '\r'; /* make it V.25 ter compatible */ | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 115 aci_cmd_req->cmd_seq[(aci_cmd_req->cmd_len) + 1] = '\0'; | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 116 aci_cmd_req->cmd_len++; | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 117 } | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 118 else /* text has to be terminated by Ctrl-Z */ | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 119 { | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 120 TRACE_FUNCTION ("ati_src_rvt_proc_cmd () TEXT MODE"); | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 121 | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 122 aci_cmd_req->cmd_seq[aci_cmd_req->cmd_len] = 0x1a; /* make it V.25 ter compatible */ | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 123 aci_cmd_req->cmd_seq[(aci_cmd_req->cmd_len) + 1] = '\0'; | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 124 aci_cmd_req->cmd_len++; | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 125 } | 
| 1 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 } | 
| 
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 return (ati_execute (rvt_src_id, | 
| 137 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 129 aci_cmd_req->cmd_seq + offset, | 
| 
6b94853890cf
AT-over-RVT enhancement from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: 
1diff
changeset | 130 aci_cmd_req->cmd_len - offset)); | 
| 1 
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 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 133 /* | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 * The following function is the callback registered with ATI; it gets | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 * called when ATI has something to send to the user. | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 */ | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 GLOBAL void ati_src_rvt_result_cb (UBYTE src_id, | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 T_ATI_OUTPUT_TYPE output_type, | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 UBYTE *output, | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 140 USHORT output_len) | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 { | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 TRACE_FUNCTION ("ati_src_rvt_result_cb ()"); | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 rvt_send_trace_cpy (output, rvt_user_id, output_len, RVT_ASCII_FORMAT); | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 } | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 | 
| 
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 * The following function is the other callback registered with ATI. | 
| 
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 GLOBAL void ati_src_rvt_line_state_cb (UBYTE src_id, | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 150 T_ATI_LINE_STATE_TYPE line_state_type, | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 ULONG line_state_param) | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 { | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 TRACE_FUNCTION ("ati_src_rvt_line_state_cb ()"); | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 switch (line_state_type) | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 { | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 157 case ATI_LINE_STATE_OUTPUT_TYPE: | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 TRACE_EVENT_P1 ("[DBG] ati_src_rvt_line_state_cb (): ATI_LINE_STATE_OUTPUT_TYPE = %d", line_state_param); | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 break; | 
| 
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 case ATI_LINE_STATE_DCD: | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 162 TRACE_EVENT_P1 ("[DBG] ati_src_rvt_line_state_cb (): ATI_LINE_STATE_DCD = %d", line_state_param); | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 break; | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 164 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 165 case ATI_LINE_STATE_RNG: /* TODO */ | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 { | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 T_IO_RING_PARAMS rng_params; | 
| 
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 memcpy (&rng_params, (T_IO_RING_PARAMS*)line_state_param, | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 sizeof(T_IO_RING_PARAMS)); | 
| 
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_EVENT_P1 ("[DBG] ati_src_rvt_line_state_cb (): ATI_LINE_STATE_RNG = %d", rng_params.ring_stat); | 
| 
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 break; | 
| 
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 | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 default: | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 TRACE_EVENT_P1 ("[WRN] ati_src_rvt_line_state_cb (): UNKNOWN line_state_type = %d", line_state_type); | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 break; | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 } | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 } | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 | 
| 
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 * The following function is called from ati_cmd_init() in ati_cmd.c | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 * to register our mechanism. | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 186 */ | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 187 GLOBAL void ati_src_rvt_register (void) | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 { | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 rvt_register_id ("AT", &rvt_user_id, ati_src_rvt_input_callback); | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 190 rvt_src_id = ati_init (ATI_SRC_TYPE_TST, | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 191 ati_src_rvt_result_cb, | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 192 ati_src_rvt_line_state_cb); | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 193 ati_switch_mode(rvt_src_id, ATI_CMD_MODE); | 
| 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 194 } | 
