User Tools

Site Tools


en-us_commands:reference:ialt

This is an old revision of the document!


Table of Contents

Ialt()

Ialt() toggles the specified state ON/OFF at each input rising edge.

Ialt command operation flow

void Ialt(bool input, bool &state_var)

Commands

Command Arguments Return Value Operation
Ialt(input, state_var) bool input
bool &state_var
void Toggles the specified state ON/OFF at each input rising edge.

Example

const uint8_t COMMAND_INPUT = 0;
const uint8_t MOTOR_OUTPUT = 32;
 
void setup() {
  Serial.begin(115200);
}
 
void loop() {
  const bool input = IdigitalRead(COMMAND_INPUT, 5);  // Read the input repeatedly and update only if all samples match. If HIGH and LOW are mixed, retain the previous stable state.
  const bool started = Iup(0, input);  // Return true only at the instant the input changes from OFF to ON.
  const bool stopped = Idown(0, input);  // Return true only at the instant the input changes from ON to OFF.
  static bool run = false;
  Ialt(started, run);  // Toggle the specified state ON/OFF at each rising input edge.
 
  digitalWrite(MOTOR_OUTPUT, run ? HIGH : LOW);
  if (started) Serial.println(F("motor started"));
  if (stopped) Serial.println(F("command released"));
}

Precautions

Using the same id for different signals may mix their previous states. Do not set the minimum and maximum of the Iscale input range to the same value.

← Built-in Command List

en-us_commands/reference/ialt.1788791733.txt.gz · Last modified: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki