Skip to content

Reference ​

The identifiers a box carries ​

Every BLOC 8 v2 answers with four identifiers. They are read-only.

ParameterWhat it isValue
ProductIdthe finished product010020008
HardwareIdthe board990010072
SoftwareIdthe application program990050032
SoftwareVersionthe version of that program6.0
sh
muxen-uds -i can0 -d <address> readconfig --only-name ProductId \
                                          --only-name SoftwareVersion
Product IDProductSoftware IDVersion
010020008BLOC 8 v29900500326.0

The version is the one in the source tree at the time of writing; the box itself is always the authority.

How a device is addressed ​

A MUXEN device is a function (what kind of thing it is) and an instance (which one). A BLOC 8 is function 1. The address used by muxen-uds -d is the two packed together:

address = function × 64 + instance

so the bloc set to instance 0 is at 64, instance 10 at 74, and so on. The same device can be reached by name:

sh
muxen-uds -i can0 -F 1 -I 10 readconfig
InstanceMeaning
0…62a real address
63the parking address — "no address of my own", and also the broadcast instance
255the factory value of InstanceNum, meaning the box has never been addressed

A box whose InstanceNum is 255 parks itself at 63. It runs, it drives the panel, it answers requests addressed to 63 — and it publishes nothing periodic and holds every output off, because several unaddressed blocs would all be answering as 63 at once.

Platform settings ​

Everything that configures an output — trip levels, delays, modes, dimming, equations, names, the supply window — is in the application manual. These are the ones that belong to the box itself:

ParameterDefaultMeaning
InstanceNum255the instance number — nothing is published and no output is released until this is set
EnAnalogPwr1power the analog sensor supply
0 — disabled
1 — enabled
GenIoMaxSendingPeriod5000how often the input frame is repeated when nothing changes, in ms
0 — publish on change only
EnCurrentPeriodic0publish the per-output currents continuously
0 — disabled, on request only
1 — enabled
StartupDly0delay before the box begins driving its outputs, in ms

What the box publishes ​

IdentifierFrameCarriesWhen
1lifethe eight output states, the four virtual signals, the total current, a rolling counterevery 500 ms, and immediately on any output change
2inputsthe six dry-contact inputs and the three analog inputs in mVon change, otherwise every GenIoMaxSendingPeriod
4currents 1outputs 1 to 4, in ampsevery 500 ms when current publishing is on
5currents 2outputs 5 to 8, in ampsevery 500 ms when current publishing is on
7supply voltagethe box's own supplyevery second
10output levelsthe actual level of each of the eight outputs, 0 to 100 % — see belowat startup, then on change, at most every 500 ms
1365bootthat the box has just started, and how many times it has restarted itselfat startup, and on request
3840UIDthe board's unique factory identifieron request

Every one of them can also be asked for individually at any time; the box answers even when it is parked at 63.

An "input frame on change" means any of the six dry contacts moving, or an analog input moving by at least 100 mV.

The output-level frame carries one byte per output: the level the output is driven at right now, 0 to 100 %, a ramp in progress included — an output that does not dim reads 0 or 100. 255 means there is no level to give: the output has tripped (short circuit or open load), or the box is parked at 63. A change is sent at once; further changes within the next 500 ms are held back and the latest one goes out when that window ends, so the final level of a ramp is always sent. Nothing repeats it periodically: a listener that starts later asks for it.

What the box accepts ​

One command frame, addressed to the box, carrying:

FieldMeaning
channel 0…7the output to act on, with a request to turn it on or off and an optional dimming level of 1 to 100 %
channel 8start or stop the continuous publication of the per-output currents

A direct command is given 5 seconds of validity, so a momentary output cannot be left held on by a Brain that stops talking.

The box also listens to the Brain's own status frame for the boat's degraded power mode. Each output has a level at which it is shed; the mode lapses 5 seconds after the last frame from the Brain, and everything comes back.

Output states ​

The value each output reports in the life frame, and the state its cell shows on the panel:

CodeState
0off
1on
2short circuit — overcurrent, output latched off
3not connected — open load, output latched off

The panel adds three states of its own that are not circuit states:

CellMeaning
board faultthe whole bloc is in safety — supply out of range
configuration errorthis output's logic could not be read
no addressthe bloc has no instance number

The bloc status shown on the panel ​

A bit field — several can be raised at once.

BitMeaning
1supply above VBatMax
2supply below VBatMin
4at least one output or virtual signal has an unusable equation
8the CAN bus is not working

Bit 8 is latched: it is set as soon as the bus misbehaves and cleared only by proof that it works again — a frame received, or a frame the box sent and another node acknowledged.

Fault codes ​

Reported to the Brain and listed on the panel's error screen.

CodeMeaning
0x0001supply above maximum
0x0002supply below minimum
0x0n01output n: unusable equation
0x0n02output n: overcurrent
0x0n03output n: open load

n is the output number, 1 to 8 — so output 3's overcurrent is 0x0302. The list is published once a second.

E-paper name zones ​

Each of the twenty cells and labels the panel prints is an image uploaded from the Brain, 155 × 40 pixels, one bit per pixel. They are sent by a single routine, each carrying the zone it is for; a zone is kept by the panel until it is replaced.

ZoneWhat it names
16…23outputs 1 to 8
24the bloc itself, in the panel header
25the dry-contact input page
26…31dry-contact inputs 1 to 6
32the analog input page
33…35analog inputs 1 to 3

LED codes ​

RateMeaning
1 Hz (on 500 ms, off 500 ms)running normally
≈5 Hz (on 100 ms, off 100 ms)running, supply out of range, every output held off
≈25 Hz (very fast flicker)the firmware could not confirm itself — power-cycle, the previous version returns
steady onstuck during startup
offnot running at all

Timings ​

Control cycle50 ms
Supply out-of-range decisionabout 1 s of agreement either way
Life frameevery 500 ms, plus on change
Output-level frameat startup, then on change, at most every 500 ms
Supply voltage frameevery 1 s
Fault listevery 1 s
Input frameon change, otherwise GenIoMaxSendingPeriod (default 5 s)
Current framesevery 500 ms when enabled
Panel output statesrefreshed continuously
Panel status, instance, inputsone of them every second, in rotation
An instance asked for from the panelacted on within about 4 s
Direct command from the busvalid 5 s
Degraded power modelapses 5 s after the Brain stops sending
Switch-on fault checksampled 10 ms after switch-on, retried after a 20 ms off pulse
Dry-contact debounce10 consecutive readings

Routines ​

RoutineWhat it does
1restore parameters to their defaults — see Common mistakes
2identify: the panel flashes all eight cells three times, outputs untouched
16upload one e-paper name image

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