#include "stm32f1xx_matlab_gpio.h"



void GPIO_to_SFUNC(real_T *disc)
{
    for (int i = 0; i < PORT_WIDTH; i++)
    {
        if (GPIOA->ODR & (1 << i))
        {
            disc[i] = 1;
        }

        if (GPIOB->ODR & (1 << i))
        {
            disc[PORT_WIDTH + i] = 1;
        }
    }
}



void SFUNC_to_GPIO(real_T* in)
{
    for (int i = 0; i < PORT_WIDTH; i++)
    {
        if (in[i] > 0.5)
        {
            GPIOA->IDR |= (1 << i);
        }
        else
        {
            GPIOA->IDR &= ~(1 << i);
        }
    }
}