This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

disableHalt

I have seen the disableHalt command mentioned in two threads:

http://e2e.ti.com/support/wireless_connectivity/f/538/p/253956/930205.aspx

http://e2e.ti.com/support/wireless_connectivity/f/538/p/293271/1023167.aspx

Does anyone know how to use it or if it even exists?  I can't find anything else about it.  I would like to run continuous ADC sampling while simultaneously transmitting data over Bluetooth.  Is this possible?

  • Hello Brian,

    Perhaps your question on the disabling halt refers to this?

    BLE stack stopping or dividing down the MCU clock during RF transmission

    See the HCI guide included in the BLE stack HCI_EXT_ClkDivOnHaltCmd / HCI_EXT_HaltDuringRfCmd. These are probably more likely.

    You will have to set up a Timer Event for getting the ADC results, whether from DMA, interrupt or polling.  Then you can send that data over BLE.  Look at the SensorTag App.  It allows you to receive data at .1 ms.  The best you can hope for is around .01 ms without significant losses.

    Thanks,

  • Thanks for the response.  So let's say the ADC needs to take multiple samples consecutively with strict timing that doesn't allow for time in between for the bluetooth events to take place.  Can these commands be used to simultaneously read out from the DMA/ transmit over BLE while the ADC takes these samples?  Or do I have to wait until the ADC is done with its sampling to then transmit all the data over at once?  The bluetooth transmissions can't mess up the timing of the ADC sampling, though.

  • That is a good question.

    If you set up an ADC DMA Sequence then each sample will be taken right after the precious conversion is complete.  These will be stored in your ADC table with a Byte size you specified.  You should technically be able to read out this data at whatever rate you want and transmit it over BLE.  The only problem I can see is that the DMA, BLE and your reading of the ADC table will all have to compete for the same XDATA space.

    After the ADC DMA Sequence is complete the ADC is automatically disabled.  You could transfer the table at that point.  If your new samples have to taken before this transfer can complete, then you may have to get creative with how you send the data, i.e. If valuse has change by x amount or has increased or decreased by x amount.

    Also you can use the following taken from this post http://e2e.ti.com/support/wireless_connectivity/f/538/t/253956.aspx

    You can use the below function, defined in hci.h after a connection is etablished to set up a OSAL event to be triggered after an event has taken place (actually after post-processing of that event is complete)

    For more detailed timing, you can use the function defined in ll_sleep.h, and used in _hal_sleep.c:

    void  LL_TimeToNextRfEvent( uint32 *sleepTimer, uint32 *timeout );

    Where timeout is the number of sleep timer (32768Hz) ticks until the next RF event i scheduled.

    Thanks