mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

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

Committer:
mbed_official
Date:
Wed Sep 30 17:00:09 2015 +0100
Revision:
635:a11c0372f0ba
Parent:
525:c320967f86b9
Synchronized with git revision d29c98dae61be0946ddf3a3c641c7726056f9452

Full URL: https://github.com/mbedmicro/mbed/commit/d29c98dae61be0946ddf3a3c641c7726056f9452/

Added support for SAMW25

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 525:c320967f86b9 1 /* mbed Microcontroller Library
mbed_official 525:c320967f86b9 2 * Copyright (c) 2015 ARM Limited
mbed_official 525:c320967f86b9 3 *
mbed_official 525:c320967f86b9 4 * Licensed under the Apache License, Version 2.0 (the "License");
mbed_official 525:c320967f86b9 5 * you may not use this file except in compliance with the License.
mbed_official 525:c320967f86b9 6 * You may obtain a copy of the License at
mbed_official 525:c320967f86b9 7 *
mbed_official 525:c320967f86b9 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 525:c320967f86b9 9 *
mbed_official 525:c320967f86b9 10 * Unless required by applicable law or agreed to in writing, software
mbed_official 525:c320967f86b9 11 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 525:c320967f86b9 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 525:c320967f86b9 13 * See the License for the specific language governing permissions and
mbed_official 525:c320967f86b9 14 * limitations under the License.
mbed_official 525:c320967f86b9 15 */
mbed_official 525:c320967f86b9 16 #ifndef MBED_TRANSACTION_H
mbed_official 525:c320967f86b9 17 #define MBED_TRANSACTION_H
mbed_official 525:c320967f86b9 18
mbed_official 525:c320967f86b9 19 #include "platform.h"
mbed_official 525:c320967f86b9 20 #include "FunctionPointer.h"
mbed_official 525:c320967f86b9 21
mbed_official 525:c320967f86b9 22 namespace mbed {
mbed_official 525:c320967f86b9 23
mbed_official 525:c320967f86b9 24 /** Transaction structure
mbed_official 525:c320967f86b9 25 */
mbed_official 525:c320967f86b9 26 typedef struct {
mbed_official 525:c320967f86b9 27 void *tx_buffer; /**< Tx buffer */
mbed_official 525:c320967f86b9 28 size_t tx_length; /**< Length of Tx buffer*/
mbed_official 525:c320967f86b9 29 void *rx_buffer; /**< Rx buffer */
mbed_official 525:c320967f86b9 30 size_t rx_length; /**< Length of Rx buffer */
mbed_official 525:c320967f86b9 31 uint32_t event; /**< Event for a transaction */
mbed_official 525:c320967f86b9 32 event_callback_t callback; /**< User's callback */
mbed_official 525:c320967f86b9 33 uint8_t width; /**< Buffer's word width (8, 16, 32, 64) */
mbed_official 525:c320967f86b9 34 } transaction_t;
mbed_official 525:c320967f86b9 35
mbed_official 525:c320967f86b9 36 /** Transaction class defines a transaction.
mbed_official 525:c320967f86b9 37 */
mbed_official 525:c320967f86b9 38 template<typename Class>
mbed_official 525:c320967f86b9 39 class Transaction {
mbed_official 525:c320967f86b9 40 public:
mbed_official 525:c320967f86b9 41 Transaction(Class *tpointer, const transaction_t& transaction) : _obj(tpointer), _data(transaction) {
mbed_official 525:c320967f86b9 42 }
mbed_official 525:c320967f86b9 43
mbed_official 525:c320967f86b9 44 Transaction() : _obj(), _data() {
mbed_official 525:c320967f86b9 45 }
mbed_official 525:c320967f86b9 46
mbed_official 525:c320967f86b9 47 ~Transaction() {
mbed_official 525:c320967f86b9 48 }
mbed_official 525:c320967f86b9 49
mbed_official 525:c320967f86b9 50 /** Get object's instance for the transaction
mbed_official 525:c320967f86b9 51 *
mbed_official 525:c320967f86b9 52 * @return The object which was stored
mbed_official 525:c320967f86b9 53 */
mbed_official 525:c320967f86b9 54 Class* get_object() {
mbed_official 525:c320967f86b9 55 return _obj;
mbed_official 525:c320967f86b9 56 }
mbed_official 525:c320967f86b9 57
mbed_official 525:c320967f86b9 58 /** Get the transaction
mbed_official 525:c320967f86b9 59 *
mbed_official 525:c320967f86b9 60 * @return The transaction which was stored
mbed_official 525:c320967f86b9 61 */
mbed_official 525:c320967f86b9 62 transaction_t* get_transaction() {
mbed_official 525:c320967f86b9 63 return &_data;
mbed_official 525:c320967f86b9 64 }
mbed_official 525:c320967f86b9 65
mbed_official 525:c320967f86b9 66 private:
mbed_official 525:c320967f86b9 67 Class* _obj;
mbed_official 525:c320967f86b9 68 transaction_t _data;
mbed_official 525:c320967f86b9 69 };
mbed_official 525:c320967f86b9 70
mbed_official 525:c320967f86b9 71 }
mbed_official 525:c320967f86b9 72
mbed_official 525:c320967f86b9 73 #endif