| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- /*
- / _____) _ | |
- ( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
- (______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
- Description: Helper functions implementation
- License: Revised BSD License, see LICENSE.TXT file include in the project
- Maintainer: Miguel Luis and Gregory Cristian
- */
- //#include <stdlib.h>
- //#include <stdio.h>
- #include "stdint.h"
- #include <stdbool.h>
- #include "utilities.h"
- /*!
- * Redefinition of rand() and srand() standard C functions.
- * These functions are redefined in order to get the same behavior across
- * different compiler toolchains implementations.
- */
- // Standard random functions redefinition start
- #define RAND_LOCAL_MAX 2147483647L
- static uint32_t next = 1;
- int32_t rand1( void )
- {
- return ( ( next = next * 1103515245L + 12345L ) % RAND_LOCAL_MAX );
- }
- void srand1( uint32_t seed )
- {
- next = seed;
- }
- // Standard random functions redefinition end
- int32_t randr( int32_t min, int32_t max )
- {
- return ( int32_t )rand1( ) % ( max - min + 1 ) + min;
- }
- void memcpy1( uint8_t *dst, const uint8_t *src, uint16_t size )
- {
- while( size-- )
- {
- *dst++ = *src++;
- }
- }
- void memcpyr( uint8_t *dst, const uint8_t *src, uint16_t size )
- {
- dst = dst + ( size - 1 );
- while( size-- )
- {
- *dst-- = *src++;
- }
- }
- void memset1( uint8_t *dst, uint8_t value, uint16_t size )
- {
- while( size )
- {
- *dst++ = value;
- size--;
- }
- }
- int8_t Nibble2HexChar( uint8_t a )
- {
- if( a < 10 )
- {
- return '0' + a;
- }
- else if( a < 16 )
- {
- return 'A' + ( a - 10 );
- }
- else
- {
- return '?';
- }
- }
|