Index: RTC.c =================================================================== diff -u -rc62e0c538fc17faf1bc46275ad9d439ba598a4be -r5d573b11d640b5b97c10a7d290c7c39cfa684ab6 --- RTC.c (.../RTC.c) (revision c62e0c538fc17faf1bc46275ad9d439ba598a4be) +++ RTC.c (.../RTC.c) (revision 5d573b11d640b5b97c10a7d290c7c39cfa684ab6) @@ -423,13 +423,13 @@ * @param none * @return RTC_RAM_STATUS_T *************************************************************************/ -RTC_RAM_STATUS_T writeToRAM( U16 address, U16* data, U32 length ) +RTC_RAM_STATUS_T writeToRAM( U32 address, U08* data, U32 length ) { RTC_RAM_STATUS_T status = RTCRAMStatus; - + U16 castedAddress = (U16)( address & MASK_OFF_MSW ); if ( status == RTC_RAM_STATUS_IDLE ) { - if ( address > MAX_ALLOWED_RTC_RAM_ADDRESS ) + if ( castedAddress > MAX_ALLOWED_RTC_RAM_ADDRESS ) { status = RTC_RAM_STATUS_ILLEGAL_ADDRESS; } @@ -444,18 +444,18 @@ RTCRAMState = RTC_RAM_STATE_BUSY; hasWriteToRAMRequested = TRUE; RAMBufferLength = length; - prepRAMBuffer[ RTC_PREP_RAM_INDEX ] = RTC_PREP_RAM_READ_WRITE; - prepRAMBuffer[ RTC_RAM_HIGH_ADDRESS_INDEX ] = ( address >> SHIFT_8_BITS_FOR_BYTE_SHIFT ); - prepRAMBuffer[ RTC_RAM_LOW_ADDRESS_INDEX ] = ( address & MASK_OFF_MSB ); - txBuffer[ BUFFER_INDEX_0 ] = RTC_WRITE_TO_RAM; - + prepRAMBuffer [ RTC_PREP_RAM_INDEX ] = RTC_PREP_RAM_READ_WRITE; + //prepRAMBuffer[ RTC_RAM_HIGH_ADDRESS_INDEX ] = ( address >> SHIFT_8_BITS_FOR_BYTE_SHIFT ); + //prepRAMBuffer[ RTC_RAM_LOW_ADDRESS_INDEX ] = ( address & MASK_OFF_MSB ); + prepRAMBuffer [ RTC_RAM_HIGH_ADDRESS_INDEX ] = 0x0000; + prepRAMBuffer [ RTC_RAM_LOW_ADDRESS_INDEX ] = castedAddress; + txBuffer [ BUFFER_INDEX_0 ] = RTC_WRITE_TO_RAM; for ( i = 0; i < RAMBufferLength; i++ ) { - txBuffer[ i + BUFFER_INDEX_1 ] = data[ i ]; + txBuffer [ i + BUFFER_INDEX_1 ] = data [ i ]; } } } - return status; } @@ -471,13 +471,13 @@ * @param none * @return RTC_RAM_STATUS_T *************************************************************************/ -RTC_RAM_STATUS_T readFromRAM( U16 address, U32 length ) +RTC_RAM_STATUS_T readFromRAM( U32 address, U32 length ) { RTC_RAM_STATUS_T status = RTCRAMStatus; - + U16 castedAddress = (U16)( address & MASK_OFF_MSW ); if ( status == RTC_RAM_STATUS_IDLE ) { - if ( address > MAX_ALLOWED_RTC_RAM_ADDRESS ) + if ( castedAddress > MAX_ALLOWED_RTC_RAM_ADDRESS ) { status = RTC_RAM_STATUS_ILLEGAL_ADDRESS; } @@ -492,19 +492,18 @@ RTCRAMState = RTC_RAM_STATE_BUSY; hasReadFromRAMRequested = TRUE; RAMBufferLength = length; - prepRAMBuffer[ RTC_PREP_RAM_INDEX ] = RTC_PREP_RAM_READ_WRITE; - prepRAMBuffer[ RTC_RAM_HIGH_ADDRESS_INDEX ] = ( address >> SHIFT_8_BITS_FOR_BYTE_SHIFT ); - prepRAMBuffer[ RTC_RAM_LOW_ADDRESS_INDEX ] = ( address & MASK_OFF_MSB ); + //prepRAMBuffer[ RTC_RAM_HIGH_ADDRESS_INDEX ] = ( address >> SHIFT_8_BITS_FOR_BYTE_SHIFT ); + //prepRAMBuffer[ RTC_RAM_HIGH_ADDRESS_INDEX ] = ( address & MASK_OFF_NIBBLE_LSB ) >> SHIFT_BITS_BY_4; + prepRAMBuffer[ RTC_RAM_HIGH_ADDRESS_INDEX ] = 0x0000; + prepRAMBuffer[ RTC_RAM_LOW_ADDRESS_INDEX ] = castedAddress; txBuffer[ BUFFER_INDEX_0 ] = RTC_READ_FROM_RAM; - for ( i = 0; i < RAMBufferLength; i++ ) { txBuffer[ i + BUFFER_INDEX_1 ] = 0x0000; } } } - return status; } @@ -553,12 +552,12 @@ * @param none * @return none *************************************************************************/ -void getDataFromRAM( U16* externalBuffer, U32 length ) +void getDataFromRAM( U08* externalBuffer, U32 length ) { U08 i; for ( i = 0; i < length; i++ ) { - externalBuffer[ i ] = RAMBuffer[ i + 1 ]; + externalBuffer[ i ] = RAMBuffer[ i + 1 ] & MASK_OFF_MSB; } }