xref: /btstack/port/archive/msp-exp430f5438-cc2564b/firmware/hal_util.c (revision 1664436fd643daf66517dc309e6cc72448e8a86d)
1*1664436fSMatthias Ringwald /************************************************************************
2*1664436fSMatthias Ringwald  * @brief  Checks for the board revision and returns a value < 0 if wrong
3*1664436fSMatthias Ringwald  *         revision is specified in main.c
4*1664436fSMatthias Ringwald  *
5*1664436fSMatthias Ringwald  * @param  none
6*1664436fSMatthias Ringwald  *
7*1664436fSMatthias Ringwald  * @return Whether or not the board revision matches the software
8*1664436fSMatthias Ringwald  * - 0 - The board revision does not match the software
9*1664436fSMatthias Ringwald  * - 1 - The board revision matches the software
10*1664436fSMatthias Ringwald  *************************************************************************/
assert_board_version(void)11*1664436fSMatthias Ringwald unsigned char assert_board_version( void )
12*1664436fSMatthias Ringwald {
13*1664436fSMatthias Ringwald   P8DIR &= ~BIT7;                           // Set P8.7 input
14*1664436fSMatthias Ringwald   P8OUT |= BIT7;                            // Set pullup resistor
15*1664436fSMatthias Ringwald   P8REN |= BIT7;                            // Enable pull up resistors
16*1664436fSMatthias Ringwald 
17*1664436fSMatthias Ringwald   #ifdef REV_02
18*1664436fSMatthias Ringwald     if(!(P8IN & BIT7))                      // Board rev = 0_02?
19*1664436fSMatthias Ringwald       return 0;
20*1664436fSMatthias Ringwald   #else
21*1664436fSMatthias Ringwald     if((P8IN & BIT7))                       // Board rev = 0_03?
22*1664436fSMatthias Ringwald       return 0;
23*1664436fSMatthias Ringwald   #endif
24*1664436fSMatthias Ringwald 
25*1664436fSMatthias Ringwald   P8DIR |= BIT7;                            // Set P8.7 output
26*1664436fSMatthias Ringwald   P8OUT &= ~BIT7;                           // Set P8.7 = 0
27*1664436fSMatthias Ringwald   P8REN &= ~BIT7;                           // Disable pull up resistors
28*1664436fSMatthias Ringwald 
29*1664436fSMatthias Ringwald   return 1;
30*1664436fSMatthias Ringwald }
31