Skip to content

Commissioning ​

The gateway discovers the propulsion controllers as they speak and fixes each one's identity at that moment, so every numbering change ends with a restart. Everything below is run on the boat's Brain.

1. Wire it and check it lives ​

CAN 1 to the MUXEN bus, CAN 2 to the propulsion bus, power on. The system LED must blink once a second. Anything else: see Common mistakes.

Expect relay 2 — the power-limitation contact — to be closed at this point. That is normal on a box that has not yet seen a healthy battery bank.

2. Find the box and give it its own identity ​

sh
muxen-uds -i can0 uid --scan

The box's own generic I/O device ships unaddressed (InstanceNum = 255) and needs a number, both for its inputs and so the box can be reached for a firmware update later:

sh
muxen-uds -i can0 uid --uid <the-box-uid> --instance 4 --preferred-function-code 17

--preferred-function-code is not optional: this box answers on two functions — 17 for its own I/O and 7 for each motor. Do this one box at a time; two unconfigured boxes collide on the parking address.

3. Power the controllers one at a time ​

This is the step that saves the afternoon. Every newly discovered controller starts at motor instance 0. Bring them up one by one, and number each one before starting the next:

sh
mosquitto_sub -h 127.0.0.1 -t 'device/7/#' -v   # first controller only

Within a second or so the gateway publishes device/7/0/life. If nothing appears, go to Common mistakes — Bell Marine gateway before changing anything. Give that controller its final number and restart the gateway:

sh
muxen-uds -i can0 -F 7 -I 0 writeconfig --name InstanceNum --value 1 --reboot

The number is remembered against that controller's node number, so it survives restarts and stays with that controller. Motor instances run 0…62 and must be unique per function across the whole boat — check with muxen-uds -i can0 scan before choosing.

Then power the next controller, which will again appear at instance 0, and repeat.

4. Check what the motor reports ​

sh
mosquitto_sub -h 127.0.0.1 -t 'device/7/1/life' -v

You should see, refreshed twice a second: a state (off, regeneration, drive or error), the shaft speed in rpm, a temperature in °C, and the DC bus voltage and current. Turn the shaft or run the motor briefly and watch the values move.

Two things before you judge the numbers: speed is a magnitude — ahead and astern both show a positive rpm — and error carries no detail, it only means the controller reported a mode the gateway does not recognise. The reason has to be read on the Bell Marine side.

5. Check which battery bank the motor was bound to ​

Each motor is tied to one of the boat's battery banks — that is what decides the power-limitation relay. By default the gateway picks the bank itself, from the DC bus voltage it measures the first time the controller reports, and then writes the result down permanently:

sh
muxen-uds -i can0 -F 7 -I 1 readconfig --only-name BindToParc
ValueMeaning
254still automatic — no valid voltage seen yet
1, 2, 3bound to that battery bank
255standalone: the voltage matched no known bank, the motor is not watched

A motor left at 255 never limits: relay 2 stays open whatever the batteries do. If that is not what the installation expects, set the bank by hand:

sh
muxen-uds -i can0 -F 7 -I 1 writeconfig --name BindToParc --value 1 --reboot

Relay 2 opens within a second or two of a healthy bank being seen. If it stays closed, the bank is not reporting — see Common mistakes — Bell Marine gateway.

6. Check the regeneration request ​

sh
mosquitto_pub -h 127.0.0.1 -t 'device/7/1/command' -m '{"requestRegeneration":true}'

Relay 1 must close. It reopens five seconds after the last request, so a screen that wants regeneration held has to keep asking. To release it at once:

sh
mosquitto_pub -h 127.0.0.1 -t 'device/7/1/command' -m '{"requestOff":true}'

Do this with someone watching the propulsion system: relay 1 is wired into a real installation.

7. Keep a copy ​

sh
muxen-uds -i can0 -F 7 -I 1 readconfig --save-as-csv bellmarine-motor-1.csv

One file per motor. A factory reset erases the numbering and the bank binding, and both have to be redone controller by controller.

Integration of multiplexed solutions
MUXEN and the MUXEN logo are trademarks of MUXEN SAS.