diff --git a/api/mraa/common.h b/api/mraa/common.h index c270d95..6675f2d 100644 --- a/api/mraa/common.h +++ b/api/mraa/common.h @@ -190,6 +190,13 @@ int mraa_set_priority(const int priority); */ const char* mraa_get_version(); +/** + * Returns a textual representation of the mraa_result_t + * + * @param result the result to stringify + */ +const char* mraa_strresult(mraa_result_t result); + /** * Print a textual representation of the mraa_result_t * diff --git a/src/mraa.c b/src/mraa.c index 781898e..927d9ab 100644 --- a/src/mraa.c +++ b/src/mraa.c @@ -564,64 +564,52 @@ mraa_setup_mux_mapped(mraa_pin_t meta) } #endif -void -mraa_result_print(mraa_result_t result) +const char* +mraa_strresult(mraa_result_t result) { switch (result) { case MRAA_SUCCESS: - fprintf(stdout, "MRAA: SUCCESS\n"); - break; + return "SUCCESS"; case MRAA_ERROR_FEATURE_NOT_IMPLEMENTED: - fprintf(stdout, "MRAA: Feature not implemented.\n"); - break; + return "Feature not implemented"; case MRAA_ERROR_FEATURE_NOT_SUPPORTED: - fprintf(stdout, "MRAA: Feature not supported by Hardware.\n"); - break; + return "Feature not supported by Hardware"; case MRAA_ERROR_INVALID_VERBOSITY_LEVEL: - fprintf(stdout, "MRAA: Invalid verbosity level.\n"); - break; + return "Invalid verbosity level"; case MRAA_ERROR_INVALID_PARAMETER: - fprintf(stdout, "MRAA: Invalid parameter.\n"); - break; + return "Invalid parameter"; case MRAA_ERROR_INVALID_HANDLE: - fprintf(stdout, "MRAA: Invalid Handle.\n"); - break; + return "Invalid Handle"; case MRAA_ERROR_NO_RESOURCES: - fprintf(stdout, "MRAA: No resources.\n"); - break; + return "No resources"; case MRAA_ERROR_INVALID_RESOURCE: - fprintf(stdout, "MRAA: Invalid resource.\n"); - break; + return "Invalid resource"; case MRAA_ERROR_INVALID_QUEUE_TYPE: - fprintf(stdout, "MRAA: Invalid Queue Type.\n"); - break; + return "Invalid Queue Type"; case MRAA_ERROR_NO_DATA_AVAILABLE: - fprintf(stdout, "MRAA: No Data available.\n"); - break; + return "No Data available"; case MRAA_ERROR_INVALID_PLATFORM: - fprintf(stdout, "MRAA: Platform not recognised.\n"); - break; + return "Platform not recognised"; case MRAA_ERROR_PLATFORM_NOT_INITIALISED: - fprintf(stdout, "MRAA: Platform not initialised.\n"); - break; + return "Platform not initialised"; case MRAA_ERROR_UART_OW_SHORTED: - fprintf(stdout, "MRAA: UART OW: Bus short detected.\n"); - break; + return "UART OW: Bus short detected"; case MRAA_ERROR_UART_OW_NO_DEVICES: - fprintf(stdout, "MRAA: UART OW: No devices detected on bus.\n"); - break; + return "UART OW: No devices detected on bus"; case MRAA_ERROR_UART_OW_DATA_ERROR: - fprintf(stdout, "MRAA: UART OW: Data or Bus error detected.\n"); - break; + return "UART OW: Data or Bus error detected"; case MRAA_ERROR_UNSPECIFIED: - fprintf(stdout, "MRAA: Unspecified Error.\n"); - break; + return "Unspecified Error"; default: - fprintf(stdout, "MRAA: Unrecognised error.\n"); - break; + return "Unrecognised error"; } } +void +mraa_result_print(mraa_result_t result) +{ + fprintf(stdout, "MRAA: %s.\n", mraa_strresult(result)); +} mraa_boolean_t mraa_has_sub_platform()