mbed device for IPSO Interop 2015

Dependencies:   Chainable_RGB_LED DHT LED_Bar mbed mbedConnectorInterface mbedEndpointNetwork_mjk_regfix

Committer:
michaeljkoster
Date:
Tue May 19 21:34:25 2015 +0000
Revision:
0:f299ce844c09
initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
michaeljkoster 0:f299ce844c09 1 /**
michaeljkoster 0:f299ce844c09 2 * @file BuzzerResource.h
michaeljkoster 0:f299ce844c09 3 * @brief mbed CoAP Endpoint
michaeljkoster 0:f299ce844c09 4 * @author Doug Anson, Michael Koster
michaeljkoster 0:f299ce844c09 5 * @version 1.0
michaeljkoster 0:f299ce844c09 6 * @see
michaeljkoster 0:f299ce844c09 7 *
michaeljkoster 0:f299ce844c09 8 * Copyright (c) 2014
michaeljkoster 0:f299ce844c09 9 *
michaeljkoster 0:f299ce844c09 10 * Licensed under the Apache License, Version 2.0 (the "License");
michaeljkoster 0:f299ce844c09 11 * you may not use this file except in compliance with the License.
michaeljkoster 0:f299ce844c09 12 * You may obtain a copy of the License at
michaeljkoster 0:f299ce844c09 13 *
michaeljkoster 0:f299ce844c09 14 * http://www.apache.org/licenses/LICENSE-2.0
michaeljkoster 0:f299ce844c09 15 *
michaeljkoster 0:f299ce844c09 16 * Unless required by applicable law or agreed to in writing, software
michaeljkoster 0:f299ce844c09 17 * distributed under the License is distributed on an "AS IS" BASIS,
michaeljkoster 0:f299ce844c09 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
michaeljkoster 0:f299ce844c09 19 * See the License for the specific language governing permissions and
michaeljkoster 0:f299ce844c09 20 * limitations under the License.
michaeljkoster 0:f299ce844c09 21 */
michaeljkoster 0:f299ce844c09 22
michaeljkoster 0:f299ce844c09 23 #ifndef __BUZZER_RESOURCE_H__
michaeljkoster 0:f299ce844c09 24 #define __BUZZER_RESOURCE_H__
michaeljkoster 0:f299ce844c09 25
michaeljkoster 0:f299ce844c09 26
michaeljkoster 0:f299ce844c09 27 // Base class
michaeljkoster 0:f299ce844c09 28 #include "DynamicResource.h"
michaeljkoster 0:f299ce844c09 29
michaeljkoster 0:f299ce844c09 30 // our buzzer
michaeljkoster 0:f299ce844c09 31 DigitalOut buzzer_out(D4);
michaeljkoster 0:f299ce844c09 32
michaeljkoster 0:f299ce844c09 33 bool buzzing = 0;
michaeljkoster 0:f299ce844c09 34
michaeljkoster 0:f299ce844c09 35 /** BuzzerResource class
michaeljkoster 0:f299ce844c09 36 */
michaeljkoster 0:f299ce844c09 37 class BuzzerResource : public DynamicResource
michaeljkoster 0:f299ce844c09 38 {
michaeljkoster 0:f299ce844c09 39
michaeljkoster 0:f299ce844c09 40 public:
michaeljkoster 0:f299ce844c09 41 /**
michaeljkoster 0:f299ce844c09 42 Default constructor
michaeljkoster 0:f299ce844c09 43 @param logger input logger instance for this resource
michaeljkoster 0:f299ce844c09 44 @param name input the Light resource name
michaeljkoster 0:f299ce844c09 45 @param observable input the resource is Observable (default: FALSE)
michaeljkoster 0:f299ce844c09 46 */
michaeljkoster 0:f299ce844c09 47 BuzzerResource(const Logger *logger,const char *name,const bool observable = false) :
michaeljkoster 0:f299ce844c09 48 DynamicResource(logger,name,"urn:X-IPSO:digital-output",SN_GRS_GET_ALLOWED|SN_GRS_PUT_ALLOWED,observable) {
michaeljkoster 0:f299ce844c09 49 }
michaeljkoster 0:f299ce844c09 50 /**
michaeljkoster 0:f299ce844c09 51 Get the on/off value of buzzer
michaeljkoster 0:f299ce844c09 52 @returns string containing the last setting
michaeljkoster 0:f299ce844c09 53 */
michaeljkoster 0:f299ce844c09 54 virtual string get() {
michaeljkoster 0:f299ce844c09 55 if(buzzing) return ("1");
michaeljkoster 0:f299ce844c09 56 else return ("0");
michaeljkoster 0:f299ce844c09 57 }
michaeljkoster 0:f299ce844c09 58
michaeljkoster 0:f299ce844c09 59 /**
michaeljkoster 0:f299ce844c09 60 Set the value of the buzzer
michaeljkoster 0:f299ce844c09 61 @param string input 0 for quiet, 1 for buzz
michaeljkoster 0:f299ce844c09 62 */
michaeljkoster 0:f299ce844c09 63 virtual void put(const string value) {
michaeljkoster 0:f299ce844c09 64 if (value == "1") {
michaeljkoster 0:f299ce844c09 65 buzzing = 1;
michaeljkoster 0:f299ce844c09 66 buzzer_out = 1;
michaeljkoster 0:f299ce844c09 67 }
michaeljkoster 0:f299ce844c09 68 else if (value == "0"){
michaeljkoster 0:f299ce844c09 69 buzzing = 0;
michaeljkoster 0:f299ce844c09 70 buzzer_out = 0;
michaeljkoster 0:f299ce844c09 71 }
michaeljkoster 0:f299ce844c09 72 }
michaeljkoster 0:f299ce844c09 73 };
michaeljkoster 0:f299ce844c09 74
michaeljkoster 0:f299ce844c09 75 #endif // __BUZZER_RESOURCE_H__