@Triet said in Switching between RRF and Klipper back and forth:
At this point I admit not to fully understand the role of RPi when using it in combination with a Duet board - is the RPi used to implement additional features (like multisession FTP, camera connections...) or will the RRF firmware actually run on the RPi and delegate low level commands (for stepper movement for example) to the Duet3 board similar as Klipper does?
Sorry, I didn't reply to this part. Klipper and RRF use the Raspberry Pi in very different ways. In Klipper, the RPi runs the 'firmware', ie interprets the Gcode commands, and sends packets of step instructions to the MCU, usually via USB. It also provides the user interface, and reads back information from the MCU (eg temperatures, sensors etc). This is where Klipper is not 'real time'; there's a delay between something happening and the controller (the RPi) being able to respond. Klipper also has an issue with running macros, as these are 'precompiled' before sending to the MCU, so are difficult to interrupt. It also does not do CAN well, but can more MCUs can be connected using additional USB leads, it's just not quite as 'industrial' as proper CAN connectivity.
RRF still runs the Gcode on the MCU, even when connected to a RPi. The RPi takes over the file management, and streams the Gcode to the MCU for interpretation. It also takes over the user interface, and updates it with information retrieved from the Object Model stored on the MCU. This means the firmware on the MCU is still doing the 'realtime' work, and can interrupt any process in realtime too. CAN-FD is implemented on the MCU, as well as multiple motion systems and meta gcode, both features that there are not parallels for in Klipper as far as I know. For advantages of running RRF on RPi rather than standalone, see https://docs.duet3d.com/en/User_manual/Machine_configuration/SBC_setup#introduction
Ian