#ifndef LINUX_GPIO_GPIOCALLBACKS_H_
#define LINUX_GPIO_GPIOCALLBACKS_H_

#include <fsfw_hal/common/gpio/gpioDefinitions.h>
#include <fsfw_hal/common/gpio/GpioIF.h>


namespace gpioCallbacks {

    /**
     * @brief   This function initializes the GPIOs used to control the SN74LVC138APWR decoders on
     *          the TCS Board.
     */
    void initTcsBoardDecoder(GpioIF* gpioComIF);

    /**
     * @brief   This function implements the decoding to multiply gpios by using the two decoder
     *          chips SN74LVC138APWR on the TCS board.
     */
    void tcsBoardDecoderCallback(gpioId_t gpioId, gpio::GpioOperation gpioOp, int value, void* args);
}

#endif /* LINUX_GPIO_GPIOCALLBACKS_H_ */