Changeset 231 for rtos_arduino/trunk


Ignore:
Timestamp:
May 4, 2016, 9:45:02 PM (8 years ago)
Author:
ertl-honda
Message:

セマフォの追加

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rtos_arduino/trunk/arduino_lib/libraries/Milkcocoa_Arduino_SDK/Milkcocoa.cpp

    r184 r231  
    2424*/
    2525#include "Milkcocoa.h"
     26#include "rca.h"
    2627
    2728DataElement::DataElement() {
     
    124125
    125126  MILKCOCOA_DEBUG_PRINTLN("Connecting to MQTT... ");
    126 
     127   
     128  wai_sem(MILKCOCOA_SEM);
    127129  while ((ret = mqtt->connect()) != 0) { // connect will return 0 for connected
    128130      mqtt->disconnect();
    129131      // Timeout
    130132      if ((tmout !=  0) && (++retry == tmout)) {
     133          sig_sem(MILKCOCOA_SEM);
    131134          return ret;
    132135      }
     
    134137  }
    135138  MILKCOCOA_DEBUG_PRINTLN("MQTT Connected!");
    136 
     139  sig_sem(MILKCOCOA_SEM);
     140   
    137141  return 0; 
    138142}
     
    144148
    145149  if((ret = connect(timeout)) != 0){return ret;}
    146    
     150
     151  wai_sem(MILKCOCOA_SEM);   
    147152  sprintf(topic, "%s/%s/push", app_id, path);
    148153  Adafruit_MQTT_Publish pushPublisher = Adafruit_MQTT_Publish(mqtt, topic);
     
    150155  ret = (pushPublisher.publish(send_array))? 0 : MILKCOCOA_PUSH_ERRORNO;
    151156  free(send_array);
     157  sig_sem(MILKCOCOA_SEM);
     158   
    152159  return ret;
    153160}
     
    159166
    160167  if((ret = connect(timeout)) != 0){return ret;}
    161    
     168
     169  wai_sem(MILKCOCOA_SEM);       
    162170  sprintf(topic, "%s/%s/send", app_id, path);
    163171  Adafruit_MQTT_Publish pushPublisher = Adafruit_MQTT_Publish(mqtt, topic);
    164172  send_array = pdataelement->toCharArray();
    165173  ret = (pushPublisher.publish(send_array))? 0 : MILKCOCOA_PUSH_ERRORNO;
    166   free(send_array);   
     174  free(send_array);
     175  sig_sem(MILKCOCOA_SEM);
     176   
    167177  return ret;
    168178}
     
    178188
    179189  if((ret = connect(timeout)) != 0){return ret;}
    180    
     190
     191  wai_sem(MILKCOCOA_SEM);   
    181192  Adafruit_MQTT_Subscribe *subscription;
    182193  while ((subscription = mqtt->readSubscription(1000))) {
     
    189200    }
    190201  }
    191 
     202  sig_sem(MILKCOCOA_SEM);
     203   
    192204  return 0; 
    193205}
Note: See TracChangeset for help on using the changeset viewer.