NFC API for mbed using the MicroNFCBoard as a peripheral

Dependents:   MicroNFCBoardAPI_P2P_Client MicroNFCBoardAPI_Blink MicroNFCBoardAPI_Tag_Emulator MicroNFCBoardAPI_Tag_Reader ... more

Committer:
AppNearMe
Date:
Fri Apr 24 12:59:31 2015 +0000
Revision:
1:1d246e0872c6
Parent:
0:07fa9c0dd549
Child:
2:9b0733b8fa95
Set license to Apache 2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AppNearMe 1:1d246e0872c6 1 /*
AppNearMe 1:1d246e0872c6 2 MicroNFCBoard mbed API
AppNearMe 1:1d246e0872c6 3
AppNearMe 1:1d246e0872c6 4 Copyright (c) 2014-2015 AppNearMe Ltd
AppNearMe 1:1d246e0872c6 5
AppNearMe 1:1d246e0872c6 6 Licensed under the Apache License, Version 2.0 (the "License");
AppNearMe 1:1d246e0872c6 7 you may not use this file except in compliance with the License.
AppNearMe 1:1d246e0872c6 8 You may obtain a copy of the License at
AppNearMe 1:1d246e0872c6 9
AppNearMe 1:1d246e0872c6 10 http://www.apache.org/licenses/LICENSE-2.0
AppNearMe 1:1d246e0872c6 11
AppNearMe 1:1d246e0872c6 12 Unless required by applicable law or agreed to in writing, software
AppNearMe 1:1d246e0872c6 13 distributed under the License is distributed on an "AS IS" BASIS,
AppNearMe 1:1d246e0872c6 14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AppNearMe 1:1d246e0872c6 15 See the License for the specific language governing permissions and
AppNearMe 1:1d246e0872c6 16 limitations under the License.
AppNearMe 0:07fa9c0dd549 17 */
AppNearMe 0:07fa9c0dd549 18 #ifndef SRC_MICRONFCBOARD_H_
AppNearMe 0:07fa9c0dd549 19 #define SRC_MICRONFCBOARD_H_
AppNearMe 0:07fa9c0dd549 20
AppNearMe 0:07fa9c0dd549 21 #include "mbed.h"
AppNearMe 0:07fa9c0dd549 22 #include <cstddef>
AppNearMe 0:07fa9c0dd549 23
AppNearMe 0:07fa9c0dd549 24 #include "transport.h"
AppNearMe 0:07fa9c0dd549 25
AppNearMe 0:07fa9c0dd549 26 class MicroNFCBoard
AppNearMe 0:07fa9c0dd549 27 {
AppNearMe 0:07fa9c0dd549 28 public:
AppNearMe 0:07fa9c0dd549 29 MicroNFCBoard(PinName mosi, PinName miso, PinName sck, PinName cs, PinName irq);
AppNearMe 0:07fa9c0dd549 30
AppNearMe 0:07fa9c0dd549 31 void init();
AppNearMe 0:07fa9c0dd549 32
AppNearMe 0:07fa9c0dd549 33 void setLeds(bool led1, bool led2);
AppNearMe 0:07fa9c0dd549 34
AppNearMe 0:07fa9c0dd549 35 void updateStatus();
AppNearMe 0:07fa9c0dd549 36
AppNearMe 0:07fa9c0dd549 37 bool connected();
AppNearMe 0:07fa9c0dd549 38
AppNearMe 0:07fa9c0dd549 39 bool type2();
AppNearMe 0:07fa9c0dd549 40
AppNearMe 0:07fa9c0dd549 41 bool p2p();
AppNearMe 0:07fa9c0dd549 42
AppNearMe 0:07fa9c0dd549 43 bool polling();
AppNearMe 0:07fa9c0dd549 44
AppNearMe 0:07fa9c0dd549 45 bool ndefReadable();
AppNearMe 0:07fa9c0dd549 46
AppNearMe 0:07fa9c0dd549 47 bool ndefWriteable();
AppNearMe 0:07fa9c0dd549 48
AppNearMe 0:07fa9c0dd549 49 bool ndefPresent();
AppNearMe 0:07fa9c0dd549 50
AppNearMe 0:07fa9c0dd549 51 bool ndefBusy();
AppNearMe 0:07fa9c0dd549 52
AppNearMe 0:07fa9c0dd549 53 bool ndefSuccess();
AppNearMe 0:07fa9c0dd549 54
AppNearMe 0:07fa9c0dd549 55 void startPolling();
AppNearMe 0:07fa9c0dd549 56
AppNearMe 0:07fa9c0dd549 57 void stopPolling();
AppNearMe 0:07fa9c0dd549 58
AppNearMe 0:07fa9c0dd549 59 void ndefRead();
AppNearMe 0:07fa9c0dd549 60
AppNearMe 0:07fa9c0dd549 61 void ndefWrite();
AppNearMe 0:07fa9c0dd549 62
AppNearMe 0:07fa9c0dd549 63 bool readNdefUri(char* uri, size_t maxUriLength);
AppNearMe 0:07fa9c0dd549 64
AppNearMe 0:07fa9c0dd549 65 bool readNdefText(char* text, size_t maxTextLength);
AppNearMe 0:07fa9c0dd549 66
AppNearMe 0:07fa9c0dd549 67 void writeNdefUri(char* uri);
AppNearMe 0:07fa9c0dd549 68
AppNearMe 0:07fa9c0dd549 69 void writeNdefText(char* text);
AppNearMe 0:07fa9c0dd549 70
AppNearMe 0:07fa9c0dd549 71 protected:
AppNearMe 0:07fa9c0dd549 72 Transport _transport;
AppNearMe 0:07fa9c0dd549 73
AppNearMe 0:07fa9c0dd549 74 private:
AppNearMe 0:07fa9c0dd549 75 uint32_t _status;
AppNearMe 0:07fa9c0dd549 76 };
AppNearMe 0:07fa9c0dd549 77
AppNearMe 0:07fa9c0dd549 78 #endif /* SRC_MICRONFCBOARD_H_ */