AJ_Status AJS_TargetIO_UartClose(void* uartCtx) { UART* uart = (UART*)uartCtx; if (uart) { if (uart->object) { delete uart->object; } AJS_Free(NULL, uart); } return AJ_OK; }
AJ_Status AJS_TargetIO_AdcClose(void* adcCtx) { ADC* adc = (ADC*)adcCtx; if (adc) { if (adc->adcObj) { delete adc->adcObj; } AJS_Free(NULL, adc); } return AJ_OK; }
AJ_Status AJS_TargetIO_SpiClose(void* spiCtx) { SPI_Pin* spi = (SPI_Pin*)spiCtx; if (spi) { if (spi->cs) { delete spi->cs; } if (spi->object) { delete spi->object; } AJS_Free(NULL, spi); } return AJ_OK; }
extern "C" AJ_Status AJS_TargetIO_PinClose(void* pinCtx) { GPIO* gpio = (GPIO*)pinCtx; if (gpio) { /* Check which type of digital pin and delete accordingly */ if (gpio->type == DOUT && gpio->out) { delete gpio->out; } else if (gpio->type == DIN && gpio->in) { delete gpio->in; } else if (gpio->type == DBOTH && gpio->inOut) { delete gpio->inOut; } if (gpio->trigId != -1) { delete gpio->interrupt; } AJS_Free(NULL, gpio); } return AJ_OK; }