diff --git a/src/ES32A08.cpp b/src/ES32A08.cpp index 71a2547..c520924 100644 --- a/src/ES32A08.cpp +++ b/src/ES32A08.cpp @@ -381,19 +381,46 @@ int ES32A08::rawReadAnalogVoltage(int channel) { return analogRead(voltageInputPins[channel]); } -// Set single relay + +/** + * @brief Sets the state of a specified relay. + * + * This function sets the state (on or off) of the relay specified by the + * relay parameter. It updates the currentRelays variable and sends the + * updated state to the shift register. + * + * @param relay The relay number to set (0-based index). + * @param state The desired state of the relay (true for on, false for off). + */ void ES32A08::setRelay(int relay, bool state) { bitWrite(currentRelays, relay, state); sendToShiftRegister(); } // Set all relays (0b00000000 - 0b11111111) +/** + * @brief Sets the state of the relays. + * + * This function updates the current state of the relays and sends the new state + * to the shift register. + * + * @param relayStates An unsigned long representing the desired state of the relays. + */ void ES32A08::setRelays(unsigned long relayStates) { currentRelays = relayStates; sendToShiftRegister(); } // Read all digital inputs +/** + * @brief Reads the digital inputs from a shift register. + * + * This function reads 8 digital inputs from a shift register connected to the + * microcontroller. It first loads the inputs by toggling the LOAD165_PIN, then + * reads each bit by toggling the CLK165_PIN and reading the DATA165_PIN. + * + * @return uint8_t A byte representing the state of the 8 digital inputs. + */ uint8_t ES32A08::readDigitalInputs() { uint8_t inputs = 0; digitalWrite(LOAD165_PIN, LOW); @@ -413,6 +440,16 @@ uint8_t ES32A08::readDigitalInputs() { } // Read single digital input +/** + * @brief Reads the state of a specified digital input. + * + * This function checks the state of a digital input specified by the input number. + * The input number must be between 1 and 8, inclusive. If the input number is out + * of this range, the function returns false. + * + * @param inputNumber The number of the digital input to read (1-8). + * @return true if the specified digital input is high, false if it is low or if the input number is out of range. + */ bool ES32A08::readDigitalInput(int inputNumber) { if (inputNumber < 1 || inputNumber > 8) return false; @@ -421,9 +458,27 @@ bool ES32A08::readDigitalInput(int inputNumber) { } // Set "PWR" onboard LED +/** + * @brief Sets the state of the power LED. + * + * This function controls the power LED by setting its state to the specified value. + * + * @param state The desired state of the power LED. + * - `true` to turn the LED off. + * - `false` to turn the LED on. + */ void ES32A08::setPWRLED(bool state) { digitalWrite(PWR_LED_PIN, !state); } // Read single button state +/** + * @brief Reads the state of a specified button. + * + * This function reads the digital state of a button specified by its number. + * It returns `true` if the button is pressed and `false` otherwise. + * + * @param buttonNumber The number of the button to read (1-based index). + * @return `true` if the button is pressed, `false` otherwise. + */ bool ES32A08::readButton(int buttonNumber) { return !digitalRead(buttonPins[buttonNumber - 1]); } \ No newline at end of file