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.
void Ialt(bool input, bool &state_var)
Commands
| Command | Arguments | Return Value | Operation |
|---|---|---|---|
Ialt(input, state_var) | bool inputbool &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.
en-us_commands/reference/ialt.1788791733.txt.gz · Last modified: by 127.0.0.1
