Invoke BMS callbacks from any networked device!
Falcon BMS Callbacker allows you to invoke BMS callbacks by simply sending them as a UDP datagram.
Given that BMS and this program both run on the host with the IP address 192.168.1.212
, you can now invoke a callback like this:
echo 'SimStepMasterArm' | nc -u 192.168.1.212 9027
This should be fairly simple to implement in any language from any networked device you might use in a cockpit build like an arduino or raspberry pi.
Hell, we could even build a customizable BMS button box mobile app with it.
- Download the latest release from here: https://github.com/kungfoo/falcon-bms-callbacker/releases
- Unzip it anywhere on your machine.
- Run it. Windows will probably ask for your permission to connect to the network.
falcon-bms-callbacker
will watch your keyfile for changes and reload it automatically (it might take a few seconds to detect).
You can change that in the config file config.toml
:
listen_port = "9032"
This will likely only matter to you if you have multiple network interfaces.
You can change that in the config file config.toml
:
listen_address = "192.168.20.35"
You can change that in the config file config.toml
:
# any of: info, debug, trace
log_level = "debug"
This will build on windows only (BMS is a windows application after all).
It will also build on linux if you cross compile for ix86_64-pc-windows-gnu
.
Build using:
cargo build --release
# or
cargo build --release --target x86_64-pc-windows-gnu
On windows the best way to get all the tools needed to build is probably to install MSYS2 and then
the MSYS2 x64 shell and install with pacaman
:
- base-devel
- cargo
- clang
Clang may not be necessary, depending on what is already installed on the machine, afaict.