AdvButton::AdvButton(uint8_t pin,void (*OnKeyPress)(AdvButton*) , unsigned long repeat, unsigned long startDelay, buttonMode mode) { init(pin,OnKeyPress,NULL,NULL,mode); setRepeat(repeat); setStartDelay(startDelay); }
void Action::setData(const QVariantMap data) { setValue(data[Identifiers::keyValue]); if(data.contains(Identifiers::keyStartDelay)) setStartDelay(data[Identifiers::keyStartDelay].toInt()); setRestore(data[Identifiers::keyRestore].toBool()); doSetData(data); emit dataChanged(data); if(mRunning) doExecute(mValue); }
Timing TimingInput::convert(const Dictionary& timingInputDictionary) { Timing result; // FIXME: This method needs to be refactored to handle invalid // null, NaN, Infinity values better. // See: http://www.w3.org/TR/WebIDL/#es-double double startDelay = Timing::defaults().startDelay; timingInputDictionary.get("delay", startDelay); setStartDelay(result, startDelay); double endDelay = Timing::defaults().endDelay; timingInputDictionary.get("endDelay", endDelay); setEndDelay(result, endDelay); String fillMode; timingInputDictionary.get("fill", fillMode); setFillMode(result, fillMode); double iterationStart = Timing::defaults().iterationStart; timingInputDictionary.get("iterationStart", iterationStart); setIterationStart(result, iterationStart); double iterationCount = Timing::defaults().iterationCount; timingInputDictionary.get("iterations", iterationCount); setIterationCount(result, iterationCount); double iterationDuration = 0; if (timingInputDictionary.get("duration", iterationDuration)) { setIterationDuration(result, iterationDuration); } double playbackRate = Timing::defaults().playbackRate; timingInputDictionary.get("playbackRate", playbackRate); setPlaybackRate(result, playbackRate); String direction; timingInputDictionary.get("direction", direction); setPlaybackDirection(result, direction); String timingFunctionString; timingInputDictionary.get("easing", timingFunctionString); setTimingFunction(result, timingFunctionString); result.assertValid(); return result; }
void AdvButton::init(uint8_t pin,void (*OnKeyPress)(AdvButton*) , void (*OnKeyDown)(AdvButton*),void (*OnKeyUp)(AdvButton*), buttonMode mode){ setPin(pin); setRepeat(300); setStartDelay(500); setOnKeyPress( (*OnKeyPress)); setOnKeyDown( (*OnKeyDown)); setOnKeyUp( (*OnKeyUp)); debounceTime = 100; ButtonManager::instance()->addButton(this); if (mode == btn_Digital){ pinMode(pin, INPUT_PULLUP); digitalWrite(pin,HIGH); } this->mode = mode; lastChange = millis(); lastState = HIGH; }