Ignore:
Timestamp:
Jan 14, 2016, 1:17:21 PM (8 years ago)
Author:
coas-nagasima
Message:

・デジタルPinとアナログPinのWAMPトピックを追加し、PubSubできるように機能追加。

デジタルPINのトピックは、

「com.sonycsl.kadecot.arduino.topic.pinXX」(XXは0から13)

アナログPINのトピックは、

「com.sonycsl.kadecot.arduino.topic.pinXX.thrYYY」(XXは14から19、YYYは閾値十進)

・デバッグ用の使用していない文字列が、ROM領域に残ってしまうのを修正
・WebSocket接続時のHTTPヘッダーを1行ずつNAK応答を待って送信しているのを、一括で送るよう変更

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uKadecot/trunk/kadecot/wamp_broker.h

    r108 r152  
    3939#define WAMP_BROKER_H
    4040
     41typedef enum wamp_subscription_kind
     42{
     43        WAMP_SUBSCRIPTION_KIND_NONE,
     44        WAMP_SUBSCRIPTION_KIND_ECHONETLITE,
     45        WAMP_SUBSCRIPTION_KIND_ARDUINO,
     46} wamp_subscription_kind_t;
     47
     48typedef struct wamp_echonetlite_subscription
     49{
     50        char deviceName[40];
     51        char *proprtyName;
     52        uint16_t devType;
     53        uint8_t epc;
     54} wamp_echonetlite_subscription_t;
     55
     56typedef struct wamp_arduino_subscription
     57{
     58        uint8_t pinno;
     59        uint16_t threshold;
     60} wamp_arduino_subscription_t;
     61
    4162typedef struct wamp_subscription
    4263{
     
    4465        unsigned int requestId;
    4566        int subscriptionId;
    46         char deviceName[40];
    47         char *proprtyName;
    48         uint16_t devType;
    49         uint8_t epc;
     67        wamp_subscription_kind_t kind;
     68        union{
     69                wamp_echonetlite_subscription_t echonetlite;
     70                wamp_arduino_subscription_t arduino;
     71        };
    5072} wamp_subscription_t;
    5173
     
    5577        unsigned int requestId;
    5678        int subscriptionId;
    57         wamp_subscription_t subscriptions[10];
     79        wamp_subscription_t subscriptions[30];
    5880        wamp_subscription_t *current_subscription;
    5981        const char *error;
     
    6688void wamp_broker_subscribe_options(wamp_broker_t *broker);
    6789void wamp_broker_subscribe_topic(wamp_broker_t *broker, const char *value);
     90void wamp_broker_subscribe_echonetlite_topic(wamp_broker_t *broker, const char *value, int pos);
     91void wamp_broker_subscribe_arduino_topic(wamp_broker_t *broker, const char *value, int pos);
    6892void wamp_broker_subscribe_close(struct wamp_state *s);
    6993
     
    89113void wamp_broker_publish_inf(wamp_broker_t *broker, uint16_t pubId, int deviceId,
    90114        uint16_t devType, uint8_t epc, uint8_t pdc, uint8_t *p_edt);
     115void wamp_broker_publish_pin(wamp_broker_t *broker, uint16_t pubId, int deviceId,
     116        int pinno, uint16_t value);
    91117
    92118#endif // WAMP_BROKER_H
Note: See TracChangeset for help on using the changeset viewer.