modm API documentation
STM32F469IDISCOVERY

Classes

struct  Board::SystemClock
 STM32F469 running at 180MHz from the external 8MHz crystal More...
 
using Board::LoggerDevice = modm::IODeviceWrapper< stlink::Uart, modm::IOBuffer::BlockIfFull >
 
void Board::initializeTouchscreen ()
 
void Board::initializeDisplay ()
 
void Board::setDisplayBuffer (void *buffer)
 
void * Board::getDisplayBuffer ()
 
modm::ColorGraphicDisplayBoard::getDisplay ()
 
void Board::initialize ()
 
void Board::initializeUsbFs (uint8_t priority=3)
 
using Board::ft6::Int = GpioInputJ5
 
using Board::ft6::Scl = GpioB8
 
using Board::ft6::Sda = GpioB9
 
using Board::ft6::I2cMaster = I2cMaster1
 
using Board::ft6::Touch = modm::Ft6x06< I2cMaster >
 
constexpr uint8_t Board::ft6::TouchAddress = 56
 
constexpr uint8_t Board::ft6::TouchAddress2 = 42
 
using Board::usb::Vbus = GpioA9
 
using Board::usb::Id = GpioA10
 
using Board::usb::Dm = GpioA11
 
using Board::usb::Dp = GpioA12
 
using Board::usb::Overcurrent = GpioInputB7
 
using Board::usb::Power = GpioOutputB2
 
using Board::usb::Device = UsbFs
 
using Board::stlink::Tx = GpioOutputB10
 
using Board::stlink::Rx = GpioInputB11
 
using Board::stlink::Uart = BufferedUart< UsartHal3, UartTxBuffer< 2048 > >
 

Detailed Description

lbuild module: modm:board:disco-f469ni

Discovery kit with STM32F469NI MCU.

This BSPs Board::initialize() sets the board up with these settings:

You can enable and use the on-board display in two ways:

    >
  1. Use the modm::GraphicDisplay returned by Board::getDisplay(), which initializes the display on first call and allocates the framebuffer in the external SDRAM. This is the simplest option.
  2. Call Board::initializeDisplay() and then provide your own display buffer with Board::setDisplayBuffer(void*).
Warning
No Double-Buffering! Double-buffering is not implemented, so you may notice some tearing if you update the display fast enough.

Access to the capacitive touchscreen is provided in the Board::ft6 namespace. Call Board::initializeTouchscreen() to setup the peripherals.

Product Link

Hardware Revisions

The revision B-03 has a different touch sensor address from B-01 and B-02. The correct address for the revision is provided as Board::ft6::TouchAddress:

Board::ft6::Touch touchSensor(data, Board::ft6::TouchAddress);

If you want to provide the same code for both revisions, you can change the address at runtime if the device does not respond to a ping:

if (not touchSensor.ping()) touchSensor.setAddress(Board::ft6::TouchAddress2);