fholin fholin / Mbed 2 deprecated MiniMousetest

Dependencies:   mbed

Committer:
fholin
Date:
Fri Dec 15 13:15:04 2017 +0000
Revision:
0:2325d1d28df3
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fholin 0:2325d1d28df3 1 /*
fholin 0:2325d1d28df3 2 / _____) _ | |
fholin 0:2325d1d28df3 3 ( (____ _____ ____ _| |_ _____ ____| |__
fholin 0:2325d1d28df3 4 \____ \| ___ | (_ _) ___ |/ ___) _ \
fholin 0:2325d1d28df3 5 _____) ) ____| | | || |_| ____( (___| | | |
fholin 0:2325d1d28df3 6 (______/|_____)_|_|_| \__)_____)\____)_| |_|
fholin 0:2325d1d28df3 7 (C)2013 Semtech
fholin 0:2325d1d28df3 8
fholin 0:2325d1d28df3 9 Description: Helper functions implementation
fholin 0:2325d1d28df3 10
fholin 0:2325d1d28df3 11 License: Revised BSD License, see LICENSE.TXT file include in the project
fholin 0:2325d1d28df3 12
fholin 0:2325d1d28df3 13 Maintainer: Miguel Luis and Gregory Cristian
fholin 0:2325d1d28df3 14 */
fholin 0:2325d1d28df3 15 #ifndef __UTILITIES_H__
fholin 0:2325d1d28df3 16 #define __UTILITIES_H__
fholin 0:2325d1d28df3 17 #include "mbed.h"
fholin 0:2325d1d28df3 18 /*!
fholin 0:2325d1d28df3 19 * \brief Returns the minimum value between a and b
fholin 0:2325d1d28df3 20 *
fholin 0:2325d1d28df3 21 * \param [IN] a 1st value
fholin 0:2325d1d28df3 22 * \param [IN] b 2nd value
fholin 0:2325d1d28df3 23 * \retval minValue Minimum value
fholin 0:2325d1d28df3 24 */
fholin 0:2325d1d28df3 25 #define MIN( a, b ) ( ( ( a ) < ( b ) ) ? ( a ) : ( b ) )
fholin 0:2325d1d28df3 26
fholin 0:2325d1d28df3 27 /*!
fholin 0:2325d1d28df3 28 * \brief Returns the maximum value between a and b
fholin 0:2325d1d28df3 29 *
fholin 0:2325d1d28df3 30 * \param [IN] a 1st value
fholin 0:2325d1d28df3 31 * \param [IN] b 2nd value
fholin 0:2325d1d28df3 32 * \retval maxValue Maximum value
fholin 0:2325d1d28df3 33 */
fholin 0:2325d1d28df3 34 #define MAX( a, b ) ( ( ( a ) > ( b ) ) ? ( a ) : ( b ) )
fholin 0:2325d1d28df3 35
fholin 0:2325d1d28df3 36 /*!
fholin 0:2325d1d28df3 37 * \brief Returns 2 raised to the power of n
fholin 0:2325d1d28df3 38 *
fholin 0:2325d1d28df3 39 * \param [IN] n power value
fholin 0:2325d1d28df3 40 * \retval result of raising 2 to the power n
fholin 0:2325d1d28df3 41 */
fholin 0:2325d1d28df3 42 #define POW2( n ) ( 1 << n )
fholin 0:2325d1d28df3 43
fholin 0:2325d1d28df3 44 /*!
fholin 0:2325d1d28df3 45 * \brief Initializes the pseudo random generator initial value
fholin 0:2325d1d28df3 46 *
fholin 0:2325d1d28df3 47 * \param [IN] seed Pseudo random generator initial value
fholin 0:2325d1d28df3 48 */
fholin 0:2325d1d28df3 49 void srand1( uint32_t seed );
fholin 0:2325d1d28df3 50
fholin 0:2325d1d28df3 51 /*!
fholin 0:2325d1d28df3 52 * \brief Computes a random number between min and max
fholin 0:2325d1d28df3 53 *
fholin 0:2325d1d28df3 54 * \param [IN] min range minimum value
fholin 0:2325d1d28df3 55 * \param [IN] max range maximum value
fholin 0:2325d1d28df3 56 * \retval random random value in range min..max
fholin 0:2325d1d28df3 57 */
fholin 0:2325d1d28df3 58 int32_t randr( int32_t min, int32_t max );
fholin 0:2325d1d28df3 59
fholin 0:2325d1d28df3 60 /*!
fholin 0:2325d1d28df3 61 * \brief Copies size elements of src array to dst array
fholin 0:2325d1d28df3 62 *
fholin 0:2325d1d28df3 63 * \remark STM32 Standard memcpy function only works on pointers that are aligned
fholin 0:2325d1d28df3 64 *
fholin 0:2325d1d28df3 65 * \param [OUT] dst Destination array
fholin 0:2325d1d28df3 66 * \param [IN] src Source array
fholin 0:2325d1d28df3 67 * \param [IN] size Number of bytes to be copied
fholin 0:2325d1d28df3 68 */
fholin 0:2325d1d28df3 69 void memcpy1( uint8_t *dst, const uint8_t *src, uint16_t size );
fholin 0:2325d1d28df3 70
fholin 0:2325d1d28df3 71 /*!
fholin 0:2325d1d28df3 72 * \brief Copies size elements of src array to dst array reversing the byte order
fholin 0:2325d1d28df3 73 *
fholin 0:2325d1d28df3 74 * \param [OUT] dst Destination array
fholin 0:2325d1d28df3 75 * \param [IN] src Source array
fholin 0:2325d1d28df3 76 * \param [IN] size Number of bytes to be copied
fholin 0:2325d1d28df3 77 */
fholin 0:2325d1d28df3 78 void memcpyr( uint8_t *dst, const uint8_t *src, uint16_t size );
fholin 0:2325d1d28df3 79
fholin 0:2325d1d28df3 80 /*!
fholin 0:2325d1d28df3 81 * \brief Set size elements of dst array with value
fholin 0:2325d1d28df3 82 *
fholin 0:2325d1d28df3 83 * \remark STM32 Standard memset function only works on pointers that are aligned
fholin 0:2325d1d28df3 84 *
fholin 0:2325d1d28df3 85 * \param [OUT] dst Destination array
fholin 0:2325d1d28df3 86 * \param [IN] value Default value
fholin 0:2325d1d28df3 87 * \param [IN] size Number of bytes to be copied
fholin 0:2325d1d28df3 88 */
fholin 0:2325d1d28df3 89 void memset1( uint8_t *dst, uint8_t value, uint16_t size );
fholin 0:2325d1d28df3 90
fholin 0:2325d1d28df3 91 /*!
fholin 0:2325d1d28df3 92 * \brief Converts a nibble to an hexadecimal character
fholin 0:2325d1d28df3 93 *
fholin 0:2325d1d28df3 94 * \param [IN] a Nibble to be converted
fholin 0:2325d1d28df3 95 * \retval hexChar Converted hexadecimal character
fholin 0:2325d1d28df3 96 */
fholin 0:2325d1d28df3 97 int8_t Nibble2HexChar( uint8_t a );
fholin 0:2325d1d28df3 98
fholin 0:2325d1d28df3 99 #endif // __UTILITIES_H__