Prusa MINI Firmware overview
mixing.h File Reference

Go to the source code of this file.

Classes

class  Mixer
 Mixer class. More...
 

Macros

#define COLOR_A_MASK   0x8000
 
#define COLOR_MASK   0x7FFF
 
#define MIXING_VIRTUAL_TOOLS   1
 
#define MAX_VTOOLS   255
 
#define MIXER_STEPPER_LOOP(VAR)   for (uint_fast8_t VAR = 0; VAR < MIXING_STEPPERS; VAR++)
 
#define MIXER_BLOCK_FIELD   mixer_comp_t b_color[MIXING_STEPPERS]
 
#define MIXER_POPULATE_BLOCK()   mixer.populate_block(block->b_color)
 
#define MIXER_STEPPER_SETUP()   mixer.stepper_setup(current_block->b_color)
 

Typedefs

typedef uint_fast16_t mixer_comp_t
 
typedef uint_fast16_t mixer_accu_t
 
typedef int8_t mixer_perc_t
 

Enumerations

enum  MixTool {
  FIRST_USER_VIRTUAL_TOOL = 0, LAST_USER_VIRTUAL_TOOL = MIXING_VIRTUAL_TOOLS - 1, NR_USER_VIRTUAL_TOOLS, MIXER_DIRECT_SET_TOOL = NR_USER_VIRTUAL_TOOLS,
  NR_MIXING_VIRTUAL_TOOLS
}
 

Variables

Mixer mixer
 

Macro Definition Documentation

◆ COLOR_A_MASK

#define COLOR_A_MASK   0x8000

◆ COLOR_MASK

#define COLOR_MASK   0x7FFF

◆ MIXING_VIRTUAL_TOOLS

#define MIXING_VIRTUAL_TOOLS   1

◆ MAX_VTOOLS

#define MAX_VTOOLS   255

◆ MIXER_STEPPER_LOOP

#define MIXER_STEPPER_LOOP (   VAR)    for (uint_fast8_t VAR = 0; VAR < MIXING_STEPPERS; VAR++)

◆ MIXER_BLOCK_FIELD

#define MIXER_BLOCK_FIELD   mixer_comp_t b_color[MIXING_STEPPERS]

◆ MIXER_POPULATE_BLOCK

#define MIXER_POPULATE_BLOCK ( )    mixer.populate_block(block->b_color)

◆ MIXER_STEPPER_SETUP

#define MIXER_STEPPER_SETUP ( )    mixer.stepper_setup(current_block->b_color)

Typedef Documentation

◆ mixer_comp_t

typedef uint_fast16_t mixer_comp_t

Marlin 3D Printer Firmware Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]

Based on Sprinter and grbl. Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

◆ mixer_accu_t

typedef uint_fast16_t mixer_accu_t

◆ mixer_perc_t

typedef int8_t mixer_perc_t

Enumeration Type Documentation

◆ MixTool

enum MixTool
Enumerator
FIRST_USER_VIRTUAL_TOOL 
LAST_USER_VIRTUAL_TOOL 
NR_USER_VIRTUAL_TOOLS 
MIXER_DIRECT_SET_TOOL 
NR_MIXING_VIRTUAL_TOOLS 
50  {
55  #if ENABLED(RETRACT_SYNC_MIXING)
56  MIXER_AUTORETRACT_TOOL,
57  #endif
59 };

Variable Documentation

◆ mixer

Mixer mixer
MIXING_VIRTUAL_TOOLS
#define MIXING_VIRTUAL_TOOLS
Definition: mixing.h:47
FIRST_USER_VIRTUAL_TOOL
Definition: mixing.h:51
LAST_USER_VIRTUAL_TOOL
Definition: mixing.h:52
MIXER_DIRECT_SET_TOOL
Definition: mixing.h:54
NR_MIXING_VIRTUAL_TOOLS
Definition: mixing.h:58
NR_USER_VIRTUAL_TOOLS
Definition: mixing.h:53