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
mbedConnectorInterface/source/MinarResourceObserver.cpp@1:67f8b5cfde75, 2016-11-10 (annotated)
- 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?
User | Revision | Line number | New 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 |