Bloom Insight is a graphical user interface that provides insight into the connected target. This
includes access to all known target registers within the data address space, as well as the 32 general
purpose registers found on all supported AVR 8-bit targets. Registers can be manipulated via the
register inspection window.
The Insight component is optional - for those who wish to use Bloom in a headless fashion,
Insight can be disabled via a configuration parameter in the project configuration file.
See Disabling Bloom Insight for more.
GPIO pin states
The Insight window presents the target's GPIO pins, along with their current data direction
configuration and state.
Pin states are not updated in real-time. They are automatically refreshed each time the target
execution is halted, a port register is updated or when the user invokes a manual refresh via
the refresh button.
Pin names are truncated to four characters. Hover over them to view the whole name.
For GPIO pins, pin names are highlighted when the pin state differs from the previously known
All pin bodies are automatically disabled upon resuming target execution.
Output pin state manipulation
With Bloom Insight, users can manipulate the state of output pins during a debug session. To toggle
the state of an output pin, simply click on the pin body whilst execution on the target is
This function is only available when execution on the target is halted.
Bloom Insight provides access to all known registers in the data address space, as well as the 32 general
purpose registers found on all AVR 8-bit targets
supported by Bloom. The registers can be viewed by opening the registers left-hand-side panel.
The target registers panel was introduced in version 0.4.0.
When the registers panel is open and execution on the target comes to a halt, Bloom will automatically
read the value of all registers and display them inline with the register name. The values are
displayed in hexadecimal, decimal and ASCII text (where applicable).
Register values will be highlighted if they differ from their previously known value.
Target registers can be searched using the text input provided above the register list. Individual values
can be refreshed and copied to the clipboard via the context menu (right click the register name to
open the context menu).
Registers can be inspected and manipulated via the register inspection window. Double click the register
name or use the context menu to open the register inspection window.
Some target registers are configured to be read-only. These registers can be inspected but not
manipulated via Bloom.
Along with the current value of the register, the register inspection window presents any known
changes to the register value, that were made via Bloom, since the window was opened. This includes
memory writes issued by the GDB client.
NOTE: Changes to the register will only be recorded once the register inspection
window, for the particular register, has been opened. Any changes made beforehand will not be
captured. This may change in a later release.
Register values can be manipulated via the hexadecimal text input field, or via the bitset widget. The
bitset widget allows for the manipulating of individual bits - simply click on a bit to toggle it.
The bitset widget is connected to the hexadecimal text input - updating one will update the other.
Clicking 'Write Value' will apply the changes to the register value. This function is only available
when execution on the target is halted.
For registers known to be affiliated with target pins (such as PORT registers), applying any
changes to them will result in target pin states being refreshed.
Previous values can be restored by simply selecting the value from the register history list and
clicking 'Write Value'.
Switching package variants
Most targets are available in numerous physical packages, with various pin counts and pin layouts.
Bloom Insight currently supports DIP, SOIC, QFP and QFN variants.
By default, Bloom Insight will select the first available package variant on startup.
To select a different variant, simply click on the variant button at the bottom-right of the Bloom
Switching package variants may result in the resizing of the Bloom Insight window.
Configuring variant selection on startup
To avoid having to switch the variant on each use, Bloom Insight can be configured to select a specific
variant on startup. This can be done by specifying the
parameter in the project configuration file.
See here for more.