/// @file progress_codes.h #pragma once #include /// Base class for ProgressCode and its extensions using RawProgressCode = uint_fast8_t; /// A complete set of progress codes which may be reported while running a high-level command/operation /// This header file shall be included in the printer's firmware as well as a reference, /// therefore the progress codes have been extracted to one place enum class ProgressCode : RawProgressCode { OK = 0, ///< finished ok EngagingIdler, // P1 DisengagingIdler, // P2 UnloadingToFinda, // P3 UnloadingToPulley, // P4 FeedingToFinda, // P5 FeedingToBondtech, // P6 FeedingToNozzle, // P7 AvoidingGrind, // P8 FinishingMoves, // P9 ERRDisengagingIdler, // P10 ERREngagingIdler, // P11 - unused: intended for SlowLoad which is removed now ERRWaitingForUser, // P12 ERRInternal, // P13 ERRHelpingFilament, // P14 - unused: intended for SlowLoad which is removed now ERRTMCFailed, // P15 UnloadingFilament, // P16 LoadingFilament, // P17 SelectingFilamentSlot, // P18 PreparingBlade, // P19 PushingFilament, // P20 PerformingCut, // P21 ReturningSelector, // P22 ParkingSelector, // P23 EjectingFilament, // P24 RetractingFromFinda, // P25 Homing, // P26 MovingSelector, // P2 FeedingToFSensor, // P28 HWTestBegin, // P29 HWTestIdler, // P30 HWTestSelector, // P31 HWTestPulley, // P32 HWTestCleanup, // P33 HWTestExec, // P34 HWTestDisplay, // P35 ErrHwTestFailed, // P36 /// Keep as the last item (except for Empty) /// Used for extending the progress codes on the printer side _cnt, Empty = 0xff // dummy empty state };