Example #1
0
BoilerState GetBoilerState()
{
  BoilerState boilerState;

  boilerState.level = uGetBoilLevel();
  if (boilerState.level == HIGH)
    sprintf(boilerState.levelStr, "Level HIGH");
  else if (boilerState.level == LOW)
    sprintf(boilerState.levelStr, "Level LOW");

  boilerState.boil_state = ucGetBoilState();

  if (boilerState.boil_state ==  BOILING)
    sprintf(boilerState.boilStateStr, "Boiling");
  else if (boilerState.boil_state == WAITING_FOR_COMMAND)
    sprintf(boilerState.boilStateStr, "Boiler Waiting");
  else if (boilerState.boil_state == AUTO_BOILING)
    sprintf(boilerState.boilStateStr, "Auto-Boiling");
  else if (boilerState.boil_state == OFF)
    sprintf(boilerState.boilStateStr, "Boil OFF");

  boilerState.duty = uiGetADCBoilDuty();
  sprintf(boilerState.dutyStr, "%d", boilerState.duty);

  return boilerState;
}
Example #2
0
void vCheckTask(void *pvParameters)
{
  char buf[50];
  char pcBrewElapsedTime[50], pcStepElapsedTime[50];
  char pcBrewElapsedHours[50], pcBrewElapsedMinutes[50], pcBrewElapsedSeconds[50], pcBrewStep[50];
  char pcBrewStepElapsedHours[50], pcBrewStepElapsedMinutes[50], pcBrewStepElapsedSeconds[50], pcMashTemp[50], pcHLTTemp[50];
  char pcChillerPumpState[50], pcBoilState[50], pcHeapRemaining[50], pcBrewState[50], pcBoilDuty[50], pcLitresDelivered[50];
  int ii = 0;
  char upper_limit = 255, lower_limit = 255;
  unsigned int touch, hops, ds1820, timer, litres, check, low_level = 90, heap, print, serial, serialcontrol;
  unsigned int display_applet, stats_applet, res_applet, graph_applet, brew_task;
  static char cBuf[80];
  for (;;){

      touch = uxTaskGetStackHighWaterMark(xTouchTaskHandle);

      ds1820 =  uxTaskGetStackHighWaterMark(xDS1820TaskHandle);
      timer = uxTaskGetStackHighWaterMark(xTimerSetupHandle);
      litres = uxTaskGetStackHighWaterMark(xLitresToBoilHandle);
      print = uxTaskGetStackHighWaterMark(xPrintTaskHandle);
      hops = uxTaskGetStackHighWaterMark(xHopsTaskHandle);
      check = uxTaskGetStackHighWaterMark(NULL);
      serial = uxTaskGetStackHighWaterMark(xSerialHandlerTaskHandle);
      serialcontrol = uxTaskGetStackHighWaterMark(xSerialControlTaskHandle);
      heap = xPortGetFreeHeapSize();
      display_applet =  uiGetBrewAppletDisplayHWM();
      res_applet =  uiGetBrewResAppletHWM();
      stats_applet =  uiGetBrewStatsAppletHWM();
      graph_applet =  uiGetBrewGraphAppletHWM();
      brew_task =  uiGetBrewTaskHWM();



      sprintf(pcBrewElapsedHours, "4D51E338F02649DFA173631622024A90:%02u\r\n\0", ucGetBrewHoursElapsed());
      vConsolePrint(pcBrewElapsedHours);
      vTaskDelay(80);
      sprintf(pcBrewElapsedMinutes, "99A2038A62BF47E7BFB1922A43C0825C:%02u\r\n\0", ucGetBrewMinutesElapsed());
      vConsolePrint(pcBrewElapsedMinutes);
      vTaskDelay(80);
      sprintf(pcBrewElapsedSeconds, "E9C4FDDEDEBC41D7AC3A3F4C636759A2:%02u\r\n\0", ucGetBrewSecondsElapsed());
      vConsolePrint(pcBrewElapsedSeconds);
      vTaskDelay(80);
      sprintf(pcBrewStep, "1308CA31CAEE4A9A8AC5B353F5ACB594:%02u\r\n\0", ucGetBrewStep());
      vConsolePrint(pcBrewStep);
      vTaskDelay(80);
      sprintf(pcBrewStepElapsedSeconds, "02BA9C74C1384C069ECB648C3CEFFCBA:%02u\r\n\0", ucGetBrewStepSecondsElapsed());
      vConsolePrint(pcBrewStepElapsedSeconds);
      vTaskDelay(80);
      sprintf(pcBrewStepElapsedMinutes, "35C22A915227449C8F2A740F2C26B344:%02u\r\n\0", ucGetBrewStepMinutesElapsed());
      vConsolePrint(pcBrewStepElapsedMinutes);
      vTaskDelay(80);
      sprintf(pcMashTemp, "E21DFC36AFB24226A323D7931B6A1F30:%02u\r\n\0", (unsigned int)floor(ds1820_get_temp(MASH)));
      vConsolePrint(pcMashTemp);
      vTaskDelay(50);
      sprintf(pcHLTTemp, "81A73894E64546868F39EE1758D459AD:%02u\r\n\0", (unsigned int)floor(ds1820_get_temp(HLT)));
      vConsolePrint(pcHLTTemp);
      vTaskDelay(50);
      sprintf(pcChillerPumpState, "461F715060F5468883F6F8500CEAA4BC:%02u\r\n\0", ucGetChillerPumpState());
      vConsolePrint(pcChillerPumpState);
      vTaskDelay(80);
      sprintf(pcBoilState, "60140A1EB194439B8C9A198355FD93AA:%02u\r\n\0", ucGetBoilState());
      vConsolePrint(pcBoilState);
      vTaskDelay(80);
      sprintf(pcBrewState, "FB46F7E5DF914AF1816035EC02DEE0DC:%02u\r\n\0", ucGetBrewState());
      vConsolePrint(pcBrewState);
      vTaskDelay(80);
      sprintf(pcBoilDuty, "F066509116CA43F7B6845C8E2EBA69FA:%02u\r\n\0", uiGetBoilDuty());
      vConsolePrint(pcBoilDuty);
      vTaskDelay(80);
      sprintf(pcLitresDelivered, "3AEE6966D7664AA4BE05BBBBF48E2836:%02u\r\n\0", uiGetActualLitresDelivered());
            vConsolePrint(pcLitresDelivered);
            vTaskDelay(80);




      lower_limit = cI2cGetInput(CRANE_LOWER_LIMIT_PORT, CRANE_LOWER_LIMIT_PIN);
      upper_limit = cI2cGetInput(CRANE_UPPER_LIMIT_PORT, CRANE_UPPER_LIMIT_PIN);

      sprintf(buf, "BD52AA172CAE4F58A11EC35872EFEB99:%d \r \n", ii++%1024);
      sprintf(pcHeapRemaining, "*Heap:%u*low=%d,up=%d\r\n\0", heap, lower_limit, upper_limit);
      vConsolePrint(pcHeapRemaining);
      vTaskDelay(80);
      vConsolePrint(buf);

       if (touch < low_level ||
           timer < low_level ||
           litres < low_level||
           print < low_level ||
           hops < low_level ||
           check < low_level||
           display_applet < low_level ||
           res_applet < low_level ||
           stats_applet < low_level ||
           graph_applet < low_level ||
           brew_task < low_level)


        {
          //vTaskSuspendAll();
          vConsolePrint("=============================\r\n");
          sprintf(cBuf,"check task: idle ticks = %d\r\n", ulIdleCycleCount);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "touchwm = %d\r\n", touch);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "DS1820wm = %d\r\n", ds1820);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "TimerSetupwm = %d\r\n", timer);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "litreswm = %d\r\n", litres);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "hopswm = %d\r\n", hops);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "check = %d\r\n", check);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "serial = %d\r\n", serial);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "serialcontrol = %d\r\n", serialcontrol);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "brewtask = %d\r\n", brew_task);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "stats = %d\r\n", stats_applet);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "res = %d\r\n", res_applet);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "graph = %d\r\n", graph_applet);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "brew_display = %d\r\n", display_applet);
          vConsolePrint(cBuf);
          vTaskDelay(80);
          sprintf(cBuf, "print = %d\r\n", print);
          vConsolePrint(cBuf);
          vConsolePrint("=============================\r\n");
          //xTaskResumeAll();
          vTaskDelay(800);

        }
      vTaskDelay(800);
      taskYIELD();
  }
}