Exemple #1
0
/** Callback for AXI DMA RX.
 */
static void axi_dma_rx_callback(bool success)
{
  /* Signal RX semaphore */
  chSysLockFromISR();
  if (success) {
    chBSemSignalI(&axi_dma_rx_bsem);
  } else {
    chBSemResetI(&axi_dma_rx_bsem, 0);
  }
  chSysUnlockFromISR();
}
Exemple #2
0
void adcCallBack(ADCDriver *adcp, adcsample_t *buffer, size_t n)
{
/*	if (samples == buffer) 
	{
		nx += n;
  	}
	else 
	{
		ny += n;
	}
*/
		chSysLockFromIsr();
		if (chBSemGetStateI(&outputResponseDataReady))
		{
			outputResponseData.caller =HW_ADC;
			outputResponseData.adcOutputValues = &samples;
			outputResponseData.numberOfValues =n;
			chBSemResetI(&outputResponseDataReady, FALSE);
		}
		chSysUnlockFromIsr();
}
Exemple #3
0
void BinarySemaphore::resetI(bool taken) {

    chBSemResetI(&bsem, (bool_t)taken);
}