Vodafone K3770/K3772-Z modems driver & networking library

Dependencies:   Socket

This library is deprecated. Please use the newest production branch of the library from https://mbed.org/users/mbed_official/code/VodafoneUSBModem/

Committer:
donatien
Date:
Thu Nov 01 09:57:11 2012 +0000
Revision:
2:50930edb6eb3
Parent:
0:bd5343539e38
Deprecated library, pointing out to new one

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:bd5343539e38 1 /* IUSBHostSerial.h */
donatien 0:bd5343539e38 2 /*
donatien 0:bd5343539e38 3 Copyright (C) 2012 ARM Limited.
donatien 0:bd5343539e38 4
donatien 0:bd5343539e38 5 Permission is hereby granted, free of charge, to any person obtaining a copy of
donatien 0:bd5343539e38 6 this software and associated documentation files (the "Software"), to deal in
donatien 0:bd5343539e38 7 the Software without restriction, including without limitation the rights to
donatien 0:bd5343539e38 8 use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
donatien 0:bd5343539e38 9 of the Software, and to permit persons to whom the Software is furnished to do
donatien 0:bd5343539e38 10 so, subject to the following conditions:
donatien 0:bd5343539e38 11
donatien 0:bd5343539e38 12 The above copyright notice and this permission notice shall be included in all
donatien 0:bd5343539e38 13 copies or substantial portions of the Software.
donatien 0:bd5343539e38 14
donatien 0:bd5343539e38 15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
donatien 0:bd5343539e38 16 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
donatien 0:bd5343539e38 17 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
donatien 0:bd5343539e38 18 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
donatien 0:bd5343539e38 19 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
donatien 0:bd5343539e38 20 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
donatien 0:bd5343539e38 21 SOFTWARE.
donatien 0:bd5343539e38 22 */
donatien 0:bd5343539e38 23
donatien 0:bd5343539e38 24
donatien 0:bd5343539e38 25 #ifndef IUSBHOSTSERIAL_H_
donatien 0:bd5343539e38 26 #define IUSBHOSTSERIAL_H_
donatien 0:bd5343539e38 27
donatien 0:bd5343539e38 28 /**
donatien 0:bd5343539e38 29 * Generic interface to abstract 3G dongles' impl
donatien 0:bd5343539e38 30 */
donatien 0:bd5343539e38 31
donatien 0:bd5343539e38 32 #include "IUSBHostSerialListener.h"
donatien 0:bd5343539e38 33
donatien 0:bd5343539e38 34 class IUSBHostSerial {
donatien 0:bd5343539e38 35 public:
donatien 0:bd5343539e38 36
donatien 0:bd5343539e38 37 enum IrqType {
donatien 0:bd5343539e38 38 RxIrq,
donatien 0:bd5343539e38 39 TxIrq
donatien 0:bd5343539e38 40 };
donatien 0:bd5343539e38 41
donatien 0:bd5343539e38 42 /*
donatien 0:bd5343539e38 43 * Get a char from the dongle's serial interface
donatien 0:bd5343539e38 44 */
donatien 0:bd5343539e38 45 virtual int getc() = 0;
donatien 0:bd5343539e38 46
donatien 0:bd5343539e38 47 /*
donatien 0:bd5343539e38 48 * Put a char to the dongle's serial interface
donatien 0:bd5343539e38 49 */
donatien 0:bd5343539e38 50 virtual int putc(int c) = 0;
donatien 0:bd5343539e38 51
donatien 0:bd5343539e38 52 /*
donatien 0:bd5343539e38 53 * Read a packet from the dongle's serial interface, to be called after multiple getc() calls
donatien 0:bd5343539e38 54 */
donatien 0:bd5343539e38 55 virtual int readPacket() = 0;
donatien 0:bd5343539e38 56
donatien 0:bd5343539e38 57 /*
donatien 0:bd5343539e38 58 * Write a packet to the dongle's serial interface, to be called after multiple putc() calls
donatien 0:bd5343539e38 59 */
donatien 0:bd5343539e38 60 virtual int writePacket() = 0;
donatien 0:bd5343539e38 61
donatien 0:bd5343539e38 62 /**
donatien 0:bd5343539e38 63 * Check the number of bytes available.
donatien 0:bd5343539e38 64 *
donatien 0:bd5343539e38 65 * @returns the number of bytes available
donatien 0:bd5343539e38 66 */
donatien 0:bd5343539e38 67 virtual int readable() = 0;
donatien 0:bd5343539e38 68
donatien 0:bd5343539e38 69 /**
donatien 0:bd5343539e38 70 * Check the free space in output.
donatien 0:bd5343539e38 71 *
donatien 0:bd5343539e38 72 * @returns the number of bytes available
donatien 0:bd5343539e38 73 */
donatien 0:bd5343539e38 74 virtual int writeable() = 0;
donatien 0:bd5343539e38 75
donatien 0:bd5343539e38 76 /**
donatien 0:bd5343539e38 77 * Attach a handler to call when a packet is received / when a packet has been transmitted.
donatien 0:bd5343539e38 78 *
donatien 0:bd5343539e38 79 * @param pListener instance of the listener deriving from the IUSBHostSerialListener
donatien 0:bd5343539e38 80 */
donatien 0:bd5343539e38 81 virtual void attach(IUSBHostSerialListener* pListener) = 0;
donatien 0:bd5343539e38 82
donatien 0:bd5343539e38 83 /**
donatien 0:bd5343539e38 84 * Enable or disable readable/writeable callbacks
donatien 0:bd5343539e38 85 */
donatien 0:bd5343539e38 86 virtual void setupIrq(bool en, IrqType irq = RxIrq) = 0;
donatien 0:bd5343539e38 87
donatien 0:bd5343539e38 88 };
donatien 0:bd5343539e38 89
donatien 0:bd5343539e38 90 #endif /* IUSBHOSTSERIAL_H_ */