I don't think it is wrong. See: arch/arm/src/stm32/stm32_adc.h
Now look inside boards/arm/stm32/ and you will find many board that includes this file same way. BR, Alan On 10/29/20, Bernd Walter <ti...@cicely7.cicely.de> wrote: > On Thu, Oct 29, 2020 at 05:42:58PM -0300, Alan Carvalho de Assis wrote: >> Hello, >> >> On 10/29/20, Bernd Walter <ti...@cicely7.cicely.de> wrote: >> > On Thu, Oct 29, 2020 at 08:51:13AM -0300, Alan Carvalho de Assis wrote: >> >> Hi Bernd, >> >> >> >> It was "working" few mont ago. I put working covered by quotes because >> >> the ADC convertion wasn't linear. I think the calibration process was >> >> failing. >> > >> > arch/arm/src/samd2l2/sam_adc.h was previously named >> > arch/arm/src/samd2l2/adc.h >> > With the rename the protector define was updated to be identic to the >> > one >> > in arch/arm/src/samd2l2/sam_adc.h >> > https://github.com/apache/incubator-nuttx/commit/6bff1f4df4ae3e4fc21d7d98afdbfdcc855a6ed2 >> > >> > No idea what the convention for the fix would be, beside not using the >> > same >> > protector name. >> > >> >> Well, the sam_adc.h appears correct and the #ifdef protection appears >> correct too. > > It is correct by itself, but not in the bigger context: > arch/arm/include/samd2l2/sam_adc.c: > ... > #include <arch/chip/sam_adc.h> > ... > #include "sam_adc.h" > > Both included files have the same filename and use the same #define to > protect. > The first gets included and the content of the second is then missing. > >> >> >> I tested it on Arduino Zero board (SAMD21). >> > >> > Ok - I do have an Arduino Zero board to test on. >> > The second problem is puzzling me. >> > For my board code I copied boards/arm/samd2l2/arduino-m0/src/sam_adc.c >> > It calls adc_register with "/dev/adc0", which calls register_driver), >> > in which inode_reserve() then fails with EEXIST. >> > This is common code for all platforms, which fails. >> > >> >> The EEXIST error means that the file already exist and then probably >> the ADC was registers twice. Maybe sam_adc_setup() was called twice or >> it is called once but adc_register("/dev/adc0") is called from other >> place. > > Thanks you for the hints. > Chaning the path didn't work, but did no further tests today. > >> Try to enable CONFIG_DEBUG_ANALOG_INFO and see if it will give you some >> hints. >> >> BR, >> >> Alan > > -- > B.Walter <be...@bwct.de> http://www.bwct.de > Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm. >