STM32F469IDISCOVERY¶
lbuild config: modm:disco-f469ni:b-03
Discovery kit with STM32F469NI MCU.
This BSPs Board::initialize()
sets the board up with these settings:
- 180MHz CPU clock frequency in overdrive mode.
- 90MHz APB2 and 45MHz APB1 clock frequency.
- MODM_LOGGER initialized at 115.2kBaud outputting on STLink.
- 16MB SDRAM initialized for heap.
- Disables the display by default.
You can enable and use the on-board display in two ways:
- Use the
modm::GraphicDisplay
returned byBoard::getDisplay()
, which initializes the display on first call and allocates the framebuffer in the external SDRAM. This is the simplest option. - Call
Board::initializeDisplay()
and then provide your own display buffer withBoard::setDisplayBuffer(void*)
.
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.
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::Data data;
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);
Default: b-03
Revisions: [b-01, b-02, b-03]
Configuration¶
<library>
<options>
<option name="modm:target">stm32f469nih6</option>
<option name="modm:platform:heap:allocator">tlsf</option>
<option name="modm:tlsf:minimum_pool_size">16Mi</option>
</options>
<modules>
<module>modm:board:disco-f469ni</module>
<module>modm:platform:heap</module>
</modules>
</library>