Просмотр исходного кода

Merge pull request #49 from yangfasheng/master

update rtthread-port
yangfasheng 7 лет назад
Родитель
Сommit
e13b34cdbb

+ 1 - 1
rtthread-port/jerry_buffer.c

@@ -503,7 +503,7 @@ DECLARE_HANDLER(concat)
             return jerry_create_undefined();
         }
 
-        if (target->bufsize == 0 || source->bufsize < 0) return this_value;
+        if (target->bufsize == 0 || source->bufsize == 0) return this_value;
 
         ptr = realloc(source->buffer, source->bufsize + target->bufsize);
         if (ptr)

+ 8 - 0
rtthread-port/jerry_event.c

@@ -444,6 +444,13 @@ void js_destroy_emitter(jerry_value_t obj)
     }
 }
 
+DECLARE_HANDLER(destroy)
+{
+    js_destroy_emitter(this_value);
+ 
+    return jerry_create_undefined();
+}
+
 static void js_event_init_prototype(void)
 {
     if (_js_emitter_prototype == 0)
@@ -457,6 +464,7 @@ static void js_event_init_prototype(void)
         REGISTER_METHOD_NAME(_js_emitter_prototype, "removeEvent", remove_event);
         REGISTER_METHOD_NAME(_js_emitter_prototype, "removeAllListeners", remove_all_listeners);
         REGISTER_METHOD_NAME(_js_emitter_prototype, "eventNames", get_event_names);
+        REGISTER_METHOD(_js_emitter_prototype, destroy);
 
         jerry_set_object_native_pointer(_js_emitter_prototype, NULL, &event_proto_type_info);
     }

+ 19 - 14
rtthread-port/jerry_message.c

@@ -118,13 +118,6 @@ DECLARE_HANDLER(send)
     return jerry_create_boolean(result);
 }
 
-DECLARE_HANDLER(destroy)
-{
-    js_destroy_emitter(this_value);
- 
-    return jerry_create_boolean(true);
-}
-
 DECLARE_HANDLER(Message)
 {
     jerry_value_t info = 0;
@@ -147,10 +140,9 @@ DECLARE_HANDLER(Message)
         return jerry_create_undefined();
     }
 
-    REGISTER_METHOD(js_message_obj, send);
-    REGISTER_METHOD(js_message_obj, destroy);
-
     js_make_emitter(js_message_obj, jerry_create_undefined());
+    
+    REGISTER_METHOD(js_message_obj, send);
 
     jerry_set_object_native_pointer(info, NULL, &js_message_info);
     js_set_property(js_message_obj, "info", info);
@@ -175,9 +167,22 @@ int js_message_init(void)
     return 0;
 }
 
-rt_bool_t js_msg_test(void)
+#ifdef RT_USING_FINSH
+#include <finsh.h>
+int js_msg_test(int argc, char** argv)
 {
-    char *data = "jerry message test!!!";
-    return js_message_send("test", (rt_uint8_t *)data, rt_strlen(data));
+    if (argc > 2)
+    {
+        rt_uint32_t cmd = atoi(argv[2]);
+        js_message_send(argv[1], (rt_uint8_t *)&cmd, 4);
+    }
+    else if (argc > 1)
+    {
+        rt_uint32_t cmd = atoi(argv[1]);
+        js_message_send("test", (rt_uint8_t *)&cmd, 4);
+    }
+    
+    return 0;
 }
-MSH_CMD_EXPORT(js_msg_test, jerry message test);
+MSH_CMD_EXPORT(js_msg_test, send msg to JS by test);
+#endif

+ 7 - 7
rtthread-port/jerry_mqtt.h

@@ -20,14 +20,14 @@ struct mqtt_callback_info
     int return_count;
     jerry_value_t* return_value;
     char* event_name;
-}typedef mqtt_cbinfo_t;
-    
+} typedef mqtt_cbinfo_t;
+
 struct mqtt_client_info
 {
     jerry_value_t this_value;
     int subCount; //the count of topics subscribed
     MQTTClient* client;
-    
+
     struct js_callback* event_callback;
     struct js_callback* fun_callback;
     struct js_callback* close_callback;
@@ -36,12 +36,12 @@ struct mqtt_client_info
     {
         char* topic;
         jerry_value_t js_func;
-    }callbackHandler[MAX_MESSAGE_HANDLERS];
-    
+    } callbackHandler[MAX_MESSAGE_HANDLERS];
+
     rt_sem_t sem;
-}typedef mqtt_info_t;
+} typedef mqtt_info_t;
 
 
 #endif
 
-#endif
+#endif

+ 4 - 0
rtthread-port/jerry_net.c

@@ -2,6 +2,8 @@
 #include "jerry_net.h"
 /* manage the pipe of socket */
 
+#ifdef RT_USING_LWIP
+
 #undef PIPE_BUFSZ
 #define PIPE_BUFSZ    512
 
@@ -1484,3 +1486,5 @@ jerry_value_t jerry_net_init()
 }
 
 JS_MODULE(net, jerry_net_init)
+
+#endif

+ 4 - 0
rtthread-port/jerry_net.h

@@ -1,6 +1,8 @@
 #ifndef JERRY_NET_H__
 #define JERRY_NET_H__
 
+#ifdef RT_USING_LWIP
+
 #include <rtthread.h>
 #include <unistd.h>
 #include <netdb.h>
@@ -110,3 +112,5 @@ struct close_callback_info
 } typedef net_closeInfo_t;
 
 #endif
+
+#endif