I have partial answers:
> On Nov 29, 2016, at 8:37 AM, David G. Simmons <santa...@mac.com> wrote:
> Moving on from the BLE -- which now works perfectly -- and I understand how
> 'subscribed' values work in nimBLE, thanks to all who responded!
> Next up is implementing an ADC-based sensor. All the NRF52DK stuff has been
> moved out of -core and into mynewt-nordic, and I've looked through the source
> there as well.
> From my understanding of the board, the ADC pin is P0.03, and I've tested the
> sensor, and it works. So, only questions are:
> Given the move to external packages, how does the #include work? I've tried
> about every iteration of #include "drivers/adc/adc_nrf52/adc_nrf52.h" I can
> think of. :-)
That should happen through package dependencies.
So add dependency to @mynewt_nordic/hw/drivers/adc_nrf52.
Here’s a sample as I tried this out:
And then I can include it from my source:
> Using the ADC:
> struct os_dev adc_dev;
> rc = nrf52_adc_dev_init(&adc_dev, void *);
> assert(rc == 0);
> Should then initialize the ADC? Or do I need to nrf52_adc_open() first?
Yes, you need to initialize it first. The preferred way to do this would be
BSP's bsp_init(), but you can do it elsewhere early in the init.
I added this to my app’s main():
rc = os_dev_create((struct os_dev *)&adc_dev, "adc0",
assert(rc == 0);
And then once the system has started, I open it from a task:
dev = (struct adc_dev *)os_dev_open("adc0",
> And subsequently, how to read the ADC. Do I nrf52_adc_read_channel(),
> nrf52_adc_read_buffer() or ??
I would go through the function pointers within dev->ad_funcs. Or the
present in adc/adc.h. I don’t have sample code for this at hand though. Maybe
> This is the first ADC Tutorial for the Mynewt docs, so I'd like to get it
> exactly right. :-)
Hope this helps.
> Oh, the sensor is this one: https://www.adafruit.com/products/1786 which is a
> pretty cool liquid level sensor.
> David G. Simmons
> (919) 534-5099
> Web <https://davidgs.com/> • Blog <https://davidgs.com/davidgs_blog> •
> Linkedin <http://linkedin.com/in/davidgsimmons> • Twitter
> <http://twitter.com/TechEvangelist1> • GitHub <http://github.com/davidgs>
> /** Message digitally signed for security and authenticity.
> * If you cannot read the PGP.sig attachment, please go to
> * http://www.gnupg.com/ <http://www.gnupg.com/> Secure your email!!!
> * Public key available at keyserver.pgp.com <http://keyserver.pgp.com/>
> ♺ This email uses 100% recycled electrons. Don't blow it by printing!
> There are only 2 hard things in computer science: Cache invalidation, naming
> things, and off-by-one errors.