Example #1
0
BOOL sentStrategyRobotPosition(unsigned char status, unsigned int x, unsigned int y, int angleInDeciDegree) {
	OutputStream* debugOutputStream = getOutputStreamLogger(INFO);
	appendString(debugOutputStream, "sentStrategyRobotPosition:");

    OutputStream* outputStream = getDriverRequestOutputStream();

    append(outputStream, COMMAND_STRATEGY_SET_ROBOT_POSITION);
    appendHex2(outputStream, status);
    appendSeparator(outputStream);

    appendHex4(outputStream, x);
    appendSeparator(outputStream);

    appendHex4(outputStream, y);
    appendSeparator(outputStream);

    appendHex4(outputStream, angleInDeciDegree);

	appendStringAndDec(debugOutputStream, "status=", status);
	appendStringAndDec(debugOutputStream, ", x=", x);
	appendStringAndDec(debugOutputStream, ", y=", y);
	appendStringAndDec(debugOutputStream, ", angle=", angleInDeciDegree);
	println(debugOutputStream);

    BOOL result = transmitFromDriverRequestBuffer();

    return result;
}
Example #2
0
void deviceColorSensorHandleRawData(unsigned char commandHeader, InputStream* inputStream, OutputStream* outputStream, OutputStream* notificationOutputStream) {
    if (commandHeader == COMMAND_COLOR_SENSOR_READ) {
        ackCommand(outputStream, COLOR_SENSOR_DEVICE_HEADER, COMMAND_COLOR_SENSOR_READ);
        Color* color = colorSensor->colorSensorReadValue(colorSensor);
        appendHex4(outputStream, color->R);
        appendSeparator(outputStream);
        appendHex4(outputStream, color->G);
        appendSeparator(outputStream);
        appendHex4(outputStream, color->B);
    }
    else if (commandHeader == COMMAND_COLOR_SENSOR_READ_TYPE) {
        ackCommand(outputStream, COLOR_SENSOR_DEVICE_HEADER, COMMAND_COLOR_SENSOR_READ_TYPE);
        enum ColorType colorType = colorSensor->colorSensorFindColorType(colorSensor);
        appendHex2(outputStream, colorType);
    }
    else if (commandHeader == COMMAND_COLOR_SENSOR_DEBUG) {
        ackCommand(outputStream, COLOR_SENSOR_DEVICE_HEADER, COMMAND_COLOR_SENSOR_DEBUG);
        OutputStream* debugOutputStream = getInfoOutputStreamLogger();
        printColorSensorTable(debugOutputStream, colorSensor);
    }
    /** Only for PC */
    else if (commandHeader == COMMAND_COLOR_SENSOR_WRITE) {
        ackCommand(outputStream, COLOR_SENSOR_DEVICE_HEADER, COMMAND_COLOR_SENSOR_WRITE);
        colorSensor->color->R = readHex4(inputStream);
        checkIsSeparator(inputStream);
        colorSensor->color->G = readHex4(inputStream);
        checkIsSeparator(inputStream);
        colorSensor->color->B = readHex4(inputStream);
    }
}
void notifyAbsolutePositionWithoutHeader(OutputStream* outputStream) {
    Position* p = getPosition();
    appendHexFloat4(outputStream, p->pos.x, 1);
    appendSeparator(outputStream);
    appendHexFloat4(outputStream, p->pos.y, 1);
    appendSeparator(outputStream);
    appendHexFloat4(outputStream, p->orientation / PI_DIVIDE_1800, 1);
}
Example #4
0
    bool havePathDependencySameAbfType(const AbstractBaseFolder& other) const override
    {
        const Zstring& lhs = appendSeparator(baseDirPath);
        const Zstring& rhs = appendSeparator(static_cast<const NativeBaseFolder&>(other).baseDirPath);

        const size_t lenMin = std::min(lhs.length(), rhs.length());

        return cmpFilePath(lhs.c_str(), lenMin, rhs.c_str(), lenMin) == 0; //note: don't make this an equivalence relation!
    }
