Launching Rose Engine Butler

Understanding this sequence makes most field problems much easier to track down.

The sequence

  1. The desktop icon (and the Applications menu entry) runs REB_Launch.sh.
  2. REB_Launch.sh runs REB_Setup/REB_Generate_Local_Ini.py, which reads this machine's settings from /home/reuben/Documents/REBset_v1.ini and writes three generated files next to their templates:
    • REB.local.ini - a copy of REB.ini with the axis/channel assignment, jog speeds, measurement system, and backlash applied, and with its HALFILE / POSTGUI_HALFILE lines pointing at the files below;
    • REB.local.hal - a copy of REB.hal with the Mesa card line rewritten (the base card at 10.10.10.10 alone, or both cards - 10.10.10.10 and 10.10.10.11 - when Expansion Box - Connected is ticked, plus the second card's read/write and watchdog lines), each role's block moved to its assigned channel, card and joint number, unassigned roles left out, and the limit jacks, E-stop button and signal tower wiring and the lost-card E-stop added (see Panel Accessories and Mesa 7i92);
    • REB_Display/REB_PostGUI_v1.local.hal - a copy of REB_PostGUI_v1.hal.
  3. It then starts linuxcnc REB.local.ini.
  4. While LinuxCNC loads, REB_Settings_Restore.py applies the saved scale, PID and velocity values to the HAL pins.
  5. At shutdown, REB_Shutdown.hal runs REB_Scale_Persist.py, which saves the live values back to REBset_v1.ini.

Key rules

  • Never edit the .local files - they are regenerated at every launch. Change REBset_v1.ini (through the Settings program) or the templates instead.
  • Everything that REB.local.ini sets (axis assignment, units, jog speeds) takes effect only at the next launch.
  • The Settings program only runs while LinuxCNC is not running.
  • The generator prints what it did - which cards it loads (and at which addresses), which role is on which channel, which limit jacks, E-stop and signal tower are wired. Run it by hand to see that output:

cd /home/reuben/linuxcnc/configs/RoseEngineButler
python3 REB_Setup/REB_Generate_Local_Ini.py

If it reports a problem, it refuses to write the .local.hal files and REB_Launch.sh stops, so LinuxCNC never starts with a half-built configuration. For example, it refuses to start with Expansion Box - Connected ticked while the Raspberry Pi's wired connection is still on the old 192.168.1.x network (see Mesa 7i92).

Which card address is used

  • The base card is loaded at 10.10.10.10, and the expansion card at 10.10.10.11.
  • A machine not yet moved to the 10.10.10.x network (Raspberry Pi wired at 192.168.1.120) is loaded at the card's factory address, 192.168.1.121, so an update can arrive before or after the network is moved with REB_Change_Network.sh.

Roles, channels, and joints

See Axis Mapping.

########## Standard Footer for all pages ##########
 

About the Rose Engine Butler System
Terms of Use

eMail comments to
ColvinTools @ Gmail [period] com -> mailto:ColvinTools [snail] Gmail [period] com