Fixed constructor for latest mbed library.

Dependents:   Pinscape_Controller_v1 Pinscape_Controller Pinscape_Controller_V2_arnoz Pinscape_Controller_V2

Fork of FastIO by Erik -

Devices/FastIO_NUCLEO_F4X1.h

Committer:
Sissors
Date:
2014-12-23
Revision:
11:327ae1d5fecb
Parent:
Devices/FastIO_NUCLEO_F401.h@ 7:1e784ae11fba

File content as of revision 11:327ae1d5fecb:

#if defined(TARGET_NUCLEO_F401RE) || defined(TARGET_NUCLEO_F411RE)

#include "mbed.h"
#include "pinmap.h"

typedef struct {
    uint32_t mask;
} fastio_vars;

#define PINMASK             (1 << STM_PIN(pin))
#define PORT                ((GPIO_TypeDef *)(GPIOA_BASE + 0x0400 * STM_PORT(pin)))

#define INIT_PIN            RCC->AHB1ENR |= (1 << STM_PORT(pin)); (PORT->MODER &= ~(GPIO_MODER_MODER0_1 << (STM_PIN(pin) * 2))); container.mask = PINMASK
#define DESTROY_PIN     

#define SET_DIR_INPUT       (PORT->MODER &= ~(GPIO_MODER_MODER0_0 << (STM_PIN(pin) * 2)))
#define SET_DIR_OUTPUT      (PORT->MODER |= (GPIO_MODER_MODER0_0 << (STM_PIN(pin) * 2)))
#define SET_MODE(pull)      pin_mode(pin, pull);

#define WRITE_PIN_SET       (PORT->BSRRL = PINMASK)
#define WRITE_PIN_CLR       (PORT->BSRRH = PINMASK)

#define READ_PIN            ((PORT->IDR & container.mask) ? 1 : 0)

#endif