libsigrok
|
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include "sigrok.h"
#include "sigrok-internal.h"
Go to the source code of this file.
Functions | |
SR_API char * | sr_samplerate_string (uint64_t samplerate) |
Convert a numeric samplerate value to its "natural" string representation. | |
SR_API char * | sr_period_string (uint64_t frequency) |
Convert a numeric frequency value to the "natural" string representation of its period. | |
SR_API char ** | sr_parse_triggerstring (struct sr_dev *dev, const char *triggerstring) |
Parse a trigger specification string. | |
SR_API int | sr_parse_sizestring (const char *sizestring, uint64_t *size) |
Convert a "natural" string representation of a size value to uint64_t. | |
SR_API uint64_t | sr_parse_timestring (const char *timestring) |
Convert a "natural" string representation of a time value to an uint64_t value in milliseconds. | |
SR_API gboolean | sr_parse_boolstring (const char *boolstr) |
SR_API gboolean sr_parse_boolstring | ( | const char * | boolstr | ) |
SR_API int sr_parse_sizestring | ( | const char * | sizestring, |
uint64_t * | size | ||
) |
Convert a "natural" string representation of a size value to uint64_t.
E.g. a value of "3k" or "3 K" would be converted to 3000, a value of "15M" would be converted to 15000000.
Value representations other than decimal (such as hex or octal) are not supported. Only 'k' (kilo), 'm' (mega), 'g' (giga) suffixes are supported. Spaces (but not other whitespace) between value and suffix are allowed.
sizestring | A string containing a (decimal) size value. |
size | Pointer to uint64_t which will contain the string's size value. |
Definition at line 223 of file strutil.c.
References SR_ERR, SR_GHZ, SR_KHZ, SR_MHZ, and SR_OK.
Referenced by sr_session_load().
SR_API uint64_t sr_parse_timestring | ( | const char * | timestring | ) |
Convert a "natural" string representation of a time value to an uint64_t value in milliseconds.
E.g. a value of "3s" or "3 s" would be converted to 3000, a value of "15ms" would be converted to 15.
Value representations other than decimal (such as hex or octal) are not supported. Only lower-case "s" and "ms" time suffixes are supported. Spaces (but not other whitespace) between value and suffix are allowed.
timestring | A string containing a (decimal) time value. |
TODO: Error handling. TODO: Add support for "m" (minutes) and others. TODO: picoseconds? TODO: Allow both lower-case and upper-case.
SR_API char** sr_parse_triggerstring | ( | struct sr_dev * | dev, |
const char * | triggerstring | ||
) |
Parse a trigger specification string.
dev | The device for which the trigger specification is intended. |
triggerstring | The string containing the trigger specification for one or more probes of this device. Entries for multiple probes are comma-separated. Triggers are specified in the form key=value, where the key is a probe number (or probe name) and the value is the requested trigger type. Valid trigger types currently include 'r' (rising edge), 'f' (falling edge), 'c' (any pin value change), '0' (low value), or '1' (high value). Example: "1=r,sck=f,miso=0,7=c" |
Definition at line 134 of file strutil.c.
References sr_dev_driver::dev_info_get, sr_dev::driver, sr_probe::enabled, sr_probe::index, sr_probe::name, sr_dev::probes, SR_DI_TRIGGER_TYPES, sr_err(), and sr_probe::trigger.
SR_API char* sr_period_string | ( | uint64_t | frequency | ) |
Convert a numeric frequency value to the "natural" string representation of its period.
E.g. a value of 3000000 would be converted to "3 us", 20000 to "50 ms".
frequency | The frequency in Hz. |
Definition at line 84 of file strutil.c.
References sr_err(), SR_GHZ, SR_KHZ, and SR_MHZ.
SR_API char* sr_samplerate_string | ( | uint64_t | samplerate | ) |
Convert a numeric samplerate value to its "natural" string representation.
E.g. a value of 3000000 would be converted to "3 MHz", 20000 to "20 kHz", 31500 would become "31.5 kHz".
samplerate | The samplerate in Hz. |
Definition at line 39 of file strutil.c.
References sr_err(), SR_GHZ, SR_KHZ, and SR_MHZ.
Referenced by init(), and sr_session_save().