Simplify some sanity checks with static_assert
This commit is contained in:
		
							parent
							
								
									51353f8fea
								
							
						
					
					
						commit
						e7e4500629
					
				| @ -372,32 +372,21 @@ | ||||
| /**
 | ||||
|  * Allow only one bed leveling option to be defined | ||||
|  */ | ||||
| #if HAS_ABL | ||||
|   #define COUNT_LEV_1 0 | ||||
| static_assert(1 >= 0 | ||||
|   #if ENABLED(AUTO_BED_LEVELING_LINEAR) | ||||
|     #define COUNT_LEV_2 INCREMENT(COUNT_LEV_1) | ||||
|   #else | ||||
|     #define COUNT_LEV_2 COUNT_LEV_1 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(AUTO_BED_LEVELING_3POINT) | ||||
|     #define COUNT_LEV_3 INCREMENT(COUNT_LEV_2) | ||||
|   #else | ||||
|     #define COUNT_LEV_3 COUNT_LEV_2 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(AUTO_BED_LEVELING_BILINEAR) | ||||
|     #define COUNT_LEV_4 INCREMENT(COUNT_LEV_3) | ||||
|   #else | ||||
|     #define COUNT_LEV_4 COUNT_LEV_3 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(MESH_BED_LEVELING) | ||||
|     #define COUNT_LEV_5 INCREMENT(COUNT_LEV_4) | ||||
|   #else | ||||
|     #define COUNT_LEV_5 COUNT_LEV_4 | ||||
|   #endif | ||||
|   #if COUNT_LEV_5 > 1 | ||||
|     #error "Select only one of: MESH_BED_LEVELING, AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT, or AUTO_BED_LEVELING_BILINEAR." | ||||
|   #endif | ||||
|     + 1 | ||||
|   #endif | ||||
|   , "Select only one of: MESH_BED_LEVELING, AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT, or AUTO_BED_LEVELING_BILINEAR." | ||||
| ); | ||||
| 
 | ||||
| /**
 | ||||
|  * Mesh Bed Leveling | ||||
| @ -408,47 +397,38 @@ | ||||
|   #elif MESH_NUM_X_POINTS > 9 || MESH_NUM_Y_POINTS > 9 | ||||
|     #error "MESH_NUM_X_POINTS and MESH_NUM_Y_POINTS must be less than 10." | ||||
|   #endif | ||||
| #elif ENABLED(MANUAL_BED_LEVELING) | ||||
|   #error "MANUAL_BED_LEVELING only applies to MESH_BED_LEVELING." | ||||
| #endif | ||||
| 
 | ||||
| /**
 | ||||
|  * Probes | ||||
|  */ | ||||
| #if PROBE_SELECTED | ||||
| 
 | ||||
| /**
 | ||||
|  * Allow only one probe option to be defined | ||||
|  */ | ||||
|   #define COUNT_PROBE_1 0 | ||||
| static_assert(1 >= 0 | ||||
|   #if ENABLED(PROBE_MANUALLY) | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(FIX_MOUNTED_PROBE) | ||||
|     #define COUNT_PROBE_2 INCREMENT(COUNT_PROBE_1) | ||||
|   #else | ||||
|     #define COUNT_PROBE_2 COUNT_PROBE_1 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if HAS_Z_SERVO_ENDSTOP && DISABLED(BLTOUCH) | ||||
|     #define COUNT_PROBE_3 INCREMENT(COUNT_PROBE_2) | ||||
|   #else | ||||
|     #define COUNT_PROBE_3 COUNT_PROBE_2 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(BLTOUCH) | ||||
|     #define COUNT_PROBE_4 INCREMENT(COUNT_PROBE_3) | ||||
|   #else | ||||
|     #define COUNT_PROBE_4 COUNT_PROBE_3 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(Z_PROBE_ALLEN_KEY) | ||||
|     #define COUNT_PROBE_5 INCREMENT(COUNT_PROBE_4) | ||||
|   #else | ||||
|     #define COUNT_PROBE_5 COUNT_PROBE_4 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(Z_PROBE_SLED) | ||||
|     #define COUNT_PROBE_6 INCREMENT(COUNT_PROBE_5) | ||||
|   #else | ||||
|     #define COUNT_PROBE_6 COUNT_PROBE_5 | ||||
|   #endif | ||||
|   #if COUNT_PROBE_6 > 1 | ||||
|     #error "Please enable only one probe: FIX_MOUNTED_PROBE, Z Servo, BLTOUCH, Z_PROBE_ALLEN_KEY, or Z_PROBE_SLED." | ||||
|     + 1 | ||||
|   #endif | ||||
|   , "Please enable only one probe: PROBE_MANUALLY, FIX_MOUNTED_PROBE, Z Servo, BLTOUCH, Z_PROBE_ALLEN_KEY, or Z_PROBE_SLED." | ||||
| ); | ||||
| 
 | ||||
