This is the sample program that can see the decode result of barcode data on Watson IoT.

Dependencies:   AsciiFont DisplayApp GR-PEACH_video LCD_shield_config LWIPBP3595Interface_STA_for_mbed-os USBDevice

Committer:
Osamu Nakamura
Date:
Thu Nov 10 20:23:55 2016 +0900
Revision:
1:67f8b5cfde75
Parent:
0:7d720671e6dc
Revised the initial value of /888/0/7700

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Osamu Nakamura 0:7d720671e6dc 1 /**
Osamu Nakamura 0:7d720671e6dc 2 * @file MinarResourceObserver.cpp
Osamu Nakamura 0:7d720671e6dc 3 * @brief mbed CoAP DynamicResource Minar-based observer (implementation)
Osamu Nakamura 0:7d720671e6dc 4 * @author Doug Anson/Chris Paola
Osamu Nakamura 0:7d720671e6dc 5 * @version 1.0
Osamu Nakamura 0:7d720671e6dc 6 * @see
Osamu Nakamura 0:7d720671e6dc 7 *
Osamu Nakamura 0:7d720671e6dc 8 * Copyright (c) 2014
Osamu Nakamura 0:7d720671e6dc 9 *
Osamu Nakamura 0:7d720671e6dc 10 * Licensed under the Apache License, Version 2.0 (the "License");
Osamu Nakamura 0:7d720671e6dc 11 * you may not use this file except in compliance with the License.
Osamu Nakamura 0:7d720671e6dc 12 * You may obtain a copy of the License at
Osamu Nakamura 0:7d720671e6dc 13 *
Osamu Nakamura 0:7d720671e6dc 14 * http://www.apache.org/licenses/LICENSE-2.0
Osamu Nakamura 0:7d720671e6dc 15 *
Osamu Nakamura 0:7d720671e6dc 16 * Unless required by applicable law or agreed to in writing, software
Osamu Nakamura 0:7d720671e6dc 17 * distributed under the License is distributed on an "AS IS" BASIS,
Osamu Nakamura 0:7d720671e6dc 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Osamu Nakamura 0:7d720671e6dc 19 * See the License for the specific language governing permissions and
Osamu Nakamura 0:7d720671e6dc 20 * limitations under the License.
Osamu Nakamura 0:7d720671e6dc 21 */
Osamu Nakamura 0:7d720671e6dc 22
Osamu Nakamura 0:7d720671e6dc 23 // class support
Osamu Nakamura 0:7d720671e6dc 24 #include "mbed-connector-interface/MinarResourceObserver.h"
Osamu Nakamura 0:7d720671e6dc 25
Osamu Nakamura 0:7d720671e6dc 26 #if defined(MCI_MINAR_SCHEDULER)
Osamu Nakamura 0:7d720671e6dc 27
Osamu Nakamura 0:7d720671e6dc 28 // constructor
Osamu Nakamura 0:7d720671e6dc 29 MinarResourceObserver::MinarResourceObserver(DynamicResource *resource,int sleep_time) : ResourceObserver(resource,sleep_time) {
Osamu Nakamura 0:7d720671e6dc 30 this->setObserving(false);
Osamu Nakamura 0:7d720671e6dc 31
Osamu Nakamura 0:7d720671e6dc 32 // DEBUG
Osamu Nakamura 0:7d720671e6dc 33 if (sleep_time > 0) {
Osamu Nakamura 0:7d720671e6dc 34 this->logger()->log("MinarResourceObserver being used for %s (sleep_time: %d ms)",resource->getFullName().c_str(),sleep_time);
Osamu Nakamura 0:7d720671e6dc 35 }
Osamu Nakamura 0:7d720671e6dc 36 else {
Osamu Nakamura 0:7d720671e6dc 37 this->logger()->log("MinarResourceObserver being used for %s",resource->getFullName().c_str());
Osamu Nakamura 0:7d720671e6dc 38 }
Osamu Nakamura 0:7d720671e6dc 39 }
Osamu Nakamura 0:7d720671e6dc 40
Osamu Nakamura 0:7d720671e6dc 41 // destructor
Osamu Nakamura 0:7d720671e6dc 42 MinarResourceObserver::~MinarResourceObserver() {
Osamu Nakamura 0:7d720671e6dc 43 this->stopObservation();
Osamu Nakamura 0:7d720671e6dc 44 }
Osamu Nakamura 0:7d720671e6dc 45
Osamu Nakamura 0:7d720671e6dc 46 // notifier
Osamu Nakamura 0:7d720671e6dc 47 void MinarResourceObserver::perform_observation() {
Osamu Nakamura 0:7d720671e6dc 48 if (this->isObserving() == true && this->getResource() != NULL && this->getResource()->isConnected() == true) {
Osamu Nakamura 0:7d720671e6dc 49 this->getResource()->observe();
Osamu Nakamura 0:7d720671e6dc 50 }
Osamu Nakamura 0:7d720671e6dc 51 }
Osamu Nakamura 0:7d720671e6dc 52
Osamu Nakamura 0:7d720671e6dc 53 // begin observing...
Osamu Nakamura 0:7d720671e6dc 54 void MinarResourceObserver::beginObservation() {
Osamu Nakamura 0:7d720671e6dc 55 this->setObserving(true);
Osamu Nakamura 0:7d720671e6dc 56 minar::Scheduler::postCallback(this,&MinarResourceObserver::perform_observation).period(minar::milliseconds(this->getSleepTime()));
Osamu Nakamura 0:7d720671e6dc 57 }
Osamu Nakamura 0:7d720671e6dc 58
Osamu Nakamura 0:7d720671e6dc 59 // stop observing...
Osamu Nakamura 0:7d720671e6dc 60 void MinarResourceObserver::stopObservation() {
Osamu Nakamura 0:7d720671e6dc 61 this->setObserving(false);
Osamu Nakamura 0:7d720671e6dc 62 }
Osamu Nakamura 0:7d720671e6dc 63
Osamu Nakamura 0:7d720671e6dc 64 // halt the underlying observer mechanism
Osamu Nakamura 0:7d720671e6dc 65 void MinarResourceObserver::halt() {
Osamu Nakamura 0:7d720671e6dc 66 minar::Scheduler::stop();
Osamu Nakamura 0:7d720671e6dc 67 }
Osamu Nakamura 0:7d720671e6dc 68
Osamu Nakamura 0:7d720671e6dc 69 #endif // MCI_MINAR_SCHEDULER