Exemple #1
0
void EFX::calculatePoint(Function::Direction direction, int startOffset, qreal iterator, qreal* x, qreal* y) const
{
    iterator = calculateDirection(direction, iterator);
    iterator += convertOffset(startOffset + m_startOffset);

    if (iterator >= M_PI * 2.0)
        iterator -= M_PI * 2.0;

    calculatePoint(iterator, x, y);
}
Exemple #2
0
void EFX::calculatePoint(Function::Direction direction, int startOffset, float iterator, float* x, float* y) const
{
    iterator = calculateDirection(direction, iterator);
    iterator += convertOffset(startOffset + getAttributeValue(StartOffset));

    if (iterator >= M_PI * 2.0)
        iterator -= M_PI * 2.0;

    calculatePoint(iterator, x, y);
}
Exemple #3
0
String Location::key(unsigned flags) const
{
    if (isNull())
        return String();
    int extra = 0;
    const int off = offset();
    int line = 0, col = 0;
    if (flags & Location::Padded) {
        extra = 7;
    } else if (flags & Location::ShowLineNumbers && convertOffset(line, col)) {
        extra = RTags::digits(line) + RTags::digits(col) + 3;
    } else {
        flags &= ~Location::ShowLineNumbers;
        extra = RTags::digits(off) + 1;
    }
    String ctx;
    if (flags & Location::ShowContext) {
        ctx += '\t';
        ctx += context();
        extra += ctx.size();
    }

    const Path p = path();

    String ret(p.size() + extra, '0');

    if (flags & Location::Padded) {
        snprintf(ret.data(), ret.size() + extra + 1, "%s,%06d%s", p.constData(),
                 off, ctx.constData());
    } else if (flags & Location::ShowLineNumbers) {
        snprintf(ret.data(), ret.size() + extra + 1, "%s:%d:%d:%s", p.constData(),
                 line, col, ctx.constData());
    } else {
        snprintf(ret.data(), ret.size() + extra + 1, "%s,%d%s", p.constData(),
                 off, ctx.constData());
    }
    return ret;
}
Exemple #4
0
void main(void) {

    /* Configure the oscillator for the device */
    ConfigureOscillator();



    /* Initialize I/O and Peripherals for application */
    InitApp();

    resetCS();

    startCSConversion();

    line1();
    writeLCD("START CALIBRATION");

    calibration();

    writeRegister(MODE, 0x00006000);
    writeRegister(VOLTAGE_GAIN, 0x2F9000);
    writeRegister(CURRENT_GAIN, 0x3Fe0000);

    startCSConversion();
    while (1) {
        uint24_t status = readRegister(STATUS_REG);
        line2();
        if (!(status & 0x1)) {
            convertExe(status);
            writeLCD(buffer);
            resetCS();
            startCSConversion();
            continue;
        }
        double readVal;
        const char * measure;
        switch (showStatus) {
            case ssConf:
                data.lData = readRegister(showStatus);
                sprintf(buffer, "%02X%02X%02X    ", data.bytes[2], data.bytes[1], data.bytes[0]);
                measure = "CONF    ";
                break;
            case ssCycleCount:
                data.lData = readRegister(showStatus);
                sprintf(buffer, "%d    ", data.lData);
                measure = "CYCLE    ";
                break;
            case ssStatus:
                data.lData = readRegister(showStatus);
                sprintf(buffer, "%02X%02X%02X    ", data.bytes[2], data.bytes[1], data.bytes[0]);
                measure = "STATUS    ";
                break;
            case ssMode:
                data.lData = readRegister(showStatus);
                sprintf(buffer, "%02X%02X%02X    ", data.bytes[2], data.bytes[1], data.bytes[0]);
                measure = "MODE    ";
                break;
            case ssTemperature:
                data.lData = readRegister(showStatus);
                sprintf(buffer, "%02X%02X%02X    ", data.bytes[2], data.bytes[1], data.bytes[0]);
                measure = "TEMP    ";
                break;
            case ssCurrentGain:
                data.lData = readRegister(showStatus);
                readVal = convertCurrentGain(data.lData);
                measure = "I GAIN  ";
                sprintf(buffer, "%f    ", readVal);
                break;
            case ssVoltageOffset:
                data.lData = readRegister(showStatus);
                readVal = convertOffset(data.lData);
                measure = "VDC offset";
                sprintf(buffer, "%f    ", readVal);
                break;
            case ssVoltageGain:
                data.lData = readRegister(showStatus);
                readVal = convertCurrentGain(data.lData);
                measure = "V GAIN  ";
                sprintf(buffer, "%f    ", readVal);
                break;
            case ssVoltageAcOffset:
                data.lData = readRegister(showStatus);
                readVal = convertOffset(data.lData);
                measure = "VAC offset";
                sprintf(buffer, "%f    ", readVal);
                break;

            case ssCurrent:
                data.lData = readRegister(showStatus);
                readVal = convertCurrent(data.lData);
                measure = "CURRENT ";
                sprintf(buffer, "%f    ", readVal);
                break;
            case ssVolt:
                data.lData = readRegister(INST_VOLT);
                readVal = convertInstVolt(data.lData);
                measure = "VOLT    ";
                sprintf(buffer, "%f    ", readVal);
                break;
            case ssRMSVoltage:
                data.lData = readRegister(ssRMSVoltage);
                readVal = convertRMSVolt(data.lData);
                sprintf(buffer, "%f    ", readVal);
                measure = "RMS VOLT";
                break;
            case ssRMSCurrent:
                data.lData = readRegister(ssRMSCurrent);
                readVal = convertRMSCurrent(data.lData);
                sprintf(buffer, "%f    ", readVal);
                measure = "RMS I";
                break;
            case ssPower:
                data.lData = readRegister(INST_POWER);
                readVal = convertPower(data.lData);
                measure = "I POWER  ";
                sprintf(buffer, "%f    ", readVal);
                break;
            case ssActivePower:
                data.lData = readRegister(ssActivePower);
                readVal = convertPower(data.lData);
                measure = "I POWER  ";
                sprintf(buffer, "%f    ", readVal);
                break;
            default:
                data.lData = readRegister(showStatus);
                sprintf(buffer, "%02X%02X%02X    ", data.bytes[2], data.bytes[1], data.bytes[0]);
                measure = "        ";
                break;
        }

        line1();
        writeLCD(buffer);
        line2();
        writeLCD(measure);
        if (PORTBbits.RB2 == 0) {
            if (PORTBbits.RB2 == 0) {
                showStatus++;
                if (showStatus == ssLast) {
                    showStatus = ssConf;
                }
                while (1) {
                    if (PORTBbits.RB2 == 1) {
                        if (PORTBbits.RB2 == 1) {
                            break;
                        }
                    }
                }
            }
        }
    }

}