| #if PROBE_SELECTED | ||||
| 
 | ||||
|   /**
 | ||||
|    * Z_PROBE_SLED is incompatible with DELTA | ||||
| @ -515,6 +495,13 @@ | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| /**
 | ||||
|  * MANUAL_BED_LEVELING requirements | ||||
|  */ | ||||
| #if ENABLED(MANUAL_BED_LEVELING) && DISABLED(MESH_BED_LEVELING) | ||||
|   #error "MANUAL_BED_LEVELING requires MESH_BED_LEVELING." | ||||
| #endif | ||||
| 
 | ||||
| /**
 | ||||
|  * Homing Bump | ||||
|  */ | ||||
| @ -639,55 +626,36 @@ | ||||
| /**
 | ||||
|  * Don't set more than one kinematic type | ||||
|  */ | ||||
| #define COUNT_KIN_1 0 | ||||
| static_assert(1 >= 0 | ||||
|   #if ENABLED(DELTA) | ||||
|   #define COUNT_KIN_2 INCREMENT(COUNT_KIN_1) | ||||
| #else | ||||
|   #define COUNT_KIN_2 COUNT_KIN_1 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(MORGAN_SCARA) | ||||
|   #define COUNT_KIN_3 INCREMENT(COUNT_KIN_2) | ||||
| #else | ||||
|   #define COUNT_KIN_3 COUNT_KIN_2 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(MAKERARM_SCARA) | ||||
|   #define COUNT_KIN_4 INCREMENT(COUNT_KIN_3) | ||||
| #else | ||||
|   #define COUNT_KIN_4 COUNT_KIN_3 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(COREXY) | ||||
|   #define COUNT_KIN_5 INCREMENT(COUNT_KIN_4) | ||||
| #else | ||||
|   #define COUNT_KIN_5 COUNT_KIN_4 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(COREXZ) | ||||
|   #define COUNT_KIN_6 INCREMENT(COUNT_KIN_5) | ||||
| #else | ||||
|   #define COUNT_KIN_6 COUNT_KIN_5 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(COREYZ) | ||||
|   #define COUNT_KIN_7 INCREMENT(COUNT_KIN_6) | ||||
| #else | ||||
|   #define COUNT_KIN_7 COUNT_KIN_6 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(COREYX) | ||||
|   #define COUNT_KIN_8 INCREMENT(COUNT_KIN_7) | ||||
| #else | ||||
|   #define COUNT_KIN_8 COUNT_KIN_7 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(COREZX) | ||||
|   #define COUNT_KIN_9 INCREMENT(COUNT_KIN_8) | ||||
| #else | ||||
|   #define COUNT_KIN_9 COUNT_KIN_8 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(COREZY) | ||||
|   #define COUNT_KIN_10 INCREMENT(COUNT_KIN_9) | ||||
| #else | ||||
|   #define COUNT_KIN_10 COUNT_KIN_9 | ||||
| #endif | ||||
| #if COUNT_KIN_10 > 1 | ||||
|   #error "Please enable only one of DELTA, MORGAN_SCARA, MAKERARM_SCARA, COREXY, COREYX, COREXZ, COREZX, COREYZ, or COREZY." | ||||
|     + 1 | ||||
|   #endif | ||||
|   , "Please enable only one of DELTA, MORGAN_SCARA, MAKERARM_SCARA, COREXY, COREYX, COREXZ, COREZX, COREYZ, or COREZY." | ||||
| ); | ||||
| 
 | ||||
