mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
Anna Bridge
Date:
Fri Jun 22 16:45:37 2018 +0100
Revision:
186:707f6e361f3e
Child:
187:0387e8f68319
mbed-dev library. Release version 162

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Anna Bridge 186:707f6e361f3e 1 /* mbed Microcontroller Library
Anna Bridge 186:707f6e361f3e 2 * Copyright (c) 2006-2013 ARM Limited
Anna Bridge 186:707f6e361f3e 3 *
Anna Bridge 186:707f6e361f3e 4 * Licensed under the Apache License, Version 2.0 (the "License");
Anna Bridge 186:707f6e361f3e 5 * you may not use this file except in compliance with the License.
Anna Bridge 186:707f6e361f3e 6 * You may obtain a copy of the License at
Anna Bridge 186:707f6e361f3e 7 *
Anna Bridge 186:707f6e361f3e 8 * http://www.apache.org/licenses/LICENSE-2.0
Anna Bridge 186:707f6e361f3e 9 *
Anna Bridge 186:707f6e361f3e 10 * Unless required by applicable law or agreed to in writing, software
Anna Bridge 186:707f6e361f3e 11 * distributed under the License is distributed on an "AS IS" BASIS,
Anna Bridge 186:707f6e361f3e 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Anna Bridge 186:707f6e361f3e 13 * See the License for the specific language governing permissions and
Anna Bridge 186:707f6e361f3e 14 * limitations under the License.
Anna Bridge 186:707f6e361f3e 15 */
Anna Bridge 186:707f6e361f3e 16 #ifndef MBED_ERROR_HIST_H
Anna Bridge 186:707f6e361f3e 17 #define MBED_ERROR_HIST_H
Anna Bridge 186:707f6e361f3e 18
Anna Bridge 186:707f6e361f3e 19 #ifndef MBED_CONF_ERROR_HIST_SIZE
Anna Bridge 186:707f6e361f3e 20 #define MBED_CONF_ERROR_HIST_SIZE 4
Anna Bridge 186:707f6e361f3e 21 #else
Anna Bridge 186:707f6e361f3e 22 #if MBED_CONF_ERROR_HIST_SIZE == 0
Anna Bridge 186:707f6e361f3e 23 #define MBED_CONF_ERROR_HIST_SIZE 1
Anna Bridge 186:707f6e361f3e 24 #endif
Anna Bridge 186:707f6e361f3e 25 #endif
Anna Bridge 186:707f6e361f3e 26
Anna Bridge 186:707f6e361f3e 27 #ifdef __cplusplus
Anna Bridge 186:707f6e361f3e 28 extern "C" {
Anna Bridge 186:707f6e361f3e 29 #endif
Anna Bridge 186:707f6e361f3e 30 /*
Anna Bridge 186:707f6e361f3e 31 * Puts/Adds an error entry into the error history list
Anna Bridge 186:707f6e361f3e 32 *
Anna Bridge 186:707f6e361f3e 33 * @param error_ctx pointer to the mbed_error_ctx struct with the error context
Anna Bridge 186:707f6e361f3e 34 * @return 0 or MBED_SUCCESS on success.
Anna Bridge 186:707f6e361f3e 35 * MBED_ERROR_WRITE_FAILED if writing to file failed
Anna Bridge 186:707f6e361f3e 36 * MBED_ERROR_INVALID_ARGUMENT if path is not valid
Anna Bridge 186:707f6e361f3e 37 *
Anna Bridge 186:707f6e361f3e 38 *
Anna Bridge 186:707f6e361f3e 39 */
Anna Bridge 186:707f6e361f3e 40 mbed_error_status_t mbed_error_hist_put(mbed_error_ctx *error_ctx);
Anna Bridge 186:707f6e361f3e 41
Anna Bridge 186:707f6e361f3e 42 /*
Anna Bridge 186:707f6e361f3e 43 * Reads the error entry from the error list with the specified index
Anna Bridge 186:707f6e361f3e 44 *
Anna Bridge 186:707f6e361f3e 45 * @param index Index of the error context to be retrieved. It starts from 0 and 0 is the oldest.
Anna Bridge 186:707f6e361f3e 46 * @param error_ctx pointer to the mbed_error_ctx struct where the error context will be filled, this should be allocated by the caller
Anna Bridge 186:707f6e361f3e 47 * @return 0 or MBED_SUCCESS on success.
Anna Bridge 186:707f6e361f3e 48 * MBED_ERROR_WRITE_FAILED if writing to file failed
Anna Bridge 186:707f6e361f3e 49 * MBED_ERROR_INVALID_ARGUMENT if path is not valid
Anna Bridge 186:707f6e361f3e 50 *
Anna Bridge 186:707f6e361f3e 51 *
Anna Bridge 186:707f6e361f3e 52 */
Anna Bridge 186:707f6e361f3e 53 mbed_error_status_t mbed_error_hist_get(int index, mbed_error_ctx *error_ctx);
Anna Bridge 186:707f6e361f3e 54
Anna Bridge 186:707f6e361f3e 55 /*
Anna Bridge 186:707f6e361f3e 56 * Gets a reference to the next error entry in the error log where in the error ctx can be filled in.
Anna Bridge 186:707f6e361f3e 57 * Its like reserving the next error entry to fill in the error info
Anna Bridge 186:707f6e361f3e 58 *
Anna Bridge 186:707f6e361f3e 59 * @return Returns the pointer to the next error ctx entry
Anna Bridge 186:707f6e361f3e 60 *
Anna Bridge 186:707f6e361f3e 61 *
Anna Bridge 186:707f6e361f3e 62 */
Anna Bridge 186:707f6e361f3e 63 mbed_error_ctx *mbed_error_hist_get_entry(void);
Anna Bridge 186:707f6e361f3e 64
Anna Bridge 186:707f6e361f3e 65 /*
Anna Bridge 186:707f6e361f3e 66 * Reads the last(latest) error entry from the error history
Anna Bridge 186:707f6e361f3e 67 *
Anna Bridge 186:707f6e361f3e 68 * @param error_ctx pointer to the mbed_error_ctx struct where the error context will be filled, this should be allocated by the caller
Anna Bridge 186:707f6e361f3e 69 * @return 0 or MBED_SUCCESS on success.
Anna Bridge 186:707f6e361f3e 70 * MBED_ERROR_WRITE_FAILED if writing to file failed
Anna Bridge 186:707f6e361f3e 71 * MBED_ERROR_INVALID_ARGUMENT if path is not valid
Anna Bridge 186:707f6e361f3e 72 *
Anna Bridge 186:707f6e361f3e 73 *
Anna Bridge 186:707f6e361f3e 74 */
Anna Bridge 186:707f6e361f3e 75 mbed_error_status_t mbed_error_hist_get_last_error(mbed_error_ctx *error_ctx);
Anna Bridge 186:707f6e361f3e 76
Anna Bridge 186:707f6e361f3e 77 /*
Anna Bridge 186:707f6e361f3e 78 * Returns the number of error entries in the error history list
Anna Bridge 186:707f6e361f3e 79 *
Anna Bridge 186:707f6e361f3e 80 * @return Number of entries in the history list
Anna Bridge 186:707f6e361f3e 81 *
Anna Bridge 186:707f6e361f3e 82 *
Anna Bridge 186:707f6e361f3e 83 */
Anna Bridge 186:707f6e361f3e 84 int mbed_error_hist_get_count(void);
Anna Bridge 186:707f6e361f3e 85
Anna Bridge 186:707f6e361f3e 86 /*
Anna Bridge 186:707f6e361f3e 87 * Resets the error log by resetting the number of errors to 0 and clears all previous errors in the history list
Anna Bridge 186:707f6e361f3e 88 *
Anna Bridge 186:707f6e361f3e 89 * @return 0 or MBED_SUCCESS on success.
Anna Bridge 186:707f6e361f3e 90 * MBED_ERROR_WRITE_FAILED if writing to file failed
Anna Bridge 186:707f6e361f3e 91 * MBED_ERROR_INVALID_ARGUMENT if path is not valid
Anna Bridge 186:707f6e361f3e 92 *
Anna Bridge 186:707f6e361f3e 93 *
Anna Bridge 186:707f6e361f3e 94 */
Anna Bridge 186:707f6e361f3e 95 mbed_error_status_t mbed_error_hist_reset(void);
Anna Bridge 186:707f6e361f3e 96
Anna Bridge 186:707f6e361f3e 97 /*
Anna Bridge 186:707f6e361f3e 98 * Saves the error log information to a file
Anna Bridge 186:707f6e361f3e 99 *
Anna Bridge 186:707f6e361f3e 100 * @param path path to the file in the filesystem
Anna Bridge 186:707f6e361f3e 101 * @return 0 or MBED_SUCCESS on success.
Anna Bridge 186:707f6e361f3e 102 * MBED_ERROR_WRITE_FAILED if writing to file failed
Anna Bridge 186:707f6e361f3e 103 * MBED_ERROR_INVALID_ARGUMENT if path is not valid
Anna Bridge 186:707f6e361f3e 104 *
Anna Bridge 186:707f6e361f3e 105 * @note Filesystem support is required in order for this function to work.
Anna Bridge 186:707f6e361f3e 106 *
Anna Bridge 186:707f6e361f3e 107 */
Anna Bridge 186:707f6e361f3e 108 mbed_error_status_t mbed_save_error_hist(const char *path);
Anna Bridge 186:707f6e361f3e 109
Anna Bridge 186:707f6e361f3e 110 #ifdef __cplusplus
Anna Bridge 186:707f6e361f3e 111 }
Anna Bridge 186:707f6e361f3e 112 #endif
Anna Bridge 186:707f6e361f3e 113
Anna Bridge 186:707f6e361f3e 114 #endif
Anna Bridge 186:707f6e361f3e 115
Anna Bridge 186:707f6e361f3e 116