Other Parts Discussed in Thread: CC2650
Tool/software: TI-RTOS
Hi all,
When I use ADC Continuous Conversion by some reason my Phone lose connection with board.
Below the sample of the code how I use ADC Continuous Conversion:
// Initialize ADC Converter ADCBuf_Params adcBufParams; ADCBuf_Params_init(&adcBufParams); adcBufParams.callbackFxn = App_ADCBufCallback; adcBufParams.recurrenceMode = ADCBuf_RECURRENCE_MODE_CONTINUOUS; adcBufParams.returnMode = ADCBuf_RETURN_MODE_CALLBACK; adcBufParams.samplingFrequency = 10; sockCurrAdcBufHandle = ADCBuf_open(Board_ADCBuf0, &adcBufParams); if (!sockCurrAdcBufHandle) { Log_error0("Error initializing board ADC pins !!"); Task_exit(); } ADCBuf_Conversion continuousConversion; continuousConversion.arg = NULL; continuousConversion.adcChannel = Board_ADCBufChannel0; continuousConversion.sampleBuffer = sampleBufferOne; continuousConversion.sampleBufferTwo = sampleBufferTwo; continuousConversion.samplesRequestedCount = ADCBUFFERSIZE; if (ADCBuf_convert(sockCurrAdcBufHandle, &continuousConversion, 1) != ADCBuf_STATUS_SUCCESS) { Log_error0("Did not start conversion process correctly !!"); Task_exit(); } void App_ADCBufCallback(ADCBuf_Handle handle, ADCBuf_Conversion *conversion, void *completedADCBuffer, uint32_t completedChannel) { if (conversion == NULL) { return; } if (completedADCBuffer == NULL) { return; } /* Adjust raw adc values and convert them to microvolts */ ADCBuf_adjustRawValues(handle, completedADCBuffer, ADCBUFFERSIZE, completedChannel); ADCBuf_convertAdjustedToMicroVolts(handle, completedChannel, completedADCBuffer, microVoltBuffer, ADCBUFFERSIZE); }
And if I use continuous mode Ble Device disappear, but it steal works, it does not crash
Maybe I need to handle ADC Conversion with Ble Stack in some special way ?