void TriggerManager::init(PinSettings* pins, uint8_t* preDelay, uint8_t* holdTime) {

  // save arguments
  for (uint8_t index=0; index<numbChannels; index++) {
    setPreDelay(index,preDelay[index]);
    setHoldTime(index,holdTime[index]);
    this->pins[index] = pins[index];
  }

  setAllOff();

  // set pins in output mode
  for (uint8_t index=0; index<numbChannels; index++) {
	  *(this->pins[index].PORT_REG) &= ~(1<<(this->pins[index].PinIndex));
	  *(this->pins[index].DDR_REG) |= 1<<(this->pins[index].PinIndex);
	  states[index] = false;
  }

  //setup timer
  TCCR0A = (1<<WGM01);
  TCCR0B = (1<<CS02) | (1<<CS00);
  OCR0A  = F_CPU/1024/interruptFreq;
  TIMSK0 = (1<<OCIE0A);

  #ifdef DEBUG_IR
  bit_dir_outp(DEBUGPIN);
  bit_set(DEBUGPIN);
  #endif
}
Exemple #2
0
// <<constructor>> Allows custom keymap, pin configuration, and keypad sizes.
Keypad::Keypad(char *userKeymap, byte *row, byte *col, byte numRows, byte numCols) {
	rowPins = row;
	columnPins = col;
	sizeKpd.rows = numRows;
	sizeKpd.columns = numCols;

	begin(userKeymap);

	setDebounceTime(10);
	setHoldTime(500);
	keypadEventListener = 0;

	startTime = 0;
	single_key = false;
}
Exemple #3
0
Animation::Animation(const std::string& caminho, int largura, int altura, int quantX, int quantY){
	texture = TextureManager::carregar(caminho);

	for (int y = 0; y < altura * quantY; y += altura) {
		for (int x = 0; x < largura * quantX; x += largura)
			frames.emplace_back(sf::IntRect(x, y, largura, altura));
	}

	addInterval("allAnimation", 0, frames.size());

	setInterval("allAnimation");
	setAutoAvance(false);
	setHoldTime(1.f);

	frameAt = 0;
}
// <<constructor>> Allows custom keymap, pin configuration, and keypad sizes.
Keypad_MAX::Keypad_MAX(char *userKeymap, byte *row, byte *col, byte numRows, byte numCols, int i2caddr) {
	_i2caddr = i2caddr;
	portset = 0x17;       // column/port/debounce setup - needs user function

    rowPins = row;
    columnPins = col;
    sizeKpd.rows = numRows;
    sizeKpd.columns = numCols;

    begin(userKeymap);

    setDebounceTime(10);
    setHoldTime(500);
	keypadEventListener = 0;

	startTime = 0;
}
Exemple #5
0
// <<constructor>> Allows custom keymap, pin configuration, and keypad sizes.
Keypad::Keypad(char *userKeymap, byte *row, byte *col, byte numRows, byte numCols) {
    rowPins = row;
    columnPins = col;
    size.rows = numRows;
    size.columns = numCols;

    begin(userKeymap);

    setDebounceTime(2);
    setHoldTime(500);
	keypadEventListener = 0;

    transitionTo(IDLE);
    stateChanged = false;

    initializePins();
}
void HoldMaxBlock::setAdditionalState(const QJsonObject &state) {
	setHoldTime(state["holdTime"].toDouble());
}