Ejemplo n.º 1
0
      string humanReadableTime::toString() const
      {
         string output;

         if (value == 0)
            {
               output = "0 seconds";
            }
         else 
            {
               output += convertToString<t_ullong>(value);
	       unitToString(value_unit, value, output);
            } // value > 0

         if (remainder > 0)
            {
               output += ", ";
               output += convertToString<unsigned long>(remainder);

	       unitToString(remainder_unit, remainder, output);

            } // remainder > 0

         return output;
      }
Ejemplo n.º 2
0
/// Converts this command to a strings
QString SelectionCommand::toString()
{
    return QString("SelectionCommand(%1)").arg( unitToString(unit_) );
}
Ejemplo n.º 3
0
// Interprets commands from Linino for controlling the thermostat and touchscreen
void processCommands(TempControl *tc, ScreenControl *sc) {
  if(isStreaming && (millis() - lastStreamTime) > STREAM_DELAY) {
    isStreaming = false;
    sc->clearTouch();
    sc->hideApp(false, false);
  }
//  Serial.println("processing...");
  while(Serial1.available() > 0) {
    memset(buff_ptr, 0x00, COMMAND_BUFFER_SIZE);
    int numBytes;
    Serial1.readBytes(buff_ptr, 1);
    switch(buff_ptr[0]) {
      case GET_TEMP:
        numBytes = readPacket();
        buff_ptr[6] = tc->getRoomTemp();
        buff_ptr[8] = tc->getTargetTemp();
        Serial1.print(String(GET_TEMP));
        Serial1.write((uint8_t *)(buff_ptr + 6), 4);
        Serial1.println();
        break;
      case GET_MODE:
        numBytes = readPacket();
        Serial1.println(String(GET_MODE) + modeToString(tc));
        break;
      case GET_UNIT:
        numBytes = readPacket();
        Serial1.println(String(GET_UNIT) + unitToString(tc));
        break;
      case IS_ON:
        numBytes = readPacket();
        Serial1.println(String(IS_ON) + isOnToString(tc));
        break;
      case SET_TARGET_TEMP:
        numBytes = readPacket();
        tc->setTargetTemp(unpackNumber(buff_ptr, 3, 2));
        Serial1.println(String(SET_TARGET_TEMP));
        break;
      case SWITCH:
        numBytes = readPacket();
        Serial1.println(String(SWITCH));
        switch(buff_ptr[3]) {
          case SWITCH_MODE:
            tc->switchMode();
            break;
          case SWITCH_UNIT:
            tc->switchUnit();
            break;
          case SWITCH_FAN:
            tc->switchFan();
            break;
        }
        break;
      case WRITE_TEXT:
        numBytes = readPacket();
        Serial1.println(String(WRITE_TEXT));
        buff_ptr[numBytes + 3] = '\0';
        sc->layerMode(2);
        sc->writeText(unpackNumber(buff_ptr, 3, 2), unpackNumber(buff_ptr, 5, 2),
                            unpackNumber(buff_ptr, 7, 2), unpackNumber(buff_ptr, 9, 2),
                            unpackNumber(buff_ptr, 11, 1), buff_ptr+12);
        sc->layerMode(1);
        break;
      case STREAM_IMAGE:
        numBytes = readPacket();
        sc->hideApp(true, true);
        sc->layerMode(2);
        sc->drawImage((uint16_t *) (buff_ptr + 11), (numBytes - 8) / 2, unpackNumber(buff_ptr, 3, 2), unpackNumber(buff_ptr, 5, 2),
                      unpackNumber(buff_ptr, 7, 2), unpackNumber(buff_ptr, 9, 2));
        Serial1.println(String(STREAM_IMAGE));
        sc->layerMode(1);
        lastStreamTime = millis();
        if(!isStreaming) {
          isStreaming = true;
        }
        break;
      case CLEAR_APP:
        numBytes = readPacket();
        sc->clearApp();
        Serial1.println(String(CLEAR_APP));
        break;
      case APP_TOUCH:
        numBytes = readPacket();
        if(sc->appTouched) {
          buff_ptr[6] = sc->appX;
          buff_ptr[8] = sc->appY;
          Serial1.print(String(APP_TOUCH));
          Serial1.write((uint8_t *)(buff_ptr + 6), 4);
          Serial1.println();
          sc->appTouched = false;
        } else {
          Serial1.println(String(APP_TOUCH) + "X");
        }
        break;
      case SET_IP:
        numBytes = readPacket();
        strcpy(sc->ipaddr, buff_ptr + 3);
        Serial1.println(String(SET_IP));
        break;
      default:
        Serial.println("Error: no such command");
        numBytes = Serial1.readBytes(buff_ptr, COMMAND_BUFFER_SIZE);
    }
  }
}
Ejemplo n.º 4
0
QString Duration::format(Unit unit, int pres) const
{
    /* FIXME if necessary
    return i18nc( "<duration><unit>", "%1%2", QLocale().toString(toDouble(unit), 'f', pres), unitToString(unit) );*/
    return QLocale().toString( toDouble( unit ), 'f', pres ) + unitToString( unit );
}