PIR grove sensor that sends the sensed data to Thingspeak.com through the wifi module ESP 8266

Dependencies:   mbed

Committer:
skrawool
Date:
Mon Dec 05 16:39:27 2016 +0000
Revision:
0:3954a906acc2
PIR grove sensor that sends the sensed data to thingspeak through the wifi module ESP 8266

Who changed what in which revision?

UserRevisionLine numberNew contents of line
skrawool 0:3954a906acc2 1 /* mbed Microcontroller Library
skrawool 0:3954a906acc2 2 * Copyright (c) 2006-2013 ARM Limited
skrawool 0:3954a906acc2 3 *
skrawool 0:3954a906acc2 4 * Licensed under the Apache License, Version 2.0 (the "License");
skrawool 0:3954a906acc2 5 * you may not use this file except in compliance with the License.
skrawool 0:3954a906acc2 6 * You may obtain a copy of the License at
skrawool 0:3954a906acc2 7 *
skrawool 0:3954a906acc2 8 * http://www.apache.org/licenses/LICENSE-2.0
skrawool 0:3954a906acc2 9 *
skrawool 0:3954a906acc2 10 * Unless required by applicable law or agreed to in writing, software
skrawool 0:3954a906acc2 11 * distributed under the License is distributed on an "AS IS" BASIS,
skrawool 0:3954a906acc2 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
skrawool 0:3954a906acc2 13 * See the License for the specific language governing permissions and
skrawool 0:3954a906acc2 14 * limitations under the License.
skrawool 0:3954a906acc2 15 */
skrawool 0:3954a906acc2 16 #ifndef MBED_SERIAL_H
skrawool 0:3954a906acc2 17 #define MBED_SERIAL_H
skrawool 0:3954a906acc2 18
skrawool 0:3954a906acc2 19 #include "platform/platform.h"
skrawool 0:3954a906acc2 20
skrawool 0:3954a906acc2 21 #if DEVICE_SERIAL
skrawool 0:3954a906acc2 22
skrawool 0:3954a906acc2 23 #include "Stream.h"
skrawool 0:3954a906acc2 24 #include "SerialBase.h"
skrawool 0:3954a906acc2 25 #include "PlatformMutex.h"
skrawool 0:3954a906acc2 26 #include "serial_api.h"
skrawool 0:3954a906acc2 27
skrawool 0:3954a906acc2 28 namespace mbed {
skrawool 0:3954a906acc2 29 /** \addtogroup drivers */
skrawool 0:3954a906acc2 30 /** @{*/
skrawool 0:3954a906acc2 31
skrawool 0:3954a906acc2 32 /** A serial port (UART) for communication with other serial devices
skrawool 0:3954a906acc2 33 *
skrawool 0:3954a906acc2 34 * Can be used for Full Duplex communication, or Simplex by specifying
skrawool 0:3954a906acc2 35 * one pin as NC (Not Connected)
skrawool 0:3954a906acc2 36 *
skrawool 0:3954a906acc2 37 * @Note Synchronization level: Thread safe
skrawool 0:3954a906acc2 38 *
skrawool 0:3954a906acc2 39 * Example:
skrawool 0:3954a906acc2 40 * @code
skrawool 0:3954a906acc2 41 * // Print "Hello World" to the PC
skrawool 0:3954a906acc2 42 *
skrawool 0:3954a906acc2 43 * #include "mbed.h"
skrawool 0:3954a906acc2 44 *
skrawool 0:3954a906acc2 45 * Serial pc(USBTX, USBRX);
skrawool 0:3954a906acc2 46 *
skrawool 0:3954a906acc2 47 * int main() {
skrawool 0:3954a906acc2 48 * pc.printf("Hello World\n");
skrawool 0:3954a906acc2 49 * }
skrawool 0:3954a906acc2 50 * @endcode
skrawool 0:3954a906acc2 51 */
skrawool 0:3954a906acc2 52 class Serial : public SerialBase, public Stream {
skrawool 0:3954a906acc2 53
skrawool 0:3954a906acc2 54 public:
skrawool 0:3954a906acc2 55 #if DEVICE_SERIAL_ASYNCH
skrawool 0:3954a906acc2 56 using SerialBase::read;
skrawool 0:3954a906acc2 57 using SerialBase::write;
skrawool 0:3954a906acc2 58 #endif
skrawool 0:3954a906acc2 59
skrawool 0:3954a906acc2 60 /** Create a Serial port, connected to the specified transmit and receive pins
skrawool 0:3954a906acc2 61 *
skrawool 0:3954a906acc2 62 * @param tx Transmit pin
skrawool 0:3954a906acc2 63 * @param rx Receive pin
skrawool 0:3954a906acc2 64 * @param name The name of the stream associated with this serial port (optional)
skrawool 0:3954a906acc2 65 * @param baud The baud rate of the serial port (optional, defaults to MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE)
skrawool 0:3954a906acc2 66 *
skrawool 0:3954a906acc2 67 * @note
skrawool 0:3954a906acc2 68 * Either tx or rx may be specified as NC if unused
skrawool 0:3954a906acc2 69 */
skrawool 0:3954a906acc2 70 Serial(PinName tx, PinName rx, const char *name=NULL, int baud = MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE);
skrawool 0:3954a906acc2 71
skrawool 0:3954a906acc2 72
skrawool 0:3954a906acc2 73 /** Create a Serial port, connected to the specified transmit and receive pins, with the specified baud
skrawool 0:3954a906acc2 74 *
skrawool 0:3954a906acc2 75 * @param tx Transmit pin
skrawool 0:3954a906acc2 76 * @param rx Receive pin
skrawool 0:3954a906acc2 77 * @param baud The baud rate of the serial port
skrawool 0:3954a906acc2 78 *
skrawool 0:3954a906acc2 79 * @note
skrawool 0:3954a906acc2 80 * Either tx or rx may be specified as NC if unused
skrawool 0:3954a906acc2 81 */
skrawool 0:3954a906acc2 82 Serial(PinName tx, PinName rx, int baud);
skrawool 0:3954a906acc2 83
skrawool 0:3954a906acc2 84 protected:
skrawool 0:3954a906acc2 85 virtual int _getc();
skrawool 0:3954a906acc2 86 virtual int _putc(int c);
skrawool 0:3954a906acc2 87 virtual void lock();
skrawool 0:3954a906acc2 88 virtual void unlock();
skrawool 0:3954a906acc2 89
skrawool 0:3954a906acc2 90 PlatformMutex _mutex;
skrawool 0:3954a906acc2 91 };
skrawool 0:3954a906acc2 92
skrawool 0:3954a906acc2 93 } // namespace mbed
skrawool 0:3954a906acc2 94
skrawool 0:3954a906acc2 95 #endif
skrawool 0:3954a906acc2 96
skrawool 0:3954a906acc2 97 #endif
skrawool 0:3954a906acc2 98
skrawool 0:3954a906acc2 99 /** @}*/