miguel747 icon

Secret-KnockLock.c

miguel747 | PRO | 12/16/13 06:41:01 PM UTC | 0 ⭐ | 204 👁️ | Never ⏰ | []
C |

1.79 KB

|

None

|

0 👍

/

0 👎

/*
 * secret_knock_lib.h
 *
 *  Created on: 03/12/2013
 *      Author: Filipe Ribeiro
 */
 
#ifndef SECRET_KNOCK_LIB_H_
#define SECRET_KNOCK_LIB_H_
 
#include "msp430g2553.h"
 
//  DEFINITIONS
#define TIMER_A_0   1
#define TIMER_A_1   2
 
#define RECORD_MODE_ON      1
#define RECORD_MODE_OFF     2
//  knock configuration
#define KNOCK_TOLERANCE     2000        //  max error tolerance
#define TOTAL_TOLERANCE     10000       //  max error tolerance
#define KNOCK_MAX_SEQ       20          //  max number of knocks
#define KNOCK_ELAPSE_TIME   3000        //  max knock interval in ms
#define KNOCK_NORM_INTERVAL 10000       //  normalized max knock interval
#define KNOCK_OK            1
#define KNOCK_NOT_OK        2
 
#define     PORT1_DIR           BIT6+BIT4+BIT0
#define     PORT2_DIR           0
 
#define     GREEN_LED_ON        (P1OUT |= BIT6)
#define     YELLOW_LED_ON       (P1OUT |= BIT4)
#define     RED_LED_ON          (P1OUT |= BIT0)
 
#define     GREEN_LED_OFF       (P1OUT &= ~BIT6)
#define     YELLOW_LED_OFF      (P1OUT &= ~BIT4)
#define     RED_LED_OFF         (P1OUT &= ~BIT0)
 
#define     GREEN_LED_TOGGLE    (P1OUT ^= BIT6)
 
#define     PUSH_BUTTON         (BIT3)
#define     CHECK_PUSH_BUTTON   (P1IN & BIT3)
 
#define     PIEZO_PIN           BIT5
#define     CHECK_PIEZO_PIN     (P1IN & BIT5)
 
#define     MOTOR_ON            (P2OUT |= BIT3)
#define     MOTOR_OFF           (P2OUT &= ~BIT3)
 
//  GLOBAL VARIABLES
extern unsigned char recordMode;
extern unsigned char stupidUser;
extern unsigned long int elapseTime;
extern unsigned long int knockBuffer[KNOCK_MAX_SEQ];
extern unsigned long int passwordBuffer[KNOCK_MAX_SEQ];
extern unsigned char passwordLength;
extern unsigned char knockIndex;
 
//  FUNCTION PROTOTYPES
void portInit(void);
void timerAInit(unsigned char timerAMask);
unsigned char passwordCheck(void);
void passwordRecord(void);
void knockNormalize(void);
void knockReset(void);
void knockInit(void);
 
 
#endif /* SECRET_KNOCK_LIB_H_ */

Comments