/***************************************************************************/
/***      4*4 matrix keypad with A=clear all , D= Enter & B=clear one bit **/
/***      |D7 |D6 |D5 |D4 |D3 |D2 |D1 |D0 |                 ****************/
/***      | Input Bit     |  Output Bit   |                 ****************/
/***      |PB0|PA7|PA6|PA5|PA4|PA3|PA2|PA1|                 ****************/
/***      |Read as PULL-Up|Reset sequentially|              ****************/
/***************************************************************************/
#ifndef _KEYPAD_H
#define _KEYPAD_H
#include<stdio.h>
#include "stm32f0xx_hal.h"
#include "ssd1306.h"
#define ROW1_RESET   HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_RESET)
#define ROW1_SET     HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_SET)
#define ROW2_RESET   HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_RESET)
#define ROW2_SET     HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET)
#define ROW3_RESET   HAL_GPIO_WritePin(GPIOC,GPIO_PIN_4,GPIO_PIN_RESET)
#define ROW3_SET     HAL_GPIO_WritePin(GPIOC,GPIO_PIN_4,GPIO_PIN_SET)
#define ROW4_RESET   HAL_GPIO_WritePin(GPIOC,GPIO_PIN_5,GPIO_PIN_RESET)
#define ROW4_SET     HAL_GPIO_WritePin(GPIOC,GPIO_PIN_5,GPIO_PIN_SET)
#define COLUMN1      HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0)
#define COLUMN2      HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)
#define COLUMN3      HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_2)
unsigned char key_press(unsigned char press);
#endif
