-#define MIN_INTER_TIME (50*16) /* t~=50us dist=350cm */
-#define MAX_INTER_TIME (2000*16) /* t=2ms dist=20cm */
-
-/* xmit 2ms after virtual laser: must be < 32768 */
-#define IR_DELAY (2000*16)
-
-/* in ms */
-#define INTER_LASER_TIME 10
-
-//#define NO_MODULATION
-#define WAIT_LASER
+/* IR_DELAY **must** be < 32768 */
+#if (defined SPEED_10RPS)
+#define MIN_INTER_TIME ((uint16_t)(160*2)) /* t~=160us dist=350cm */
+#define MAX_INTER_TIME ((uint16_t)(8000*2)) /* t=8ms dist=10cm */
+#define IR_DELAY ((uint16_t)(8000*2))
+#define INTER_LASER_TIME 30 /* in ms */
+#elif (defined SPEED_40RPS)
+#define MIN_INTER_TIME ((uint16_t)(40*16)) /* t~=40us dist=350cm */
+#define MAX_INTER_TIME ((uint16_t)(2000*16)) /* t=2ms dist=10cm */
+#define IR_DELAY ((uint16_t)(2000*16))
+#define INTER_LASER_TIME 10 /* in ms */
+#else
+#error "speed not defined"
+#endif