Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: microbit_rubber_ducky microbit_mouse_BLE microbit_mouse_BLE_daybreak_version microbit_presenter
Fork of nRF51822 by
Utility Functions and Definitions
Various types and definitions available to all applications. More...
Data Structures | |
| struct | uint8_array_t |
| Byte array type. More... | |
Typedefs | |
| typedef uint8_t | uint16_le_t [2] |
| type for holding an encoded (i.e. | |
| typedef uint8_t | uint32_le_t [4] |
| type for holding an encoded (i.e. | |
Enumerations | |
| enum | { UNIT_0_625_MS = 625, UNIT_1_25_MS = 1250, UNIT_10_MS = 10000 } |
Functions | |
| static __INLINE uint64_t | value_rescale (uint32_t value, uint32_t old_unit_reversal, uint16_t new_unit_reversal) |
| Function for changing the value unit. | |
| static __INLINE uint8_t | uint16_encode (uint16_t value, uint8_t *p_encoded_data) |
| Function for encoding a uint16 value. | |
| static __INLINE uint8_t | uint24_encode (uint32_t value, uint8_t *p_encoded_data) |
| Function for encoding a three-byte value. | |
| static __INLINE uint8_t | uint32_encode (uint32_t value, uint8_t *p_encoded_data) |
| Function for encoding a uint32 value. | |
| static __INLINE uint16_t | uint16_decode (const uint8_t *p_encoded_data) |
| Function for decoding a uint16 value. | |
| static __INLINE uint32_t | uint24_decode (const uint8_t *p_encoded_data) |
| Function for decoding a three-byte value. | |
| static __INLINE uint32_t | uint32_decode (const uint8_t *p_encoded_data) |
| Function for decoding a uint32 value. | |
| static __INLINE uint8_t | battery_level_in_percent (const uint16_t mvolts) |
| Function for converting the input voltage (in milli volts) into percentage of 3.0 Volts. | |
| static __INLINE bool | is_word_aligned (void const *p) |
| Function for checking if a pointer value is aligned to a 4 byte boundary. | |
Detailed Description
Various types and definitions available to all applications.
Typedef Documentation
| typedef uint8_t uint16_le_t[2] |
type for holding an encoded (i.e.
little endian) 16 bit unsigned integer.
Definition at line 117 of file app_util.h.
| typedef uint8_t uint32_le_t[4] |
type for holding an encoded (i.e.
little endian) 32 bit unsigned integer.
Definition at line 120 of file app_util.h.
Enumeration Type Documentation
| anonymous enum |
- Enumerator:
UNIT_0_625_MS Number of microseconds in 0.625 milliseconds.
UNIT_1_25_MS Number of microseconds in 1.25 milliseconds.
UNIT_10_MS Number of microseconds in 10 milliseconds.
Definition at line 49 of file app_util.h.
Function Documentation
| static __INLINE uint8_t battery_level_in_percent | ( | const uint16_t | mvolts ) | [static] |
Function for converting the input voltage (in milli volts) into percentage of 3.0 Volts.
The calculation is based on a linearized version of the battery's discharge curve. 3.0V returns 100% battery level. The limit for power failure is 2.1V and is considered to be the lower boundary.
The discharge curve for CR2032 is non-linear. In this model it is split into 4 linear sections:
- Section 1: 3.0V - 2.9V = 100% - 42% (58% drop on 100 mV)
- Section 2: 2.9V - 2.74V = 42% - 18% (24% drop on 160 mV)
- Section 3: 2.74V - 2.44V = 18% - 6% (12% drop on 300 mV)
- Section 4: 2.44V - 2.1V = 6% - 0% (6% drop on 340 mV)
These numbers are by no means accurate. Temperature and load in the actual application is not accounted for!
- Parameters:
-
[in] mvolts The voltage in mV
- Returns:
- Battery level in percent.
Definition at line 290 of file app_util.h.
| static __INLINE bool is_word_aligned | ( | void const * | p ) | [static] |
Function for checking if a pointer value is aligned to a 4 byte boundary.
- Parameters:
-
[in] p Pointer value to be checked.
- Returns:
- TRUE if pointer is aligned to a 4 byte boundary, FALSE otherwise.
Definition at line 328 of file app_util.h.
| static __INLINE uint16_t uint16_decode | ( | const uint8_t * | p_encoded_data ) | [static] |
Function for decoding a uint16 value.
- Parameters:
-
[in] p_encoded_data Buffer where the encoded data is stored.
- Returns:
- Decoded value.
Definition at line 237 of file app_util.h.
| static __INLINE uint8_t uint16_encode | ( | uint16_t | value, |
| uint8_t * | p_encoded_data | ||
| ) | [static] |
Function for encoding a uint16 value.
- Parameters:
-
[in] value Value to be encoded. [out] p_encoded_data Buffer where the encoded data is to be written.
- Returns:
- Number of bytes written.
Definition at line 193 of file app_util.h.
| static __INLINE uint32_t uint24_decode | ( | const uint8_t * | p_encoded_data ) | [static] |
Function for decoding a three-byte value.
- Parameters:
-
[in] p_encoded_data Buffer where the encoded data is stored.
- Returns:
- Decoded value (uint32_t).
Definition at line 249 of file app_util.h.
| static __INLINE uint8_t uint24_encode | ( | uint32_t | value, |
| uint8_t * | p_encoded_data | ||
| ) | [static] |
Function for encoding a three-byte value.
- Parameters:
-
[in] value Value to be encoded. [out] p_encoded_data Buffer where the encoded data is to be written.
- Returns:
- Number of bytes written.
Definition at line 207 of file app_util.h.
| static __INLINE uint32_t uint32_decode | ( | const uint8_t * | p_encoded_data ) | [static] |
Function for decoding a uint32 value.
- Parameters:
-
[in] p_encoded_data Buffer where the encoded data is stored.
- Returns:
- Decoded value.
Definition at line 262 of file app_util.h.
| static __INLINE uint8_t uint32_encode | ( | uint32_t | value, |
| uint8_t * | p_encoded_data | ||
| ) | [static] |
Function for encoding a uint32 value.
- Parameters:
-
[in] value Value to be encoded. [out] p_encoded_data Buffer where the encoded data is to be written.
- Returns:
- Number of bytes written.
Definition at line 222 of file app_util.h.
| static __INLINE uint64_t value_rescale | ( | uint32_t | value, |
| uint32_t | old_unit_reversal, | ||
| uint16_t | new_unit_reversal | ||
| ) | [static] |
Function for changing the value unit.
- Parameters:
-
[in] value Value to be rescaled. [in] old_unit_reversal Reversal of the incoming unit. [in] new_unit_reversal Reversal of the desired unit.
- Returns:
- Number of bytes written.
Definition at line 181 of file app_util.h.
Generated on Tue Jul 12 2022 19:52:05 by
1.7.2
