#ifndef _MATLAB_GPIO_H_
#define _MATLAB_GPIO_H_

#include "simstruc.h"
#include "mcu_wrapper_conf.h"

/* дефайны для проверки конфигурации GPIO) */
#define GET_GPIO_CONF(_reg_, _pos_)         ((_pos_ < 8)?                                                                                                   \
                                                GET_BITS_FROM_REG(_reg_->CRL, GPIO_CRL_CNF0 << (_pos_<<2u),       (_pos_<<2u)+GPIO_CRL_CNF0_Pos):           \
                                                GET_BITS_FROM_REG(_reg_->CRH, GPIO_CRL_CNF0 << ((_pos_-8)<<2u),   ((_pos_-8)<<2u)+GPIO_CRL_CNF0_Pos) )

/* дефайны для проверки режима GPIO) */
#define GET_GPIO_MODE(_reg_, _pos_)         ((_pos_ < 8)?                                                                                                   \
                                                GET_BITS_FROM_REG(_reg_->CRL, GPIO_CRL_MODE0 << (_pos_<<2u),       (_pos_<<2u)+GPIO_CRL_MODE0_Pos):         \
                                                GET_BITS_FROM_REG(_reg_->CRH, GPIO_CRL_MODE0 << ((_pos_-8)<<2u),   ((_pos_-8)<<2u)+GPIO_CRL_MODE0_Pos) )



void SFUNC_to_GPIO(real_T* disc);
void GPIO_to_SFUNC(real_T* in);

#endif // _MATLAB_GPIO_H_