ЗИМНЯЯ ВСТРЕЧА 26
Форум самогонщиков Сайт Барахолка Магазин ЗИМНЯЯ ВСТРЕЧА 26

Перистальтический насос на 3D принтере

Форум самогонщиков Сделай сам
1 ... 46 47 48 49 49
Phisik Куратор Екатеринбург 734 1.5K
Отв.960  19 Нояб. 25, 21:43
invalid operands of types 'size_t {aka unsigned int}' and 'void' to binary 'operator-'Pavel_N, 19 Нояб. 25, 18:55
Это непонятное что-то, я вижу 2 варианта:
1) Либо какие-то символы или что-то неправильное. Скопируй строку сверху, где литры "L", а эту сотри, потом руками впишешь ml, если соберется.
2) В библиотеке print() не возвращает int. Надо библиотеку смотреть, что она там делает.
Pavel_N Новичок Московская обл 3
Отв.961  20 Нояб. 25, 22:25
Если закомментировать строки ( выделенные жирным). Компиляция проходит. Только скетч не работает. Не запоминает установки. Значит проблемы с библиотекой 1602 RUS. POS библиотека не понимает.

#if ENABLE_MODE_BOTTLING
   case MODE_BOTTLING:
      if (bottlingStepLimit == 0) {
         lcd.print(F("Bottling volume "));
         lcd.setCursor(0, 1);
         if(bottlingVolume>9999) {
     //pos += lcd.print(0.001*bottlingVolume);//****************
         //pos  += lcd.print(F(" L"));//*******************************
         //} else {//*******************************************
         //   pos += lcd.print(bottlingVolume);
         //   pos += lcd.print(F(" ml"));
         //}******************************************************
         while (pos++ < 16) lcd.write(32);
      }
      //else {
         const int progress = int(17.0*stepCounter / bottlingStepLimit);
         lcd.print(F("Pumping water "));
         (bottlingVolume > 0) ? lcd.print(F("+ ")) : lcd.print(F("- "));
         lcd.setCursor(0, 1);
         while (pos++ < progress) lcd.write(255);
         while (pos++ < 16) lcd.write(32);
         //DEBUG_PRINT("Target RPM = ");
         //DEBUG_PRINT(targetRpm);
         //DEBUG_PRINT(", current RPM = ");
         //DEBUG_PRINTLN(currentRpm);
      }
      return;
   #endif
   #if ENABLE_EXTERNAL_CONTROL
   case MODE_EXT_CONTROL:
      lcd.print(F("External control"));
      lcd.setCursor(0, 1);
      if (extControlDisabledFlag) {
         sprintf(buffer, "Stopped (%d%%)", int(extPwmDutyCycle * 100));
      } else {
         const int clph = round(currentRpm * revolution2millilitreCw * 0.6);  // 60 / 1000 * 10
         sprintf(buffer, "%d.%1d l/h (%d%%)", clph / 10, abs(clph % 10), int(extPwmDutyCycle * 100));
      }
 //  pos = lcd.print(buffer);       //  *************************************************************************************
      while (pos++ < 16) lcd.write(32);