HARDWARIO TOWER Firmware Flashing Tool

This multi-platform Python tool can flash Radio Dongle and Core Module with local binary or latest released firmwares from GitHub.

The installation and usage instructions are in the Quick Tutorial and Projects section.

Install & Upgrade

You can install tools with pip3 python tool. Always make sure that you are using the latest version.

sudo pip3 install --upgrade --no-cache-dir bcf

Autocomplete

For Ubuntu/Linux you can enable autocomplete. Add this line to ~/.bashrc

eval "$(_BCF_COMPLETE=source bcf)"

Then run this command to reload .bashrc

source ~/.bashrc

Now you can for example write bcf --de, press TAB key and --device text is automatically completed.

Usage examples

Update and dowload list of all firmwares from GitHub

bcf update

List all firmwares

bcf list

Search for firmware

bcf search button

Flash Core Module R2

bcf flash hardwario/bcf-radio-push-button:latest

Tip

You can use optional --device parameter to choose the right serial port. This way the bcf won’t ask you every time.

Flash Core Module R1

bcf flash --device dfu hardwario/bcf-radio-push-button:latest

Flash Radio Dongle with latest firmware

bcf flash --device /dev/ttyUSB0 hardwario/bcf-gateway-usb-dongle:latest

bcf logging

It is possible to use bcf as a serial console to see log messages which are printed with bc_log_ APIs. It is using serial port in the parameter and 115200 baud speed with 8N1 uart format.

bcf log --device [device]

Flash firmware and immediatelly start logging after upload

bcf flash --device [device] [firmware]:[version] --log

Reset Core Module and immediatelly start logging after upload

bcf reset --device [device] --log

bcf –help

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$ bcf --help
Usage: bcf [OPTIONS] COMMAND [ARGS]...

HARDWARIO Firmware Tool.

Options:
-d, --device TEXT  Device path.
--version          Show the version and exit.
--help             Show this message and exit.

Commands:
clean    Clean cache.
create   Create new firmware.
devices  Print available devices.
eeprom   Work with EEPROM.
flash    Flash firmware.
help     Show help.
list     List firmware.
log      Show log.
pull     Pull firmware to cache.
read     Download firmware to file.
reset    Reset core module.
search   Search in firmware names and descriptions.
source   Firmware source.
test     Test firmware source.
update   Update list of available firmware.