Skip to content

Bring-Up & Testing

First power-on to a verified DCS connection, in order. Don't skip ahead — each step gates the next. Use the status LED and DiagSerial as your instruments throughout.

Photos coming

The textual procedure is complete; bench photos are still being produced — (photo TBD).

1. Power and rails

Before flashing anything, power the board from the bench supply (or bus) and confirm:

  • The 3.3 V rail is at 3.3 V (AMS1117 output).
  • No part is getting hot. If anything is, kill power — recheck assembly.

(photo TBD — multimeter on the 3.3 V test point)

2. Flash and watch the status LED

Flash the firmware, then read the bi-color status LED:

LED Meaning
Red blinking Booting / initialising
Green blinking Normal — CAN bus healthy
Red fast blink TEC > 0 — transmit errors
Red solid Bus-off
Amber flicker Warning / degraded

Red-solid or red-fast on a single board usually means no other node / no termination — CAN needs 120 Ω at the two end nodes. Confirm bus wiring before chasing firmware.

3. DiagSerial

Attach a USB-to-TTL adapter to the 3-pin debug header, open the monitor at 115200. With STM32Board::setDebug(true), the board narrates boot, NODE_ID, and CAN status. Confirm the NODE_ID matches what you claimed.

4. Join the bus

Connect PanelBridge and the SimGateway. On a healthy bus the node settles to green blinking. PanelBridge broadcasts SYNC_REQ; the node completes its input poll and replies READY, then re-sends its current input state. Gauge steppers home to position 0 at boot (mechanical-stop homing) before any DCS data arrives — so no random needle motion.

5. End-to-end in DCS

Start DCS-BIOS export and load the A-4E-C. Then:

  • Outputs: trigger the sim state (e.g. a caution light) and confirm the LED/gauge follows.
  • Inputs: flip a switch and confirm the cockpit state changes in the sim.

The E2E_DCS_Test example is the simplest case — Master Test lights the gear light through the full loop.

Troubleshooting

Symptom Likely cause
Red solid, single board No bus partner / missing 120 Ω termination
ST-Link "tap not found" Clone JTAG ID — set CPUTAPID 0x2ba01477
Nothing on DiagSerial setDebug(false), wrong baud, or TX/RX swapped
Output never updates DCS-BIOS export not running, or wrong A_4E_C_* address/mask
Input does nothing Wrong controlId (DCS-BIOS vs HID), or pull-up missing

Full diagnostics reference

Heartbeats, error counters, and the SYNC_REQ/READY handshake are detailed under the CAN protocol — see CAN Bus Protocol.