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:
Thu May 14 16:41:27 2015 +0000
Revision:
2:9b0733b8fa95
Parent:
1:1d246e0872c6
https://github.com/AppNearMe/micronfcboard-mbed-peripheral/commit/ed5d798243e8eb6a959c756dbcdfdad4c6e59979

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 2:9b0733b8fa95 18
AppNearMe 0:07fa9c0dd549 19 #ifndef SRC_MICRONFCBOARD_H_
AppNearMe 0:07fa9c0dd549 20 #define SRC_MICRONFCBOARD_H_
AppNearMe 0:07fa9c0dd549 21
AppNearMe 0:07fa9c0dd549 22 #include "mbed.h"
AppNearMe 0:07fa9c0dd549 23 #include <cstddef>
AppNearMe 0:07fa9c0dd549 24
AppNearMe 0:07fa9c0dd549 25 #include "transport.h"
AppNearMe 0:07fa9c0dd549 26
AppNearMe 0:07fa9c0dd549 27 class MicroNFCBoard
AppNearMe 0:07fa9c0dd549 28 {
AppNearMe 0:07fa9c0dd549 29 public:
AppNearMe 0:07fa9c0dd549 30 MicroNFCBoard(PinName mosi, PinName miso, PinName sck, PinName cs, PinName irq);
AppNearMe 0:07fa9c0dd549 31
AppNearMe 0:07fa9c0dd549 32 void init();
AppNearMe 0:07fa9c0dd549 33
AppNearMe 0:07fa9c0dd549 34 void setLeds(bool led1, bool led2);
AppNearMe 0:07fa9c0dd549 35
AppNearMe 0:07fa9c0dd549 36 void updateStatus();
AppNearMe 0:07fa9c0dd549 37
AppNearMe 0:07fa9c0dd549 38 bool connected();
AppNearMe 0:07fa9c0dd549 39
AppNearMe 2:9b0733b8fa95 40 bool type2Tag();
AppNearMe 2:9b0733b8fa95 41
AppNearMe 2:9b0733b8fa95 42 bool type4Emulator();
AppNearMe 0:07fa9c0dd549 43
AppNearMe 0:07fa9c0dd549 44 bool p2p();
AppNearMe 0:07fa9c0dd549 45
AppNearMe 0:07fa9c0dd549 46 bool polling();
AppNearMe 0:07fa9c0dd549 47
AppNearMe 0:07fa9c0dd549 48 bool ndefReadable();
AppNearMe 0:07fa9c0dd549 49
AppNearMe 0:07fa9c0dd549 50 bool ndefWriteable();
AppNearMe 0:07fa9c0dd549 51
AppNearMe 0:07fa9c0dd549 52 bool ndefPresent();
AppNearMe 0:07fa9c0dd549 53
AppNearMe 0:07fa9c0dd549 54 bool ndefBusy();
AppNearMe 0:07fa9c0dd549 55
AppNearMe 0:07fa9c0dd549 56 bool ndefSuccess();
AppNearMe 0:07fa9c0dd549 57
AppNearMe 2:9b0733b8fa95 58 void startPolling(bool readerWriter, bool emulator, bool p2p);
AppNearMe 0:07fa9c0dd549 59
AppNearMe 0:07fa9c0dd549 60 void stopPolling();
AppNearMe 0:07fa9c0dd549 61
AppNearMe 0:07fa9c0dd549 62 void ndefRead();
AppNearMe 0:07fa9c0dd549 63
AppNearMe 0:07fa9c0dd549 64 void ndefWrite();
AppNearMe 0:07fa9c0dd549 65
AppNearMe 0:07fa9c0dd549 66 bool readNdefUri(char* uri, size_t maxUriLength);
AppNearMe 0:07fa9c0dd549 67
AppNearMe 0:07fa9c0dd549 68 bool readNdefText(char* text, size_t maxTextLength);
AppNearMe 0:07fa9c0dd549 69
AppNearMe 2:9b0733b8fa95 70 void writeNdefUri(const char* uri);
AppNearMe 0:07fa9c0dd549 71
AppNearMe 2:9b0733b8fa95 72 void writeNdefText(const char* lang, const char* text);
AppNearMe 0:07fa9c0dd549 73
AppNearMe 0:07fa9c0dd549 74 protected:
AppNearMe 0:07fa9c0dd549 75 Transport _transport;
AppNearMe 0:07fa9c0dd549 76
AppNearMe 0:07fa9c0dd549 77 private:
AppNearMe 0:07fa9c0dd549 78 uint32_t _status;
AppNearMe 0:07fa9c0dd549 79 };
AppNearMe 0:07fa9c0dd549 80
AppNearMe 0:07fa9c0dd549 81 #endif /* SRC_MICRONFCBOARD_H_ */