The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
170:e95d10626187
mbed library release version 165

Who changed what in which revision?

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