mbed library sources. Supersedes mbed-src.

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

Committer:
AnnaBridge
Date:
Wed Feb 20 22:31:08 2019 +0000
Revision:
189:f392fc9709a3
Parent:
187:0387e8f68319
mbed library release version 165

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