Example #5
0
const char* ARMv7DOpcodeAddSubtractImmediate3::format()
{
    appendInstructionName(opName(), !inITBlock());
    appendRegisterName(rd());
    appendSeparator();
    appendRegisterName(rn());
    appendSeparator();
    appendUnsignedImmediate(immediate3());

    return m_formatBuffer;
}
Example #6
0
const char* ARMv7DOpcodeAddSubtractT1::format()
{
    appendInstructionName(opName(), !inITBlock());
    appendRegisterName(rd());
    appendSeparator();
    appendRegisterName(rn());
    appendSeparator();
    appendRegisterName(rm());

    return m_formatBuffer;
}
Example #7
0
const char* ARMv7DOpcodeMiscAddSubSP::format()
{
    appendInstructionName(opName());
    appendRegisterName(RegSP);
    appendSeparator();
    appendRegisterName(RegSP);
    appendSeparator();
    appendUnsignedImmediate(immediate7());

    return m_formatBuffer;
}
Example #8
0
const char* ARMv7DOpcodeAddSPPlusImmediate::format()
{
    appendInstructionName("add");
    appendRegisterName(rd());
    appendSeparator();
    appendRegisterName(RegSP);
    appendSeparator();
    appendUnsignedImmediate(immediate8());

    return m_formatBuffer;
}
Example #9
0
const char* ARMv7DOpcodeLoadStoreRegisterOffsetT1::format()
{
    appendInstructionName(opName());
    appendRegisterName(rt());
    appendSeparator();
    appendCharacter('[');
    appendRegisterName(rn());
    appendSeparator();
    appendRegisterName(rm());
    appendCharacter(']');

    return m_formatBuffer;
}
Example #10
0
const char* ARMv7DOpcodeDataProcessingRegisterT1::format()
{
    appendInstructionName(opName(), inITBlock() && (!(op() == 0x8) || (op() == 0xa) || (op() == 0xb)));
    appendRegisterName(rdn());
    appendSeparator();
    appendRegisterName(rm());
    if (op() == 0x9) // rsb T1
        appendString(", #0");
    else if (op() == 0xd) { // mul T1
        appendSeparator();
        appendRegisterName(rdn());
    }

    return m_formatBuffer;
}
Example #11
0
const char* ARMv7DOpcodeLoadStoreRegisterSPRelative::format()
{
    appendInstructionName(opName());
    appendRegisterName(rt());
    appendSeparator();
    appendCharacter('[');
    appendRegisterName(RegSP);
    if (immediate8()) {
        appendSeparator();
        appendUnsignedImmediate(immediate8() << 2);
    }
    appendCharacter(']');

    return m_formatBuffer;
}
Example #12
0
const char* ARMv7DOpcodeGeneratePCRelativeAddress::format()
{
    appendInstructionName("adr");
    appendRegisterName(rd());
    appendSeparator();
    appendPCRelativeOffset(static_cast<int32_t>(immediate8()));

    return m_formatBuffer;
}
Example #13
0
const char* ARMv7DOpcodeCompareImmediateT1::format()
{
    appendInstructionName("cmp");
    appendRegisterName(rn());
    appendSeparator();
    appendUnsignedImmediate(immediate8());

    return m_formatBuffer;
}
Example #14
0
const char* ARMv7DOpcodeAddRegisterT2::format()
{
    appendInstructionName("add");
    appendRegisterName(rdn());
    appendSeparator();
    appendRegisterName(rm());

    return m_formatBuffer;
}
Example #15
0
const char* ARMv7DOpcodeMoveImmediateT1::format()
{
    appendInstructionName("mov", !inITBlock());
    appendRegisterName(rd());
    appendSeparator();
    appendUnsignedImmediate(immediate8());

    return m_formatBuffer;
}
Example #16
0
const char* ARMv7DOpcodeMoveRegisterT1::format()
{
    appendInstructionName("mov");
    appendRegisterName(rd());
    appendSeparator();
    appendRegisterName(rm());

    return m_formatBuffer;
}
Example #17
0
const char* ARMv7DOpcodeLoadFromLiteralPool::format()
{
    appendInstructionName("ldr");
    appendRegisterName(rt());
    appendSeparator();
    appendPCRelativeOffset(static_cast<int32_t>(immediate8()));

    return m_formatBuffer;
}
Example #18
0
const char* ARMv7DOpcodeCompareRegisterT2::format()
{
    appendInstructionName("compare");
    appendRegisterName(rn());
    appendSeparator();
    appendRegisterName(rm());

    return m_formatBuffer;
}
Example #19
0
BOOL motionDriverBSplineAbsolute(float x, float y, float angle, float dist0, float dist1, int accelerationFactor, int speedFactor) {
    OutputStream* outputStream = getDriverRequestOutputStream();
    append(outputStream, COMMAND_MOTION_SPLINE_ABSOLUTE);
    appendHex4(outputStream, x);
    appendSeparator(outputStream);
    appendHex4(outputStream, y);
    appendSeparator(outputStream);
    appendHex4(outputStream, angle);
    appendSeparator(outputStream);
    appendHex2(outputStream, dist0);
    appendSeparator(outputStream);
    appendHex2(outputStream, dist1);
    appendSeparator(outputStream);
    appendHex(outputStream, accelerationFactor);
    appendHex(outputStream, speedFactor);

    BOOL result = transmitFromDriverRequestBuffer();

    return result;
}
Example #20
0
const char* ARMv7DOpcodeLoadStoreRegisterImmediate::format()
{
    const char* instructionName = opName();

    if (!instructionName)
        return defaultFormat();

    appendInstructionName(opName());
    appendRegisterName(rt());
    appendSeparator();
    appendCharacter('[');
    appendRegisterName(rn());
    if (immediate5()) {
        appendSeparator();
        appendUnsignedImmediate(immediate5() << scale());
    }
    appendCharacter(']');

    return m_formatBuffer;
}
Example #21
0
const char* ARMv7DOpcodeLogicalImmediateT1::format()
{
    if (!op() && !immediate5()) {
        // mov T2
        appendInstructionName("movs");
        appendRegisterName(rd());
        appendSeparator();
        appendRegisterName(rm());

        return m_formatBuffer;
    }

    appendInstructionName(opName(), !inITBlock());
    appendRegisterName(rd());
    appendSeparator();
    appendRegisterName(rm());
    appendSeparator();
    appendUnsignedImmediate((op() && !immediate5()) ? 32 : immediate5());

    return m_formatBuffer;
}
unsigned int appendMotionEndDetectionStatusRegister(OutputStream* outputStream, MotionEndDetectionStatusRegister motionEndDetectionStatusRegister) {
    if (motionEndDetectionStatusRegister.absAccelerationTooHighThanExpected) {
        append(outputStream, 'A');
    }
    else {
        appendSeparator(outputStream);
    }
    if (motionEndDetectionStatusRegister.absSpeedTooLowThanExpected) {
        append(outputStream, 'S');
    }
    else {
        appendSeparator(outputStream);
    }
    if (motionEndDetectionStatusRegister.absUTooHighThanExpected) {
        append(outputStream, 'U');
    }
    else {
        appendSeparator(outputStream);
    }
    // Length of written chars
    return 3;
}
Example #23
0
GeneralMenu::GeneralMenu()
: MenuWindow(0, 0, AUTOSIZE, AUTOSIZE)
{
  setColorScheme("generalmenu");

  appendItem(_("Change status"), sigc::mem_fun(this,
        &GeneralMenu::openStatusWindow));
  appendItem(_("Accounts..."), sigc::mem_fun(this,
        &GeneralMenu::openAccountWindow));
  appendItem(_("Add buddy..."), sigc::mem_fun(this,
        &GeneralMenu::openAddBuddyRequest));
  appendItem(_("Add chat..."), sigc::mem_fun(this,
        &GeneralMenu::openAddChatRequest));
  appendItem(_("Add group..."), sigc::mem_fun(this,
        &GeneralMenu::openAddGroupRequest));
  appendItem(_("Pending requests..."), sigc::mem_fun(this,
        &GeneralMenu::openPendingRequests));
  appendItem(_("Config options..."), sigc::mem_fun(this,
        &GeneralMenu::openOptionWindow));
  appendItem(_("Plugins..."), sigc::mem_fun(this,
        &GeneralMenu::openPluginWindow));
  appendSeparator();
#ifdef DEBUG
  MenuWindow *submenu = new MenuWindow(0, 0, AUTOSIZE, AUTOSIZE);
  submenu->setColorScheme("generalmenu");
  submenu->appendItem("Request input", sigc::mem_fun(this,
        &GeneralMenu::openRequestInputTest));
  submenu->appendItem("Request choice", sigc::mem_fun(this,
        &GeneralMenu::openRequestChoiceTest));
  submenu->appendItem("Request action", sigc::mem_fun(this,
        &GeneralMenu::openRequestActionTest));
  submenu->appendItem("Request fields", sigc::mem_fun(this,
        &GeneralMenu::openRequestFieldsTest));
  appendSubMenu("Debug...", *submenu);
  appendSeparator();
#endif // DEBUG
  appendItem(_("Quit"), sigc::hide(sigc::mem_fun(CENTERIM,
          &CenterIM::quit)));
}
Example #24
0
const char* ARMv7DOpcodeMiscByteHalfwordOps::format()
{
    const char* instructionName = opName();

    if (!instructionName)
        return defaultFormat();

    appendInstructionName(instructionName);
    appendRegisterName(rd());
    appendSeparator();
    appendRegisterName(rm());

    return m_formatBuffer;
}
Example #25
0
void ARMv7DOpcode::appendRegisterList(unsigned registers)
{
    unsigned numberPrinted = 0;

    appendCharacter('{');

    for (unsigned i = 0; i < 16; i++) {
        if (registers & (1 << i)) {
            if (numberPrinted++)
                appendSeparator();
            appendRegisterName(i);
        }
    }

    appendCharacter('}');
}
Example #26
0
void BuddyListNode::ContextMenu::appendExtendedMenu()
{
  GList *ll = purple_blist_node_get_extended_menu(
      parent_node->getPurpleBlistNode());
  for (GList *l = ll; l; l = l->next) {
    PurpleMenuAction *act = reinterpret_cast<PurpleMenuAction*>(l->data);
    appendMenuAction(*this, act);
  }

  if (ll) {
    // append a separator because there has been some items
    appendSeparator();
  }

  g_list_free(ll);
}
Example #27
0
BOOL sendStrategyOpponentRobotPosition(Point* opponentRobotPosition) {
	OutputStream* debugOutputStream = getOutputStreamLogger(INFO);
	appendString(debugOutputStream, "sendStrategyOpponentRobotPosition: ");

    OutputStream* outputStream = getDriverRequestOutputStream();

    append(outputStream, COMMAND_STRATEGY_SET_OPPONENT_ROBOT_POSITION);
    appendHex4(outputStream, opponentRobotPosition->x);
    appendSeparator(outputStream);
    appendHex4(outputStream, opponentRobotPosition->y);

	appendStringAndDec(debugOutputStream, " x=", opponentRobotPosition->x);
	appendStringAndDec(debugOutputStream, ", y=", opponentRobotPosition->y);
	println(debugOutputStream);

    BOOL result = transmitFromDriverRequestBuffer();

    return result;
}
Example #28
0
void BuddyListNode::ContextMenu::appendProtocolMenu(PurpleConnection *gc)
{
  PurplePluginProtocolInfo *prpl_info
    = PURPLE_PLUGIN_PROTOCOL_INFO(purple_connection_get_prpl(gc));
  if (!prpl_info || !prpl_info->blist_node_menu)
    return;

  GList *ll = prpl_info->blist_node_menu(parent_node->getPurpleBlistNode());
  for (GList *l = ll; l; l = l->next) {
    PurpleMenuAction *act = reinterpret_cast<PurpleMenuAction*>(l->data);
    appendMenuAction(*this, act);
  }

  if (ll) {
    // append a separator because there has been some items
    appendSeparator();
  }

  g_list_free(ll);
}
Example #29
0
    //used during folder creation if parent folder is missing
    Opt<Zstring> getParentFolderPathImpl(const Zstring& itemPathImpl) const override
    {
#ifdef ZEN_WIN
        //remove trailing separator (even for C:\ root directories)
        const Zstring itemPathFmt = endsWith(itemPathImpl, FILE_NAME_SEPARATOR) ?
                                    beforeLast(itemPathImpl, FILE_NAME_SEPARATOR, IF_MISSING_RETURN_NONE) :
                                    itemPathImpl;

        const Zstring parentDir = beforeLast(itemPathFmt, FILE_NAME_SEPARATOR, IF_MISSING_RETURN_NONE);
        if (parentDir.empty())
            return NoValue();
        if (parentDir.size() == 2 && isAlpha(parentDir[0]) && parentDir[1] == L':')
            return appendSeparator(parentDir);

#elif defined ZEN_LINUX || defined ZEN_MAC
        if (itemPathImpl == "/")
            return NoValue();

        const Zstring parentDir = beforeLast(itemPathImpl, FILE_NAME_SEPARATOR, IF_MISSING_RETURN_NONE);
        if (parentDir.empty())
            return Zstring("/");
#endif
        return parentDir;
    }
Example #30
0
 std::unique_ptr<RecycleSession> createRecyclerSession() const override //throw FileError, return value must be bound!
 {
     initComForThread(); //throw FileError
     assert(supportsRecycleBin(nullptr));
     return std::make_unique<RecycleSessionNative>(appendSeparator(baseDirPath));
 }