comparison src/g23m-aci/aci/ati_fcmisc.c @ 670:def882d1b354

AT+IOR and AT+IOW GPIO commands implemented in aci3
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 28 May 2020 03:15:43 +0000
parents 4011858168a1
children
comparison
equal deleted inserted replaced
669:227d37a968ec 670:def882d1b354
163 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); 163 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT);
164 return (ATI_CMPL); 164 return (ATI_CMPL);
165 } 165 }
166 #endif /* TARGET_HAS_PWL */ 166 #endif /* TARGET_HAS_PWL */
167 167
168 /* AT+IOR - read GPIO pin */
169 GLOBAL T_ATI_RSLT atPlusIOR (char *cl, UBYTE srcId)
170 {
171 char *me="+IOR: ";
172 unsigned ionum;
173 int state;
174
175 TRACE_FUNCTION("atPlusIOR()");
176
177 cl = parse(cl, "D", &ionum);
178 if (!cl)
179 return (ATI_FAIL);
180 if (ionum > 13)
181 return (ATI_FAIL);
182 state = AI_ReadBit(ionum);
183 sprintf(g_sa, "%s%u,%d", me, ionum, state);
184 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT);
185 return (ATI_CMPL);
186 }
187
188 /* AT+IOW - set GPIO pin */
189 GLOBAL T_ATI_RSLT atPlusIOW (char *cl, UBYTE srcId)
190 {
191 unsigned ionum;
192 int state;
193
194 TRACE_FUNCTION("atPlusIOW()");
195
196 cl = parse(cl, "DD", &ionum, &state);
197 if (!cl)
198 return (ATI_FAIL);
199 if (ionum > 13)
200 return (ATI_FAIL);
201 if (state)
202 AI_SetBit(ionum);
203 else
204 AI_ResetBit(ionum);
205 return (ATI_CMPL);
206 }
207
168 #endif /* ATI_FCMISC_C */ 208 #endif /* ATI_FCMISC_C */