3.0.0.0R11
Software Development Kit
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules
ltrx_definitions.h File Reference

Definitions for general use. More...

Data Structures

struct  ltrx_power_level_application
 Represents a power level application for registration. More...
 

Macros

#define ARRAY_SIZE(a)   (sizeof(a) / sizeof((a)[0]))
 Size of array. More...
 
#define ASSIGN_CONST_STRUCT_POINTER_FROM_MEMBER_POINTER(sp, st, m, mp)
 Const structure pointer from member pointer. More...
 
#define ASSIGN_STRUCT_POINTER_FROM_MEMBER_POINTER(sp, st, m, mp)
 Structure pointer from member pointer. More...
 
#define INTEGERIFY(v)   INTEGERIFY_DO_NOT_CALL_DIRECTLY(v)
 Unsigned long from defined number. More...
 
#define KILOBYTE   0x400
 Kilobyte. More...
 
#define LTRX_MUTEX_WAIT(mutex, timeout_in_milliseconds)
 Wait for a mutex. More...
 
#define ltrx_preemption_block()   ltrx_preemption_block_do_not_call_directly(__FILE__, __LINE__)
 Block preemption. More...
 
#define ltrx_thread_sleep(timeMsec)   ltrx_thread_sleep_do_not_call_directly(__FILE__, __LINE__, timeMsec)
 Pause this thread. More...
 
#define ltrx_thread_yield()   ltrx_thread_yield_do_not_call_directly(__FILE__, __LINE__)
 Yield control to other threads. More...
 
#define LTRX_TRIGGER_WAIT(trigger, timeout_in_milliseconds)
 Wait for a trigger. More...
 
#define MALLOC(size)
 Allocate memory. More...
 
#define MALLOC_ZEROED(size)
 Allocate memory and clear it to zeroes. More...
 
#define MAXIMUM(a, b)   ((a) < (b) ? (b) : (a))
 Larger of two numbers. More...
 
#define MEGABYTE   0x100000
 Megabyte. More...
 
#define MEMALIGN(align_size, requested_size)
 Allocate memory with alignment. More...
 
#define MEMBER_OFFSET(st, m)   ((size_t)(&(((st *)0)->m)))
 Offset of member in struct. More...
 
#define MINIMUM(a, b)   ((a) < (b) ? (a) : (b))
 Smaller of two numbers. More...
 
#define REALLOC(addr, newSize)
 Re-allocate memory and copy original into it. More...
 
#define STACK_SIZE_GREEN_FROM_MAX_OBSERVED_STACK_USED(used)   ((used + 3) * 100 / 80)
 Compute stack size based on observation. More...
 
#define STRDUP(string)
 Allocate memory and copy a string into it. More...
 
#define STRINGIFY(v)   STRINGIFY_DO_NOT_CALL_DIRECTLY(v)
 String from defined number. More...
 
#define STRNDUP(string, n)
 Allocate memory and copy a string into it, up to a limit. More...
 
#define TIME_WAIT_FOREVER   0xffffffff
 Wait forever. More...
 

Functions

uint32_t ltrx_elapsed_time_current_ms (uint32_t time_mark)
 Measure time since time mark. More...
 
void ltrx_free (void *addr)
 Free previously allocated memory. More...
 
uint32_t ltrx_get_uptime_ms (void)
 Get device uptime. More...
 
void ltrx_interrupt_disable (void)
 Disable interrupts. More...
 
void ltrx_interrupt_enable (void)
 Enable interrupts. More...
 
bool ltrx_malloc_has_ever_failed (void)
 Determine if any memory allocation has yet failed. More...
 
bool ltrx_mutex_create (struct ltrx_mutex *mutex, const char *name)
 Create a mutex. More...
 
bool ltrx_mutex_destroy (struct ltrx_mutex *mutex)
 Destroy a mutex. More...
 
struct ltrx_thread * ltrx_mutex_held_by (const struct ltrx_mutex *mutex)
 Get ID of thread holding mutex. More...
 
void ltrx_mutex_signal (struct ltrx_mutex *mutex)
 Relinquish a mutex. More...
 
const char * ltrx_platform_get_product_type (void)
 Get the product type name.
 
void ltrx_power_level_application_permit_shutdown (const char *applicationName, uint32_t durationSeconds)
 Application permits shutdown for specified time duration. More...
 
void ltrx_power_level_application_register (const struct ltrx_power_level_application *application)
 Register an application to have a voice in power control. More...
 
void ltrx_power_level_application_request_full_power (const char *applicationName)
 Application requests full power till further notice. More...
 
void ltrx_preemption_unblock (void)
 Unblock preemption. More...
 
struct ltrx_thread * ltrx_thread_create (const char *name, void(*entry_function)(void *opaque), void *entry_opaque, uint32_t stack_size)
 Create a thread. More...
 
struct ltrx_thread * ltrx_thread_id (void)
 Get current thread ID. More...
 
void ltrx_thread_resume (struct ltrx_thread *thread)
 Resumes a thread. More...
 
void ltrx_thread_suspend (void)
 Suspend a thread. More...
 
void ltrx_thread_wake (struct ltrx_thread *thread)
 Wake a thread. More...
 
uint32_t ltrx_timemark (void)
 Get time mark. More...
 
void ltrx_trigger_clear (struct ltrx_trigger *trigger)
 Clear a trigger. More...
 
bool ltrx_trigger_create (struct ltrx_trigger *trigger, const char *name)
 Create a trigger. More...
 
bool ltrx_trigger_destroy (struct ltrx_trigger *trigger)
 Destroy a trigger. More...
 
void ltrx_trigger_signal (struct ltrx_trigger *trigger)
 Signal a trigger. More...
 

Detailed Description

Definitions for general use.

Macro Definition Documentation

#define KILOBYTE   0x400

Kilobyte.

Typically a multiplier.

#define MEGABYTE   0x100000

Megabyte.

Typically a multiplier.

#define TIME_WAIT_FOREVER   0xffffffff

Wait forever.

Many macros or functions with a timeout parameter will accept this value to represent an indefinite period of time.