FreeCalypso > hg > fc-magnetite
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 */ |