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:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
Parent:
170:e95d10626187
Child:
172:65be27845400
mbed library. Release version 164

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