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 Ringwaldunsigned 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