summaryrefslogtreecommitdiff
path: root/nuttx/drivers/analog
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-10-21 16:53:38 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-10-21 16:53:38 +0000
commit5477e67307542a7b8ca42f62f5d02f7c01e49c14 (patch)
tree37d9ba9a4e6d7114c3680087cf520c90930217c6 /nuttx/drivers/analog
parent91e5f3be762398dfef29881ebd339c9deba11d92 (diff)
downloadpx4-nuttx-5477e67307542a7b8ca42f62f5d02f7c01e49c14.tar.gz
px4-nuttx-5477e67307542a7b8ca42f62f5d02f7c01e49c14.tar.bz2
px4-nuttx-5477e67307542a7b8ca42f62f5d02f7c01e49c14.zip
STM32 ADC driver fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5247 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/drivers/analog')
-rw-r--r--nuttx/drivers/analog/adc.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/nuttx/drivers/analog/adc.c b/nuttx/drivers/analog/adc.c
index 84070f162..72f19452a 100644
--- a/nuttx/drivers/analog/adc.c
+++ b/nuttx/drivers/analog/adc.c
@@ -143,7 +143,7 @@ static int adc_open(FAR struct file *filep)
dev->ad_recv.af_head = 0;
dev->ad_recv.af_tail = 0;
- /* Finally, Enable the CAN RX interrupt */
+ /* Finally, Enable the ADC RX interrupt */
dev->ad_ops->ao_rxint(dev, true);
@@ -151,9 +151,11 @@ static int adc_open(FAR struct file *filep)
dev->ad_ocount = tmp;
}
+
irqrestore(flags);
}
}
+
sem_post(&dev->ad_closesem);
}
return ret;
@@ -370,6 +372,10 @@ static int adc_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
* Public Functions
****************************************************************************/
+/****************************************************************************
+ * Name: adc_receive
+ ****************************************************************************/
+
int adc_receive(FAR struct adc_dev_s *dev, uint8_t ch, int32_t data)
{
FAR struct adc_fifo_s *fifo = &dev->ad_recv;
@@ -390,7 +396,7 @@ int adc_receive(FAR struct adc_dev_s *dev, uint8_t ch, int32_t data)
if (nexttail != fifo->af_head)
{
- /* Add the new, decoded CAN message at the tail of the FIFO */
+ /* Add the new, decoded ADC sample at the tail of the FIFO */
fifo->af_buffer[fifo->af_tail].am_channel = ch;
fifo->af_buffer[fifo->af_tail].am_data = data;
@@ -403,11 +409,16 @@ int adc_receive(FAR struct adc_dev_s *dev, uint8_t ch, int32_t data)
{
sem_post(&fifo->af_sem);
}
+
err = OK;
}
return err;
}
+/****************************************************************************
+ * Name: adc_register
+ ****************************************************************************/
+
int adc_register(FAR const char *path, FAR struct adc_dev_s *dev)
{
/* Initialize the ADC device structure */