void
TimeCode::setFrame (int value)
{
    if (value < 0 || value > 59)
	throw Iex::ArgExc ("Cannot set frame field in time code. "
			   "New value is out of range.");

    setBitField (_time, 0, 5, binaryToBcd (value));
}
void
TimeCode::setSeconds (int value)
{
    if (value < 0 || value > 59)
	throw Iex::ArgExc ("Cannot set seconds field in time code. "
			   "New value is out of range.");

    setBitField (_time, 8, 14, binaryToBcd (value));
}
void
TimeCode::setMinutes (int value)
{
    if (value < 0 || value > 59)
	throw Iex::ArgExc ("Cannot set minutes field in time code. "
			   "New value is out of range.");

    setBitField (_time, 16, 22, binaryToBcd (value));
}
void
TimeCode::setHours (int value)
{
    if (value < 0 || value > 23)
	throw Iex::ArgExc ("Cannot set hours field in time code. "
			   "New value is out of range.");

    setBitField (_time, 24, 29, binaryToBcd (value));
}
Esempio n. 5
0
uint64_t encodeCanSignal(CanSignal* signal, float value, uint64_t data) {
    float rawValue = (value - signal->offset) / signal->factor;
    if(rawValue > 0) {
        // round up to avoid losing precision when we cast to an int
        rawValue += 0.5;
    }
    setBitField(&data, rawValue, signal->bitPosition, signal->bitSize);
    return data;
}
void
TimeCode::setBinaryGroup (int group, int value)
{
    if (group < 1 || group > 8)
	throw Iex::ArgExc ("Cannot extract binary group from time code "
		           "user data.  Group number is out of range.");

    int minBit = 4 * (group - 1);
    int maxBit = minBit + 3;
    setBitField (_user, minBit, maxBit, (unsigned int) value);
}
void
TimeCode::setBgf2 (bool value)
{
    setBitField (_time, 31, 31, (unsigned int) !!value);
}
void
TimeCode::setBgf0 (bool value)
{
    setBitField (_time, 23, 23, (unsigned int) !!value);
}
void
TimeCode::setFieldPhase (bool value)
{
    setBitField (_time, 15, 15, (unsigned int) !!value);
}
Esempio n. 10
0
void
TimeCode::setColorFrame (bool value)
{
    setBitField (_time, 7, 7, (unsigned int) !!value);
}
Esempio n. 11
0
void
TimeCode::setDropFrame (bool value)
{
    setBitField (_time, 6, 6, (unsigned int) !!value);
}