Pinmap not found for peripheral

++ MbedOS Error Info ++
Error Status: 0x80010130 Code: 304 Module: 1
Error Message: pinmap not found for peripheral
Location: 0x800086B
Error Value: 0x53
For more info, visit: https://mbed.com/s/error?error=0x80010130&tgt=NUCLEO_F767ZI
-- MbedOS Error Info --
  1. I create a PIO project
  2. Select NUCLEO_F767zi
  3. Select MBED as framework
  4. I put this in main.cpp:
    #include <mbed.h>
    int main() {
      // put your setup code here, to run once:
      AnalogOut out(PF_3);
      Serial pc(USBTX, USBRX, 9600);
      while(1) {
        // put your main code here, to run repeatedly:
        out.write(0.1);
        pc.printf("hello");
        thread_sleep_for(1000);
      }
    }

I get the pinmap error.

This has worked before.

Does the pin mapping come from PinNames.h?

Because when it compiles, I don’t think it is compiling the PinNames.h. As in it’s .o file is not showing up where I think it should be:

mbedProject.pio\build\nucleo_f767zi\FrameworkMbed\targets\TARGET_STM\TARGET_STM32F7\TARGET_STM32F767xI\TARGET_NUCLEO_F767ZI\

Any help appreciated.

It’s a header file, it does not get compiled into an object file.

As you can see in

For mbed-os 6.2.0, the only valid DAC pins are PA4 and PA5, and the git blame history shows that it’s been that way for 2 years. Can you point to the exact version in which this has worked before?

Even when I read the datasheet it doesn’t list PF_3 as having an alternate / additional function for the DAC

Only PA4 and PA5 have that.

So it should be impossible in hardware.

That was it…

It “worked” in the past when I knew how to read a datasheet… :grimacing:

Thank you.