| /**
 | ||||
|  * Allen Key | ||||
| @ -950,124 +918,77 @@ | ||||
|  *       ELB_FULL_GRAPHIC_CONTROLLER => ULTIMAKERCONTROLLER | ||||
|  *       PANEL_ONE => ULTIMAKERCONTROLLER | ||||
|  */ | ||||
| #define COUNT_LCD_1 0 | ||||
| static_assert(1 >= 0 | ||||
|   #if ENABLED(ULTIMAKERCONTROLLER) \ | ||||
|       && DISABLED(SAV_3DGLCD) && DISABLED(miniVIKI) && DISABLED(VIKI2) \ | ||||
|       && DISABLED(ELB_FULL_GRAPHIC_CONTROLLER) && DISABLED(PANEL_ONE) | ||||
|   #define COUNT_LCD_2 INCREMENT(COUNT_LCD_1) | ||||
| #else | ||||
|   #define COUNT_LCD_2 COUNT_LCD_1 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) && DISABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) | ||||
|   #define COUNT_LCD_3 INCREMENT(COUNT_LCD_2) | ||||
| #else | ||||
|   #define COUNT_LCD_3 COUNT_LCD_2 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && DISABLED(BQ_LCD_SMART_CONTROLLER) | ||||
|   #define COUNT_LCD_4 INCREMENT(COUNT_LCD_3) | ||||
| #else | ||||
|   #define COUNT_LCD_4 COUNT_LCD_3 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(CARTESIO_UI) | ||||
|   #define COUNT_LCD_5 INCREMENT(COUNT_LCD_4) | ||||
| #else | ||||
|   #define COUNT_LCD_5 COUNT_LCD_4 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(PANEL_ONE) | ||||
|   #define COUNT_LCD_6 INCREMENT(COUNT_LCD_5) | ||||
| #else | ||||
|   #define COUNT_LCD_6 COUNT_LCD_5 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(MAKRPANEL) | ||||
|   #define COUNT_LCD_7 INCREMENT(COUNT_LCD_6) | ||||
| #else | ||||
|   #define COUNT_LCD_7 COUNT_LCD_6 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) | ||||
|   #define COUNT_LCD_8 INCREMENT(COUNT_LCD_7) | ||||
| #else | ||||
|   #define COUNT_LCD_8 COUNT_LCD_7 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(VIKI2) | ||||
|   #define COUNT_LCD_9 INCREMENT(COUNT_LCD_8) | ||||
| #else | ||||
|   #define COUNT_LCD_9 COUNT_LCD_8 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(miniVIKI) | ||||
|   #define COUNT_LCD_10 INCREMENT(COUNT_LCD_9) | ||||
| #else | ||||
|   #define COUNT_LCD_10 COUNT_LCD_9 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) | ||||
|   #define COUNT_LCD_11 INCREMENT(COUNT_LCD_10) | ||||
| #else | ||||
|   #define COUNT_LCD_11 COUNT_LCD_10 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(G3D_PANEL) | ||||
|   #define COUNT_LCD_12 INCREMENT(COUNT_LCD_11) | ||||
| #else | ||||
|   #define COUNT_LCD_12 COUNT_LCD_11 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(MINIPANEL) | ||||
|   #define COUNT_LCD_13 INCREMENT(COUNT_LCD_12) | ||||
| #else | ||||
|   #define COUNT_LCD_13 COUNT_LCD_12 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(REPRAPWORLD_KEYPAD) && DISABLED(CARTESIO_UI) | ||||
|   #define COUNT_LCD_14 INCREMENT(COUNT_LCD_13) | ||||
| #else | ||||
|   #define COUNT_LCD_14 COUNT_LCD_13 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(RIGIDBOT_PANEL) | ||||
|   #define COUNT_LCD_15 INCREMENT(COUNT_LCD_14) | ||||
| #else | ||||
|   #define COUNT_LCD_15 COUNT_LCD_14 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(RA_CONTROL_PANEL) | ||||
|   #define COUNT_LCD_16 INCREMENT(COUNT_LCD_15) | ||||
| #else | ||||
|   #define COUNT_LCD_16 COUNT_LCD_15 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(LCD_I2C_SAINSMART_YWROBOT) | ||||
|   #define COUNT_LCD_17 INCREMENT(COUNT_LCD_16) | ||||
| #else | ||||
|   #define COUNT_LCD_17 COUNT_LCD_16 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(LCM1602) | ||||
|   #define COUNT_LCD_18 INCREMENT(COUNT_LCD_17) | ||||
| #else | ||||
|   #define COUNT_LCD_18 COUNT_LCD_17 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(LCD_I2C_PANELOLU2) | ||||
|   #define COUNT_LCD_19 INCREMENT(COUNT_LCD_18) | ||||
| #else | ||||
|   #define COUNT_LCD_19 COUNT_LCD_18 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(LCD_I2C_VIKI) | ||||
|   #define COUNT_LCD_20 INCREMENT(COUNT_LCD_19) | ||||
| #else | ||||
|   #define COUNT_LCD_20 COUNT_LCD_19 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(U8GLIB_SSD1306) | ||||
|   #define COUNT_LCD_21 INCREMENT(COUNT_LCD_20) | ||||
| #else | ||||
|   #define COUNT_LCD_21 COUNT_LCD_20 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(SAV_3DLCD) | ||||
|   #define COUNT_LCD_22 INCREMENT(COUNT_LCD_21) | ||||
| #else | ||||
|   #define COUNT_LCD_22 COUNT_LCD_21 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(BQ_LCD_SMART_CONTROLLER) | ||||
|   #define COUNT_LCD_23 INCREMENT(COUNT_LCD_22) | ||||
| #else | ||||
|   #define COUNT_LCD_23 COUNT_LCD_22 | ||||
|     + 1 | ||||
|   #endif | ||||
|   #if ENABLED(SAV_3DGLCD) | ||||
|   #define COUNT_LCD_24 INCREMENT(COUNT_LCD_23) | ||||
| #else | ||||
|   #define COUNT_LCD_24 COUNT_LCD_23 | ||||
| #endif | ||||
| #if COUNT_LCD_24 > 1 | ||||
|   #error "Please select no more than one LCD controller option." | ||||
|     + 1 | ||||
|   #endif | ||||
|   , "Please select no more than one LCD controller option." | ||||
| ); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user