浏览代码

Add directory and change structure

Bernard Xiong 8 年之前
父节点
当前提交
ff34d6d31e
共有 11 个文件被更改,包括 153 次插入18 次删除
  1. 5 4
      README.md
  2. 12 5
      SConscript
  3. 32 0
      doc/index.md
  4. 9 0
      example/SConscript
  5. 4 0
      example/example_hello.c
  6. 0 9
      hello.c
  7. 14 0
      inc/hello.h
  8. 29 0
      pkginfo/Kconfig
  9. 24 0
      pkginfo/package.json
  10. 9 0
      src/SConscript
  11. 15 0
      src/hello.c

+ 5 - 4
README.md

@@ -26,14 +26,15 @@ hello package遵循LGPLv2.1许可。
 
 在打开hello package后,当进行bsp编译时,它会被加入到bsp工程中进行编译。
 
-    [如果package需要做初始化,额外指出初始化步骤;或者指明对应导出的初始化宏]
+    [如果package需要做初始化,额外指出初始化步骤;或者指明对应导出的初始化宏]
 
 * 完整的API手册可以访问这个[链接](doc/index.md)
 
 ## 注意事项
 
-    [列出在使用这个package过程中需要注意的事项;列出可能出现的问题,以及解决办法]
+    [列出在使用这个package过程中需要注意的事项;列出可能出现的问题,以及解决办法]
 
-## 感谢
+## 联系方式 & 感谢
 
-...
+* 维护:Bernard Xiong
+* 主页:N/A

+ 12 - 5
SConscript

@@ -1,9 +1,16 @@
+# RT-Thread building script for bridge
+
+import os
 from building import *
 
-cwd     = GetCurrentDir()
-src     = Glob('*.c') + Glob('*.cpp')
-CPPPATH = [cwd]
+cwd = GetCurrentDir()
+objs = []
+list = os.listdir(cwd)
 
-group = DefineGroup('Hello', src, depend = ['PKG_USING_HELLO'], CPPPATH = CPPPATH)
+if GetDepend('PKG_USING_HELLO'):
+    for d in list:
+        path = os.path.join(cwd, d)
+        if os.path.isfile(os.path.join(path, 'SConscript')):
+            objs = objs + SConscript(os.path.join(d, 'SConscript'))
 
-Return('group')
+Return('objs')

+ 32 - 0
doc/index.md

@@ -0,0 +1,32 @@
+# Hello
+
+Hello 是RT-Thread上的一个演示用package。
+
+## API
+
+### `int hello_func(void);`
+
+hello函数
+
+ 参数              | 描述                                
+-------------------|---------------------------------------------
+`无`               | 无参数
+
+ 返回值            | 描述                                
+-------------------|---------------------------------------------
+0                  | 正确执行
+-1                 | 失败
+
+#### 例子
+
+``` c
+#include <hello.h>
+
+int func()
+{
+    hello_func();
+    
+    return 0;
+}
+
+```

+ 9 - 0
example/SConscript

@@ -0,0 +1,9 @@
+from building import *
+
+cwd     = GetCurrentDir()
+src     = Glob('*.c') + Glob('*.cpp')
+CPPPATH = [cwd]
+
+group = DefineGroup('Hello', src, depend = ['HELLO_USING_EXAMPLE'], CPPPATH = CPPPATH)
+
+Return('group')

+ 4 - 0
example/example_hello.c

@@ -1,8 +1,12 @@
 #include <rtthread.h>
 #include <finsh.h>
 
+#include <hello.h>
+
 int hello_test(int argc, char** argv)
 {
+    hello_func();
+
     return 0;
 }
 MSH_CMD_EXPORT(hello_test, hello API test);

+ 0 - 9
hello.c

@@ -1,9 +0,0 @@
-#include <rtthread.h>
-#include <finsh.h>
-
-int hello_func(int argc, char** argv)
-{
-    rt_kprintf("Hello RT-Thread!\n");
-    return 0;
-}
-MSH_CMD_EXPORT(hello_func, say hello);

+ 14 - 0
inc/hello.h

@@ -0,0 +1,14 @@
+#ifndef PKG_HELLO_H__
+#define PKG_HELLO_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int hello_func(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif

+ 29 - 0
pkginfo/Kconfig

@@ -0,0 +1,29 @@
+config PKG_USING_HELLO
+    bool "hello: the hello example package"
+    default n
+
+if PKG_USING_HELLO
+
+    config PKG_HELLO_PATH
+        string
+        default "/packages/misc/hello"
+
+    choice
+        prompt "version"
+        default PKG_USING_HELLO_LATEST_VERSION
+        help 
+            Select the version of hello
+
+        config PKG_USING_HELLO_V100
+            bool "v1.0.0"
+
+        config PKG_USING_HELLO_LATEST_VERSION
+            bool "latest"
+    endchoice
+
+    config PKG_HELLO_VER
+        string
+        default "v1.0.0" if PKG_USING_HELLO_V100
+        default "latest" if PKG_USING_HELLO_LATEST_VERSION
+
+endif

+ 24 - 0
pkginfo/package.json

@@ -0,0 +1,24 @@
+{
+  "name": "hello",
+  "author" : "Bernard Xiong",
+  "description": "A hello package for rt-thread",
+  "keywords": [
+    "hello",
+    "example"
+  ],
+  "readme": "A hello package for rt-thread",
+  "license" : "LGPLv2.1",
+  "site": [
+    {
+      "version": "v1.0.0",
+      "URL": "https://github.com/BernardXiong/hello/archive/v1.0.0.zip",
+      "filename": "hello-1.0.0.zip"
+    },
+    {
+      "version": "latest",
+      "URL": "https://github.com/BernardXiong/hello.git",
+      "filename": "hello.zip",
+      "VER_SHA": "master"
+    }
+  ]
+}

+ 9 - 0
src/SConscript

@@ -0,0 +1,9 @@
+from building import *
+
+cwd     = GetCurrentDir()
+src     = Glob('*.c') + Glob('*.cpp')
+CPPPATH = [cwd + '/../inc']
+
+group = DefineGroup('Hello', src, depend = ['PKG_USING_HELLO'], CPPPATH = CPPPATH)
+
+Return('group')

+ 15 - 0
src/hello.c

@@ -0,0 +1,15 @@
+#include <rtthread.h>
+
+int hello_func(void)
+{
+    rt_kprintf("Hello RT-Thread!\n");
+    return 0;
+}
+
+int hello_init(void)
+{
+    rt_kprintf("hello package initialized.\n");
+
+    return 0;
+}
+INIT_APP_EXPORT(hello_init);